Skip to content

Production-ready Model Context Protocol (MCP) server implementations in .NET, Docker, and Azure Functions. Reference architecture for MCP tooling.

Notifications You must be signed in to change notification settings

nsmaassel/HelloMCP

Repository files navigation

HelloMCP: Production-Ready Model Context Protocol Servers

Comprehensive MCP implementations in .NET, Docker, and Azure Functions

References:

This project demonstrates multiple production-ready approaches to creating Model Context Protocol (MCP) servers, from learning implementations to enterprise-grade solutions:

πŸš€ Featured: Official .NET MCP SDK Server ⭐

NEW: mcp-sdk-dotnet/ β€” Production-ready MCP server using Microsoft's official SDK

  • βœ… Official Microsoft MCP SDK with full protocol compliance
  • βœ… 20+ Advanced Tools across 6 categories (system, web, diagnostics, monitoring)
  • βœ… Docker & VS Code Integration ready
  • βœ… Attribute-based tool registration with dependency injection
  • βœ… Real-time performance monitoring and health checks
  • βœ… Comprehensive validation & testing built-in

πŸ“ All Implementations

Implementation Status Architecture Best For
πŸ† MCP SDK .NET βœ… Production Official Microsoft SDK, stdio transport Enterprise & Production
🐳 Docker MCP βœ… Complete Containerized REST API Cloud Deployment
⚑ .NET MCP βœ… Complete Custom HTTP implementation Learning & Experimentation
☁️ Azure Functions 🚧 In Progress Serverless architecture Serverless & Auto-scaling

🎯 Quick Start

Option 1: Official SDK Server (Recommended)

cd mcp-sdk-dotnet
dotnet run
# Ready for VS Code Insiders integration!

Option 2: Docker Production Deployment

cd docker-mcp
docker-compose up -d
# Accessible at http://localhost:5090

Option 3: Custom .NET Development Server

cd dotnet-mcp/McpServer
dotnet run
# Development server with hot reload

Project Roadmap

For a comprehensive development plan, milestones, and learning objectives, see the Project Roadmap document.

πŸ› οΈ MCP SDK Server Features (mcp-sdk-dotnet/)

The flagship implementation using Microsoft's official ModelContextProtocol NuGet packages:

πŸ”§ System Tools

  • GetSystemInfo - Comprehensive system information and hardware specs
  • MonitorResources - Real-time CPU, memory, and performance monitoring
  • ForceGarbageCollection - Memory optimization with before/after metrics

πŸ“ Text & Analysis

  • Echo - Connection testing and message validation
  • CompleteText - Advanced text completion with statistical analysis
  • AnalyzeData - JSON data analysis and processing

🌐 Web Utilities

  • FetchAndAnalyze - HTTP request analysis with content inspection
  • HealthCheck - Multi-URL health monitoring and uptime checks
  • NetworkDiagnostics - DNS resolution and connectivity testing

πŸ” Diagnostics & Health

  • GetServerDiagnostics - Complete server health and configuration analysis
  • ListAvailableTools - Dynamic tool discovery and documentation
  • PerformHealthCheck - Comprehensive health checks with external dependencies
  • ValidateProtocolCompliance - MCP protocol compliance validation

πŸ“Š Performance Monitoring

  • GetPerformanceMetrics - Real-time server performance statistics
  • GetConfigurationStatus - Configuration validation and status
  • OptimizeMemory - Memory optimization with detailed analytics

⚑ Advanced Processing

  • ProcessStructuredData - JSON data aggregation, filtering, and transformation
  • AnalyzeWebContent - Web content analysis with multiple analysis types
  • GenerateSystemReport - Detailed system and performance reporting

🎨 VS Code Integration

For VS Code Insiders Users:

  1. Add to your mcp.json:
{
  "mcpServers": {
    "DotNet MCP SDK": {
      "command": "dotnet",
      "args": ["run", "--project", "path/to/mcp-sdk-dotnet"],
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}
  1. Start using tools immediately:

    • Ask Copilot: "Use the GetSystemInfo tool to show my system specs"
    • Ask Copilot: "Use the GetPerformanceMetrics tool to check server health"
    • Ask Copilot: "Use the HealthCheck tool to test https://github.com"
  2. Verification script included:

cd mcp-sdk-dotnet
.\verify-mcp-integration.ps1

πŸ—οΈ Architecture Comparison

Feature SDK Server Custom Server Docker Server
Protocol Official SDK Manual Implementation REST API
Transport Stdio/JSON-RPC HTTP/REST HTTP/REST
Tools 20+ Advanced 8 Basic 8 Basic
Monitoring Built-in Basic Basic
Integration VS Code Native External API External API
Performance Optimized Good Containerized
Development Rapid Custom Portable

πŸ§ͺ Testing & Validation

All implementations include comprehensive testing:

  • Built-in validation: dotnet run --validate
  • Docker health checks: Automatic container health monitoring
  • Performance benchmarks: Real-time metrics and analytics
  • Protocol compliance: MCP specification validation

πŸ“š Learning Path

This project provides a progressive learning experience for MCP development:

  1. πŸŽ“ Start with SDK Server (mcp-sdk-dotnet/) - Learn MCP concepts with production-ready tools
  2. πŸ” Explore Custom Implementation (dotnet-mcp/) - Understand protocol internals
  3. 🐳 Deploy with Docker (docker-mcp/) - Master containerization and deployment
  4. ☁️ Scale with Azure Functions (azure-functions-mcp/) - Enterprise serverless architecture

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-tool
  3. Follow MCP best practices (see .github/instructions/)
  4. Add comprehensive tests
  5. Submit a pull request

πŸ“„ Project Documentation

🏷️ License

MIT License - see LICENSE for details.


⭐ Star this repository if you find it helpful for MCP development!

Built with ❀️ for the Model Context Protocol community.

About

Production-ready Model Context Protocol (MCP) server implementations in .NET, Docker, and Azure Functions. Reference architecture for MCP tooling.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •