ES365.Inventory.McpServer 1.0.0

dotnet tool install --global ES365.Inventory.McpServer --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local ES365.Inventory.McpServer --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#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

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:

  1. Query current ownership details
  2. Validate the current owner
  3. Execute the ownership transfer
  4. 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:

  1. Bearer Token (Recommended): Provide your own token
  2. Device Code: Interactive browser-based authentication
  3. Silent: Uses cached credentials
  4. 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

  1. Create a NuGet.org account
  2. Generate an API key from your NuGet.org profile
  3. 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

  1. Configure MCP: Add the development configuration to your mcp.json
  2. Test Tools: Try basic operations like querying ownership
  3. Verify Auth: Test authentication flows
  4. Check Logs: Monitor console output for debugging

๐Ÿ“‹ Available Tools

Area Ownership

  • transfer_area_ownership - Transfer ownership between users
  • query_area_ownership - Query ownership data with KQL

Work Items

  • create_work_item - Create new work items
  • update_work_item - Update existing work items
  • list_work_items - Query work items with WIQL

Test Cases

  • create_test_case - Create test cases with steps
  • query_test_cases - Find test cases
  • get_test_case_details - Get detailed test case info

Git Operations

  • git_clone_repository - Clone repositories locally
  • git_create_branch - Create new branches
  • git_commit_changes - Commit changes
  • git_push_changes - Push to remote
  • git_create_pull_request - Create pull requests

Analysis Tools

  • get_pr_basic_info - Get pull request metadata
  • get_pr_detailed_changes - Analyze file changes
  • get_pr_test_impact - Test coverage analysis
  • get_repository_context - Repository insights

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. 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
{
  "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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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