Skip to content

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

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •