使用说明
MCP平台
一个用于运行具有通用传输支持的模型上下文协议(MCP)服务的综合平台。该平台通过支持stdio、HTTP、WebSocket和SSE传输的强大基础设施,为多个AI编码助手提供了一个统一的接口。
特性
核心平台
- 🌟 统一MCP网关:所有MCP服务器的单一入口点,具有自动工具命名空间
- 通用运输支持:stdio、HTTP、WebSocket和SSE传输
- 服务发现:浏览和搜索可用的MCP服务
- 服务管理:安装、卸载和管理服务生命周期
- 流程管理:具有自动重启和资源监控功能的高级流程生命周期
- API网关:所有传输类型的统一API,具有自动路由
安全和身份验证
- 认证:API密钥、JWT和OAuth2支持
- 速率限制:基于Redis的速率限制,具有多种策略
- 网络安全:服务隔离、CORS管理和TLS支持
- 安全中间件:Helmet.js集成,XSS保护
监测和可观察性
- 健康监测:实时服务健康检查和状态跟踪
- 指标收集:Prometheus与定制出口商的集成
- 结构化日志记录:基于Winston的轮换日志记录
- 错误跟踪:哨兵与警报路由集成
- 交通仪表板:交通连接的实时可视化
开发者体验
- 多语言SDK:JavaScript/TypeScript、Python和Go
- CLI工具:具有传输命令的综合命令行界面
- IDE扩展:VS Code、IntelliJ和Vim/Neovim插件
- 事件系统:订阅平台和服务活动
- 热重新加载:自动重启服务的开发模式
安装
平台安装
# Linux/macOS/WSL
curl -fsSL https://raw.githubusercontent.com/Consiliency/mcp-platform/main/mcp-local-setup/install.sh | bash
# Windows PowerShell
iwr -useb https://raw.githubusercontent.com/Consiliency/mcp-platform/main/mcp-local-setup/install.ps1 | iex
SDK安装(本地开发)
SDK目前可用于本地开发。包管理器分发计划在未来的版本中发布。
JavaScript/TypeScript
# Clone the repository
git clone https://github.com/Consiliency/mcp-platform.git
# In your project's package.json:
"dependencies": {
"@mcp/sdk": "file:../path/to/mcp-platform/sdk/js"
}
python
# Add to your Python path
import sys
sys.path.append('/path/to/mcp-platform/sdk/python')
去
// In your go.mod file:
replace github.com/modelcontextprotocol/go-sdk => ../path/to/mcp-platform/sdk/go
快速开始
平台命令
# Start all services
mcp start
# Check service status
mcp status
# Start unified gateway
mcp gateway start
# Configure AI assistant (e.g., Claude Code)
claude mcp add unified-gateway --transport sse http://localhost:8090/mcp \
--header "X-API-Key: your-gateway-api-key"
# Generate client configuration
mcp config generate --client claude-code
# View transport connections
mcp transport status
# Install a new service
mcp install postgres-mcp
# Start service with specific transport
mcp server start filesystem --transport http
# View real-time metrics
mcp transport metrics
# Access dashboards
open http://localhost:8080/dashboard
open http://localhost:8080/gateway.html
JavaScript示例
const MCPClient = require('@mcp/sdk');
async function main() {
// Create client
const client = new MCPClient({
apiKey: 'your-api-key'
});
// Authenticate
await client.connect('your-api-key');
// List available services
const services = await client.listServices({
category: 'database'
});
// Install and connect to a service
const db = await client.connectService('postgres-mcp');
// Call service methods
const result = await db.call('query', {
sql: 'SELECT * FROM users'
});
}
Python示例
import asyncio
from mcp_sdk import MCPClient
async def main():
async with MCPClient({'api_key': 'your-api-key'}) as client:
await client.connect('your-api-key')
# List services
services = await client.list_services({'category': 'database'})
# Connect to service
db = await client.connect_service('postgres-mcp')
# Query database
result = await db.query({'sql': 'SELECT * FROM users'})
asyncio.run(main())
Go示例
package main
import (
"context"
"log"
mcp "github.com/modelcontextprotocol/go-sdk"
)
func main() {
// Create client
client := mcp.NewClient(mcp.Config{
APIKey: "your-api-key",
})
ctx := context.Background()
// Authenticate
_, err := client.Connect(ctx, "your-api-key")
if err != nil {
log.Fatal(err)
}
// List services
services, err := client.ListServices(ctx, map[string]interface{}{
"category": "database",
})
// Connect to service
db, err := client.ConnectService(ctx, "postgres-mcp")
// Query database
result, err := db.Call(ctx, "query", map[string]interface{}{
"sql": "SELECT * FROM users",
})
}
建筑
平台体系结构
MCP平台使用微服务架构,具有:
- 传输层:通用传输支持(stdio、HTTP、WebSocket、SSE)
- API网关:统一的API将请求路由到适当的传输
- 流程经理:具有资源监控的生命周期管理
- 服务注册中心:通过传输元数据和自动检测得到增强
- 监控堆栈:Prometheus、Grafana和自定义仪表板
SDK架构
SDK采用分层架构构建:
- 核心SDK:实现MCP协议的低级接口
- 语言SDK:每种语言的高级惯用API
- 服务代理:个人服务的类型安全包装
- 事件系统:实时通知和监控
与IDE和CLI集成
SDK旨在与以下内容无缝集成:
- IDE扩展:VS Code、IntelliJ和其他编辑器
- CLI插件:使用自定义命令扩展MCP CLI
- CI/CD管道:自动化服务部署和测试
- 监视工具:跟踪服务运行状况和绩效
运输支持
支持的交通工具
- 标准:本地可执行文件的基于进程的通信
- 超文本传输协议:带有可选SSE的RESTful API,用于服务器敏感事件
- 双向通信:双向实时通信
- 上海证券交易所:服务器发送了流式更新事件
运输选择
平台根据以下情况自动检测适当的运输:
- 注册表中的服务配置
- 环境变量
- 服务命名模式
- 明确的运输规范
现状和路线图
现在什么有效
- ✅ 通用传输支持(stdio、HTTP、WebSocket、SSE)
- ✅ 带有仪表板UI的服务器目录
- ✅ 多包管理器支持
- ✅ 本地SDK开发
- ✅ 基本身份验证(JWT、API密钥)
- ✅ 健康监测和指标
- ✅ IDE扩展(VS代码、IntelliJ结构)
即将推出
- 📦 将SDK发布到npm、PyPI和Go模块
- 🔐 全面用户管理和RBAC
- 🔄 备份和恢复功能
- 📊 高级监控和分布式跟踪
- 🏢 企业功能(多租户、SSO)
有关详细的功能状态,请参阅 功能.md.
发展
运行测试
# Run all tests
npm test
# Run transport-specific tests
npm test tests/unit/transports/
# Run integration tests
python3 tests/test_phase7_integration.py
建筑文件
npm run docs
贡献
看 贡献.md 关于贡献指南。
版本历史记录
- v6.0:第7阶段-通用传输支持
- v5.0:第6阶段-生产就绪,具有完全可观察性
- v4.0:第5阶段-通过SDK和IDE扩展实现生态系统增长
- v3.0:第4阶段-企业功能
- v2.0:第3阶段-生产准备
- v1.0:第2阶段-开发人员体验
- v1.0-beta:第1阶段-核心功能
许可证
MIT许可证-有关详细信息,请参阅许可证文件
