A powerful Model Context Protocol (MCP) aggregator built with .NET 9.0 that enables seamless integration and management of multiple MCP servers. This project provides both HTTP and command-line interfaces for aggregating various MCP servers into a unified platform.
- Multi-Protocol Support: Aggregates MCP servers via stdio, HTTP, and SSE protocols
- Web Management Interface: Intuitive Blazor-based UI for managing MCP servers and client applications
- MCP Store: Built-in marketplace for discovering and installing pre-configured MCP servers
- Authentication: Built-in API key authentication for secure access
- Real-time Inspector: Monitor and inspect MCP server communications
- Client App Management: Configure different client applications with specific MCP server access
- Tool Aggregation: Seamlessly combine tools from multiple MCP servers
- Docker Support: Ready-to-deploy containerized solution
- Multi-environment Support: Configurable for development and production environments
Get started quickly using the pre-built Docker image:
# Run with default configuration
docker run -p 8080:8080 ghcr.io/sheng-jie/mcp-links:v0.4
# Run with custom configuration files
docker run -p 8080:8080 \
-v $(pwd)/mcp.json:/app/mcp.json \
-v $(pwd)/client-apps.json:/app/client-apps.json \
ghcr.io/sheng-jie/mcp-links:v0.4The application will be available at http://localhost:8080 with the MCP endpoint at /mcp.
- .NET 9.0 SDK
- Node.js (for running Node-based MCP servers)
- Python 3.x with uv/uvx (for Python-based MCP servers)
Run the web-based management interface:
dotnet run --project src/Mcp.Links.Http/Mcp.Links.Http.csprojThe server will start on http://localhost:5146 with the MCP endpoint available at /mcp.
Visit http://localhost:5146/mcp/env-check to check if your local environment is satisfied.
{
"mcpServers": {
"fetch": {
"enabled": true,
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"],
"env": {
"node-env": "dev",
"port": "3300"
}
},
"time": {
"enabled": true,
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=Asia/Shanghai"]
},
"microsoft-learn": {
"enabled": false,
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
}{
"mcpClients": [
{
"appId": "vscode",
"appKey": "your-api-key-here",
"name": "VS Code",
"description": "VS Code MCP client",
"mcpServerIds": ["fetch", "time"]
}
]
}Build and run with Docker:
# Build the image
docker build -t mcp-links .
# Run the container
docker run -p 8080:8080 \
-v $(pwd)/mcp.json:/app/mcp.json \
-v $(pwd)/client-apps.json:/app/client-apps.json \
mcp-linksSpecify a custom configuration file:
dotnet run --project src/Mcp.Links.Http/Mcp.Links.Http.csproj --mcp-file=/path/to/custom-mcp.json- Python-based: Using
uvxorpipinstalled packages - .NET-based: Using
dnxcommand with .NET tools - Node.js-based: Using
npxor globally installed packages
- RESTful MCP servers with standard HTTP endpoints
- Custom authentication header support
- Real-time streaming MCP servers
- Event-based communication
- AI Development: Aggregate multiple AI tools and services into a single MCP interface
- Enterprise Integration: Centralize various business tools and APIs
- Development Workflow: Combine code analysis, documentation, and deployment tools
- Research Platform: Integrate data analysis, visualization, and machine learning tools
- Rapid Prototyping: Quickly discover and integrate MCP servers from the built-in store
- Multi-client Management: Configure different tool sets for various AI clients (VS Code, Cursor, Claude Desktop)
- API Key Authentication: Secure access control for client applications
- Client-specific Server Access: Granular permissions for different client applications
- Environment Isolation: Separate configurations for different environments
- Request Validation: Built-in request validation and error handling
The web management interface provides:
- Server Management: Add, edit, disable/enable MCP servers
- MCP Store: Browse and install MCP servers from a curated marketplace featuring 40+ pre-configured servers including:
- AI Services: Time conversion, web search (Brave, Perplexity, Zhipu), image generation (EverArt, MiniMax)
- Development Tools: GitHub/GitLab integration, Figma context, browser automation (Playwright, Puppeteer)
- Database Access: PostgreSQL, Redis, Neon database management
- Content & Communication: Slack integration, email sending (Mailtrap), note-taking (Flomo)
- Location Services: Google Maps, Baidu Maps, Amap Maps with geocoding and routing
- Specialized Tools: Blender 3D modeling, sequential thinking, AWS knowledge base retrieval
- Real-time Monitoring: View server status and communication logs
- Tool Inspector: Browse available tools from all connected servers
- Client App Management: Configure API keys and server access for different clients
- Configuration Editor: Direct editing of JSON configuration files
- Internationalization: Support for multiple languages (English, Chinese)
- Health Checks: Monitor the status of all connected MCP servers
- Request Logging: Track all MCP communications for debugging
- Error Handling: Comprehensive error reporting and recovery
- Performance Metrics: Monitor response times and server performance
- Update your
mcp.jsonconfiguration - Restart the application or use hot-reload
- Verify connectivity through the web interface
The system supports extending with custom transport implementations by implementing the transport interfaces in the core library.
Contributions are welcome! Please feel free to submit pull requests, report issues, or suggest new features.
This project is licensed under the terms specified in the LICENSE.txt file.
Built with ❤️ using .NET 9.0, AntBlazor, and the MCP C# SDK
