📦 MCP Builder - MCP 服务器构建器
这是什么?
MCP Builder 是一个完整的指南,教你如何创建高质量的 MCP (Model Context Protocol) 服务器。MCP 服务器就像是 LLM 的"工具箱",让 AI 能够调用外部 API、访问数据库、操作第三方服务。
想象一下:如果 LLM 是一个聪明的助手,MCP 服务器就是教它如何使用 GitHub、Slack、数据库等工具的"使用手册"。
能做什么?
核心功能一览
- 🔧 完整开发流程:从零到一构建 MCP 服务器的四阶段指南
- 🌐 多语言支持:TypeScript(推荐)或 Python 任选
- 📚 最佳实践库:工具命名、错误处理、分页等经验总结
- ✅ 质量保障:代码检查清单 + MCP Inspector 测试工具
- 📊 效果评估:创建 10 个问题验证 MCP 服务器的实用性
适合谁用?
- 后端开发者:想让 AI 调用自己的 API
- DevOps 工程师:需要 AI 操作 CI/CD、监控系统
- 数据工程师:希望 AI 能查询数据库、生成报表
- 产品经理:想了解如何将现有系统与 AI 集成
典型使用场景
场景 1:GitHub 集成 🐙
需求:让 AI 能够管理 GitHub 仓库
// 创建 Issue 工具
github_create_issue(owner, repo, title, body)
→ 创建成功: Issue #42
// 列出仓库工具
github_list_repos(username, limit=10)
→ 返回用户的前 10 个仓库
价值:AI 可以自动创建 bug 报告、管理项目任务
场景 2:数据分析助手 📊
需求:让 AI 查询销售数据库并生成报表
# SQL 查询工具
@mcp.tool()
async def query_sales(start_date, end_date):
"""查询指定时间段的销售数据"""
return execute_sql(f"SELECT * FROM sales WHERE...")
价值:业务人员用自然语言提问,AI 自动查询并分析数据
场景 3:自动化运维 🔄
需求:让 AI 管理 CI/CD 流水线
// Jenkins 工具
jenkins_trigger_build(job_name, params)
jenkins_get_logs(build_number)
jenkins_list_jobs()
价值:AI 可以触发部署、查看日志、诊断构建失败原因
快速开始
5 分钟了解核心概念
什么是 MCP?
- MCP = Model Context Protocol(模型上下文协议)
- 让 LLM 能够调用外部工具的标准协议
- 类似于 REST API,但专为 AI 设计
MCP 服务器的组成
MCP 服务器 ├── 工具定义(Tools):AI 可以调用的函数 ├── 输入模式(Schema):参数验证规则 ├── 错误处理:告诉 AI 出错时怎么办 └── 响应格式:JSON 或 Markdown开发四步骤
1. 研究和规划 → 了解 MCP 协议和最佳实践 2. 实现代码 → 编写工具和 API 集成 3. 测试验证 → 使用 MCP Inspector 测试 4. 创建评估 → 10 个问题验证实用性
代码示例:最简单的 MCP 工具
TypeScript 版本:
import { Server } from '@modelcontextprotocol/sdk'
const server = new Server({ name: 'my-mcp', version: '1.0.0' })
// 注册一个简单的工具
server.registerTool({
name: 'get_weather',
description: '获取指定城市的天气',
inputSchema: {
type: 'object',
properties: {
city: { type: 'string', description: '城市名称' }
},
required: ['city']
},
async handler({ city }) {
const weather = await fetchWeather(city)
return {
content: [{
type: 'text',
text: `${city}的天气:${weather.condition},温度 ${weather.temp}°C`
}]
}
}
})
Python 版本:
from fastmcp import FastMCP
mcp = FastMCP("my-mcp")
@mcp.tool()
async def get_weather(city: str) -> str:
"""获取指定城市的天气"""
weather = await fetch_weather(city)
return f"{city}的天气:{weather['condition']},温度 {weather['temp']}°C"
为什么选择 TypeScript?
MCP Builder 推荐使用 TypeScript,原因:
- ✅ 官方 SDK 质量高:功能完善、文档齐全
- ✅ AI 友好:模型擅长生成 TypeScript 代码
- ✅ 类型安全:编译时发现错误
- ✅ 广泛兼容:在多种环境中运行(Node.js、Deno、浏览器)
但 Python 也完全可用,特别适合数据科学和后端开发者。
关键设计原则
1. API 覆盖 vs. 工作流工具
问题:应该提供底层 API 还是高级工作流?
答案:优先全面的 API 覆盖
❌ 只提供高级工具
create_github_project() // 太具体,灵活性差
✅ 提供底层 + 组合
github_create_repo()
github_add_collaborator()
github_create_issue()
// AI 可以组合这些工具实现复杂流程
2. 清晰的工具命名
好的命名:一致的前缀 + 动作 + 对象
✅ 推荐
github_create_issue
github_list_repos
github_merge_pull_request
❌ 避免
create // 太模糊
issue_new // 不一致
merge_pr // 缩写不清晰
3. 可操作的错误消息
普通错误:
Error: Repository not found
优秀错误:
仓库 'user/repo' 未找到。请检查:
1. 仓库名称是否正确
2. 您是否有访问权限
3. 仓库是否为私有(如使用公开 token)
提示:使用 github_list_repos 查看可访问的仓库
下一步
选择您的路径:
- 快速入门:阅读 📖 完整指南 了解详细实现步骤
- 查看示例:TypeScript 实现指南
- 了解评估:如何创建 10 个测试问题
相关技能:
- Webapp Testing - 测试 Web 应用
- Web Artifacts Builder - 构建 Web 组件