MCP 协议已成为 AI 工具调用的事实标准(Linux 基金会 AAIF 治理,9700万+安装),A2A 协议则补齐了 Agent 间通信的最后一块拼图。本阶段深入掌握 MCP+A2A 双协议体系,学会开发自定义 MCP 服务器,构建多工具协同的智能化工作流。
MCP 已从 Anthropic 主导的协议发展为 Linux 基金会 AAIF 治理的行业事实标准,拥有 9700万+安装量、5000+ Server、81000+ GitHub Stars。2026-07-28 规范带来重大变更:无状态化、Streamable HTTP 传输、OAuth 2.1。
Google 2025 年 4 月推出,150+ 组织参与,2026 年 5 月发布 v1.0。MCP 解决 Agent-to-Tool,A2A 解决 Agent-to-Agent,双协议构建完整 Agent 生态。
/.well-known/agent.json 自动发现可用 Agent 及其能力动手开发自己的 MCP Server,让 Agent 调用你的自定义工具。支持 Python 和 TypeScript 两种语言。
# pip install mcp
from mcp.server import Server
from mcp.types import Tool, TextContent
# 创建 MCP Server
server = Server("my-tools")
@server.list_tools()
async def list_tools():
return [
Tool(
name="query_database",
description="查询业务数据库",
inputSchema={
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "SQL查询语句"
}
},
"required": ["sql"]
}
)
]
@server.call_tool()
async def call_tool(name, arguments):
if name == "query_database":
result = execute_sql(arguments["sql"])
return [TextContent(
type="text",
text=str(result)
)]
// npm install @modelcontextprotocol/sdk
import { McpServer } from
"@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from
"@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// 创建 MCP Server
const server = new McpServer({
name: "my-tools",
version: "1.0.0"
});
// 注册工具
server.tool(
"query_database",
"查询业务数据库",
{ sql: z.string().describe("SQL查询语句") },
async ({ sql }) => {
const result = await executeSQL(sql);
return {
content: [{
type: "text",
text: JSON.stringify(result)
}]
};
}
);
// 启动服务
const transport = new StdioServerTransport();
await server.connect(transport);
MCP 让 AI 能够调用外部工具,也意味着安全风险增加。必须建立完善的安全防护体系。
Hermes 是 Nous Research 开发的开源 Agent 框架,支持 MCP 协议,是学习和实践的理想平台。
mkdir -p d:\System\Docker\hermes
cd d:\System\Docker\hermes
端口说明:
| 8088 | Hermes Dashboard Web 界面 |
| 11435 | Hermes API 接口 |
services:
hermes:
image: nousresearch/hermes-agent:latest
container_name: hermes-agent
volumes:
- ./.hermes:/opt/data
environment:
- ANTHROPIC_API_KEY=your-api-key-here
- ANTHROPIC_BASE_URL=http://coding.zhengyuantech.cn
- HERMES_DASHBOARD=true
- GATEWAY_ALLOW_ALL_USERS=true
ports:
- "8088:9119"
- "11435:11434"
restart: unless-stopped
command: ["gateway"]
command: ["gateway"] 必须添加,否则无法启用 Web 界面HERMES_DASHBOARD=true 启用 DashboardGATEWAY_ALLOW_ALL_USERS=true 允许访问(生产环境需调整)ANTHROPIC_API_KEY=sk-your-api-key
ANTHROPIC_BASE_URL=http://coding.zhengyuantech.cn
配置默认模型 (config.yaml):
model:
default: "qwen3.6-plus"
provider: "anthropic"
base_url: "http://coding.zhengyuantech.cn"
可用模型列表:
| qwen3.6-plus | 通义千问3.6(推荐用于代码任务) |
| glm-5 | 智谱GLM-5 |
| MiniMax-M2.5 | MiniMax快速模型 |
| claude-opus-4.6 | Claude Opus |
cd d:\System\Docker\hermes
docker-compose up -d
验证服务状态:
# 查看容器状态
docker ps | findstr hermes
# 查看日志
docker-compose logs -f
访问地址:
# 交互式聊天
docker exec -it hermes-agent hermes chat
# 单次对话
docker exec hermes-agent hermes chat --prompt "Hello, Hermes!"
Dify v1.15.0 已原生支持 MCP 双向集成(既可作为 MCP Server 被外部调用,也可作为 MCP Client 调用外部工具),自定义 Adapter 作为深度定制的备选方案。
list_dify_apps - 列出所有 Dify 应用call_dify_chat_app - 调用 Dify 聊天应用get_app_info - 获取应用详细信息pip install -r requirements.txtdocker-compose down && docker-compose up -dhermes mcp add dify-mcp-adapterdocker-compose up -d结合 Hermes Agent、Dify MCP Adapter 和多个工具,构建自动化的智能工作流。
docker-compose psdocker-compose logs -fHERMES_DASHBOARD=trueconfig.yaml 有有效的 YAML 语法- "8089:9119" 替代 - "8088:9119"netstat -ano | findstr ":8088"
暂无笔记内容
你可以在这里添加自己在实践中总结的经验、遇到的问题和解决方案