MCP Server 架构图 (优化版)

MCP Server 架构图

基于 Model Context Protocol 规范的完整Server实现架构

MCP Protocol Interaction Sequence
1
Initialize
客户端发起连接和能力协商
2
Capabilities
服务器响应支持的功能列表
3
List Resources
枚举可用的工具和资源
4
Execute
执行工具调用或资源请求
5
Progress
发送执行进度通知
6
Response
返回执行结果和状态
MCP Server Core Architecture
Protocol Implementation Layer
Core
🔌 JSON-RPC 2.0 Handler
处理所有 JSON-RPC 2.0 协议消息的解析、验证和路由
MCP
📋 Server Information Manager
管理服务器元信息、版本和基本配置
Core
🤝 Capability Negotiator
处理客户端-服务器能力协商和兼容性检查
MCP
📊 Progress Reporter
支持长时间运行任务的进度通知机制
Core
🔔 Notification System
处理服务器主动通知和事件推送
Core
⚠️ Error Handler
统一的错误处理和标准化错误响应
Core Capabilities Layer
🛠️
Tools
可调用的工具和函数,支持参数验证和执行
📁
Resources
可访问的数据资源,支持多种格式和协议
📝
Prompts
可重用的提示模板,支持参数化和动态生成
🎯
Sampling
支持 LLM 采样请求和模型调用代理
🌳
Roots
根资源管理,提供资源层次结构
Execution Engine Layer
🔧 Tool Executor
工具执行引擎,处理工具调用的生命周期管理
📋 Resource Provider
资源提供引擎,处理资源访问和内容返回
✅ Parameter Validator
输入参数验证器,确保请求参数的正确性
🎨 Template Engine
提示模板渲染引擎,支持变量替换和条件逻辑
💾 Content Cache
智能缓存系统,提高资源访问和工具执行性能
🔒 Security Context
安全上下文管理,权限控制和访问验证
Transport Abstraction Layer
📤 Stdio Transport
标准输入输出传输,支持进程间通信
🌐 HTTP Transport
HTTP/HTTPS 传输,支持 REST API 和 Webhook
⚡ WebSocket Transport
WebSocket 传输,支持实时双向通信
🔧 Custom Transport
自定义传输协议扩展接口
🪶 Lightweight Server
单一功能专注,快速启动
最小化依赖,易于部署
简化的配置和管理
适合脚本化和自动化
低资源消耗
🏢 Enterprise Server
完整的安全认证体系
高可用和负载均衡
详细的监控和日志
企业级权限管理
合规性和审计支持
实际应用示例
Database Server
sql_query
table_schema
export_data
analyze_performance
提供数据库查询、分析和管理功能,支持多种数据库类型和复杂查询操作
Git Operations Server
git_commit
branch_manage
merge_request
code_review
提供 Git 版本控制操作,支持代码提交、分支管理和代码审查流程
Cloud API Server
deploy_service
scale_resources
monitor_metrics
manage_costs
集成云服务 API,提供资源部署、扩展和监控功能,支持多云环境
Knowledge Base Server
search_docs
extract_info
generate_summary
update_index
提供企业知识库访问和搜索,支持文档检索、信息提取和智能摘要
MCP Protocol Messages Examples
Initialize Request:
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": { "tools": {}, "resources": {}, "prompts": {} }, "clientInfo": { "name": "example-client", "version": "1.0.0" } } }
Tool Call Request:
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "sql_query", "arguments": { "query": "SELECT * FROM users WHERE active = true", "database": "production" } } }
Progress Notification:
{ "jsonrpc": "2.0", "method": "notifications/progress", "params": { "progressToken": "task-123", "progress": 0.7, "total": 1.0 } }
架构组件图例
Protocol Implementation Layer
Core Capabilities Layer
Execution Engine Layer
Transport Abstraction Layer
Lightweight Server Type
Enterprise Server Type

© 2025 YueGS