ES365.Inventory.McpServer
1.0.0
dotnet tool install --global ES365.Inventory.McpServer --version 1.0.0
dotnet new tool-manifest
dotnet tool install --local ES365.Inventory.McpServer --version 1.0.0
#tool dotnet:?package=ES365.Inventory.McpServer&version=1.0.0
nuke :add-package ES365.Inventory.McpServer --version 1.0.0
ES365 Inventory MCP Server
An MCP (Model Context Protocol) server for ES365 inventory management and Azure DevOps area ownership operations. This server provides AI assistants with tools to manage Azure DevOps area ownership, query ownership data, create work items, and manage Git repositories specifically for ES365 inventory systems.
๐ Features
Area Ownership Management
- Transfer Ownership: Transfer dev, test, PM, or triage ownership between users
- Query Ownership: Query current ownership information using KQL (Kusto Query Language)
- Multi-role Support: Handle all ownership roles in a single operation
- Validation: Verify current ownership before making changes
Azure DevOps Integration
- Work Item Management: Create, update, and query work items
- Test Case Management: Create and manage test cases with detailed steps
- Git Operations: Clone repositories, create branches, commit changes, push updates
- Pull Request Management: Create, list, and analyze pull requests
- Pipeline Management: Access build and release pipeline information
Authentication
- Multiple Auth Methods: Device code, silent, and interactive authentication
- Bearer Token Support: Use pre-obtained tokens for seamless integration
- Automatic Fallback: Try multiple authentication methods automatically
Advanced Features
- Repository Context Analysis: Get comprehensive repository insights
- Test Impact Analysis: Analyze how changes affect test coverage
- Code Change Analysis: Detailed analysis of pull request changes
- Risk Assessment: Evaluate pull request risk levels
๐ฆ Installation
Option 1: Install as Global Tool (Recommended)
dotnet tool install --global VaishnaGupta.ES365.Inventory.McpServer
Option 2: Use in MCP Configuration
Add to your mcp.json
configuration:
{
"servers": {
"es365-inventory": {
"type": "stdio",
"command": "es365-inventory-mcp"
}
}
}
Option 3: Development from Source
{
"servers": {
"SampleMcpServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<PATH TO PROJECT DIRECTORY>"
]
}
}
}
๐ ๏ธ Usage Examples
Transfer Area Ownership
Transfer dev ownership of area "OE\Engineering\Inventory" from "old@microsoft.com" to "new@microsoft.com"
The AI assistant will:
- Query current ownership details
- Validate the current owner
- Execute the ownership transfer
- Confirm the change
Create Work Items
Create a bug in project "MyProject" for area "MyProject\Core" with title "Login issue"
Analyze Pull Requests
Analyze the risk and test impact of pull request #123 in repository "MyRepo"
Git Operations
Clone repository "MyOrg/MyRepo" and create a new branch "feature/new-login"
๐ง Configuration
Authentication
The server supports multiple authentication methods:
- Bearer Token (Recommended): Provide your own token
- Device Code: Interactive browser-based authentication
- Silent: Uses cached credentials
- Interactive: Pop-up authentication (limited support)
Environment Variables
No special environment variables required - all authentication is handled through the tool parameters.
Required Permissions
- Azure DevOps: Work item read/write, repository access
- Area Ownership API: Internal Microsoft API access
- Kusto: Query permissions for ownership data
๐ Publishing to NuGet.org
Prerequisites
- Create a NuGet.org account
- Generate an API key from your NuGet.org profile
- Ensure your package ID is unique
Build and Publish
# Build the package
dotnet pack -c Release
# Publish to NuGet.org
dotnet nuget push bin/Release/*.nupkg --api-key <YOUR-API-KEY> --source https://api.nuget.org/v3/index.json
Using Published Package
Once published, users can install and use your MCP server:
{
"servers": {
"es365-inventory": {
"type": "stdio",
"command": "dnx",
"args": [
"VaishnaGupta.ES365.Inventory.McpServer"
]
}
}
}
๐งช Testing Locally
- Configure MCP: Add the development configuration to your
mcp.json
- Test Tools: Try basic operations like querying ownership
- Verify Auth: Test authentication flows
- Check Logs: Monitor console output for debugging
๐ Available Tools
Area Ownership
transfer_area_ownership
- Transfer ownership between usersquery_area_ownership
- Query ownership data with KQL
Work Items
create_work_item
- Create new work itemsupdate_work_item
- Update existing work itemslist_work_items
- Query work items with WIQL
Test Cases
create_test_case
- Create test cases with stepsquery_test_cases
- Find test casesget_test_case_details
- Get detailed test case info
Git Operations
git_clone_repository
- Clone repositories locallygit_create_branch
- Create new branchesgit_commit_changes
- Commit changesgit_push_changes
- Push to remotegit_create_pull_request
- Create pull requests
Analysis Tools
get_pr_basic_info
- Get pull request metadataget_pr_detailed_changes
- Analyze file changesget_pr_test_impact
- Test coverage analysisget_repository_context
- Repository insights
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Support
For issues and questions:
- Create an issue in the GitHub repository
- Check existing documentation
- Review the MCP specification
๐ Related Links
{
"servers": {
"SampleMcpServer": {
"type": "stdio",
"command": "dnx",
"args": [
"<your package ID here>",
"--version",
"<your package version here>",
"--yes"
]
}
}
}
More information
.NET MCP servers use the ModelContextProtocol C# SDK. For more information about MCP:
Refer to the VS Code or Visual Studio documentation for more information on configuring and using MCP servers:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 236 | 8/7/2025 |
Version 1.0.0:
- Initial release with Azure DevOps area ownership management
- Support for transferring dev, test, PM, and triage ownership
- Kusto query integration for ownership data
- Multiple authentication methods (device code, silent, interactive)
- Azure DevOps work item creation and management
- Git repository operations
- Build and release pipeline management