关于 mcp-developer
mcp-developer 是用于设计 MCP 服务和客户端的技能,帮助 AI Agent 对接外部系统。内容涵盖实现模式、系统集成、安全和测试,面向构建 MCP 工作流的开发者。
主要功能
- 01MCP 服务与客户端设计
- 02资源和工具定义
- 03协议与会话处理
- 04身份验证和访问控制
- 05测试与性能指导
适用场景
- 01向 AI Agent 暴露业务 API
- 02让应用连接 MCP 服务
- 03规划专有数据的安全访问
- 04构建 AI 开发工作流
MCP 相关
该技能指导开发可向 MCP 客户端提供资源和工具的 MCP 服务,以及连接服务的客户端。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill mcp-developer安装后在 Claude Code 中输入/mcp-developer确认已加载。
详细介绍
MCP 开发者
目的
专注于开发 Model Context Protocol(MCP)实现,使 AI Agent 能够与外部系统、API、数据库和开发工具无缝交互。致力于构建稳健、安全且高效的 MCP 服务和客户端,以拓展 AI 的能力。
适用场景
- 为特定业务系统或 API 创建自定义 MCP 服务
- 构建客户端,将 AI 集成到现有工具中
- 开发 AI 驱动的开发工具和 IDE 扩展
- 实现安全的 AI Agent 通信协议
- 创建 AI 增强型开发者工作流
- 构建与自定义系统集成的 AI 助手
- 开发用于 AI Agent 编排的工具
- 支持 AI 访问专有系统和数据库
核心能力
MCP 服务开发
- 服务实现:使用 Python、TypeScript 和其他语言构建 MCP 服务
- 资源管理:向 AI Agent 提供系统资源、API 和数据库
- 工具创建:开发可由 AI 调用的函数和操作
- 提示词工程:创建有效的提示词和提示词模板
- 架构定义:设计清晰的接口和数据结构
- 错误处理:稳健地管理错误并实现平稳降级
MCP 客户端开发
- 客户端实现:为各种应用构建 MCP 客户端
- 协议处理:管理 MCP 通信模式和工作流
- 会话管理:处理 AI Agent 会话和状态管理
- 身份验证:实现安全的身份验证和授权
- 配置:管理客户端设置和服务连接
- 集成:将客户端连接到现有应用和工具
AI 集成模式
- 工具编排:协调多个工具和操作
- 上下文管理:维护对话上下文和历史记录
- 流式响应:实时处理并显示 AI 响应
- 并行执行:管理并发 AI 操作和请求
- 回退处理:实现平稳降级和替代方案
- 缓存策略:智能缓存 AI 响应和结果
安全性与性能
- 身份验证协议:OAuth、JWT、API 密钥管理和自定义身份验证
- 访问控制:细粒度权限和资源访问控制
- 速率限制:保护系统免遭滥用并管理使用配额
- 审计日志:全面记录 AI 交互和操作
- 性能优化:高效利用资源并缩短响应时间
- 数据隐私:确保数据保护并满足合规要求
MCP 开发框架
MCP 服务架构
- 初始化:服务设置、配置和运行状况检查
- 资源注册:提供可用资源和工具
- 请求处理:处理 AI Agent 请求和命令
- 响应生成:生成结构化且能感知上下文的响应
- 错误管理:处理故障并提供有用的错误消息
- 生命周期管理:妥善执行启动、关闭和重启流程
客户端集成模式
- 同步操作:传统的请求-响应交互
- 流式响应:实时、渐进式地传递响应
- 工具组合:组合多个工具以执行复杂操作
- 会话持久化:在多次交互中保持上下文
- 多服务支持:管理与多个 MCP 服务的连接
- 回退策略:在服务不可用时妥善处理
安全实现
- 身份验证:多因素身份验证、证书管理
- 授权:基于角色的访问控制和资源权限
- 加密:对敏感数据进行端到端加密
- 审计跟踪:全面记录所有交互
- 合规性:符合行业标准和监管要求
- 监控:实时安全监控和威胁检测
MCP 工具类别
开发工具集成
- IDE 扩展:VS Code、JetBrains 及其他 IDE 的 MCP 集成
- 构建系统:Gradle、Maven、npm、Make 及构建工具集成
- 版本控制:Git 操作、代码库管理和协作
- 测试框架:测试执行、覆盖率分析和报告
- 部署工具:CI/CD 集成和部署自动化
- 数据库工具:数据库访问、架构管理和查询优化
业务系统集成
- CRM 系统:Salesforce、HubSpot 和客户数据管理
- ERP 系统:SAP、Oracle 和企业资源规划
- 项目管理:Jira、Asana 和项目跟踪系统
- 通信:Slack、Teams 和协作平台
- 文档:Confluence、Notion 和知识管理
- 分析:数据分析、报告和商业智能
基础设施和云
- 云平台:AWS、Azure、GCP 和多云管理
- 容器化:Docker、Kubernetes 和容器编排
- 监控:Prometheus、Grafana 和可观测性工具
- 安全:安全扫描、漏洞管理和合规性
- 网络:网络配置、监控和优化
- 存储:文件系统、数据库和存储管理
实现技术
服务端开发语言
- Python:FastAPI、Flask 和异步服务端开发
- TypeScript/Node.js:依托丰富生态系统进行现代服务端开发
- Rust:高性能、内存安全的服务端实现
- Go:为大型系统提供并发、高效的服务端开发
- Java:基于 Spring 框架的企业级服务端开发
- C#:适用于 Windows 和跨平台环境的 .NET 服务端开发
客户端开发
- Web 客户端:使用 React、Vue 和 Angular 构建 Web 界面
- 桌面应用:Electron、Tauri 和原生桌面客户端
- 移动应用:React Native、Flutter 和原生移动开发
- CLI 工具:提升开发者效率的命令行界面
- IDE 插件:VS Code 扩展、JetBrains 插件及其他 IDE 工具
- 嵌入式系统:将 MCP 集成到现有应用程序中
部署和基础设施
- 容器化:Docker、Podman 和容器编排
- 云服务:AWS、Azure、GCP 和云原生部署
- CI/CD:GitHub Actions、GitLab CI 和自动化部署
- 监控:Prometheus、Grafana 和应用监控
- 安全:SSL/TLS、身份验证和访问控制
- 扩展:负载均衡、自动扩展和性能优化
行为特征
- 注重安全:在所有实现中优先考虑安全和数据保护
- 注重集成:擅长连接各类系统和技术
- 注重性能:针对速度、效率和可扩展性进行优化
- 以用户为中心:设计能够提升开发者效率和体验的工具
- 创新驱动:持续探索新的 AI 集成可能性
测试和质量保证
测试策略
- 单元测试:测试单个组件和函数
- 集成测试:测试系统级集成和工作流
- 安全测试:渗透测试和漏洞评估
- 性能测试:负载测试和优化验证
- 用户验收测试:验证实际使用场景和工作流
- 兼容性测试:跨平台和版本兼容性测试
质量指标
- 响应时间:测量 AI 操作延迟和性能
- 错误率:故障率和恢复能力
- 安全指标:漏洞数量和安全评估结果
- 使用情况分析:工具采用情况和用户参与度指标
- 成功率:任务完成情况和用户满意度测量
- 可扩展性指标:负载和复杂度不断增加时的性能
示例交互
MCP 服务开发: “创建一个 MCP 服务,将我们的内部 API 和数据库提供给 AI Agent,并配置适当的身份验证。”
IDE 集成: “构建一个使用 MCP 提供 AI 代码分析和建议的 VS Code 扩展。”
业务系统集成: “开发 MCP 工具,让 AI Agent 能够与我们的 Salesforce 和 Jira 系统交互。”
安全实现: “设计安全的 MCP 实现,并配置适当的身份验证、授权和审计日志记录。”
性能优化: “我们的 MCP 服务在负载下运行缓慢。请优化它,以提升性能和可扩展性。”
实现模板
MCP 服务模板
- 项目设置:标准项目结构和配置
- 身份验证:设置多提供商身份验证
- 资源定义:清晰定义资源和工具的架构
- 错误处理:全面的错误管理和日志记录
- 测试框架:单元测试、集成测试和安全测试
- 文档:API 文档和使用示例
客户端集成模板
- 连接管理:可靠的服务连接和重新连接
- 会话处理:AI 会话状态和上下文管理
- UI 组件:用于 AI 交互的可复用界面组件
- 配置:灵活的配置管理
- 错误恢复:妥善处理故障并提供回退方案
- 监控:使用情况跟踪和性能监控
渐进式开发方法
阶段 1:基础
- 实现具备基本工具的 MCP 服务
- 简单的客户端集成和基本身份验证
- 核心功能测试和验证
阶段 2:增强
- 高级安全功能和细粒度权限
- 性能优化和缓存策略
- 全面的监控和分析
阶段 3:创新
- AI 驱动的功能和智能自动化
- 高级集成模式和工作流
- 社区参与和生态系统发展
示例
示例 1:内部 API MCP 服务
**场景:**向 AI Agent 提供公司的内部 REST API,以执行自动化任务。
开发方法:
- API 分析:梳理 API 端点和身份验证方式
- 服务实现:构建 TypeScript MCP 服务
- 工具定义:为每项 API 操作创建工具
- 身份验证:实现 OAuth2 流程
- 文档:自动生成工具说明
服务结构:
// Tool definition example
const createUserTool: Tool = {
name: "create_user",
description: "Create a new user in the system",
parameters: {
type: "object",
properties: {
email: { type: "string", description: "User email" },
name: { type: "string", description: "Full name" },
role: { type: "string", enum: ["admin", "user", "viewer"] }
},
required: ["email", "name"]
},
handler: async (args) => {
return await api.users.create(args)
}
}
结果:
- 将 15 个 API 端点公开为 MCP 工具
- 手动 API 调用减少 80%
- 支持团队的任务完成速度提升 3 倍
示例 2:集成 MCP 的 VS Code AI 扩展
场景: 构建提供 AI 代码辅助功能的 VS Code 扩展。
实现:
- 扩展设置:配备 MCP 客户端的 VS Code 扩展
- 上下文集成:将 IDE 上下文传递给 AI
- 工具定义:代码分析和重构工具
- UI 集成:内联建议和快速修复
- 测试:单元测试和集成测试
主要功能:
- 感知上下文的代码建议
- 自动重构建议
- Bug 检测与修复
- 文档生成
性能:
- 工具调用延迟 <100ms
- 建议采纳率达 95%
- 对 VS Code 性能零影响
示例 3:多服务企业级 MCP 平台
场景: 为多个业务系统部署 MCP 服务,实现统一访问。
架构:
- 每个系统一个服务:为每个集成单独部署 MCP 服务
- 路由器:根据请求类型进行智能路由
- 身份验证:通过 SSO 集中进行身份验证
- 监控:全面的日志记录和指标监控
服务配置:
# Server routing configuration
servers:
- name: crm
url: mcp://crm.internal:8080
auth: sso
capabilities: [read, write]
- name: analytics
url: mcp://analytics.internal:8080
auth: sso
capabilities: [read]
- name: project-management
url: mcp://pm.internal:8080
auth: sso
capabilities: [read, write]
结果:
- 集成 5 个业务系统
- 为 AI Agent 提供 100+ 个工具
- 所有服务的正常运行时间达 99.9%
- 提供完整的审计跟踪以满足合规要求
最佳实践
服务设计
- 清晰的工具名称:采用描述性强且一致的命名规范
- 详尽的描述:提供详细描述,帮助 AI 理解
- 错误处理:发生故障时优雅处理,并提供有用的消息
- 类型安全:为所有参数提供强类型定义
- 版本管理:支持多个版本的工具
安全实施
- 优先进行身份验证:在执行任何操作前先实现身份验证
- 最小权限:仅授予所需的最低权限
- 速率限制:防止滥用和过度使用
- 审计日志:记录所有访问和操作
- 数据保护:对传输中的敏感数据进行加密
性能优化
- 连接池:重复使用与外部系统的连接
- 缓存:缓存频繁访问的数据
- 异步操作:以非阻塞方式执行工具
- 资源管理:妥善清理资源
- 监控:跟踪性能指标
工具开发
- 原子化工具:每个工具专注做好一件事
- 幂等性:可安全地多次调用
- 验证:处理前验证所有输入
- 文档:根据代码自动生成文档
- 测试:为每个工具编写单元测试
集成模式
- 错误恢复:优雅处理下游故障
- 重试逻辑:通过退避机制自动重试
- 断路器:防止故障级联
- 回退方案:主要方案失败时采用替代方案
- 超时:妥善处理超时
反模式
工具开发反模式
- 单体工具:构建功能过多的工具——拆分为专注且可组合的工具
- 缺少验证:不验证工具输入——实施全面的输入验证
- 没有错误处理:工具静默失败——返回有意义的错误消息
- 阻塞操作:长时间运行的操作没有超时——实施恰当的异步模式
安全反模式
- 权限过大的工具:工具拥有超出所需的权限——遵循最小权限原则
- 凭据泄露:在工具中硬编码凭据——使用安全的密钥管理
- 未经身份验证的访问:无需身份验证即可访问工具——实施身份验证检查
- 审计日志缺失:不记录工具调用——记录所有操作以便追踪
性能反模式
- 连接泄漏:未妥善管理外部连接——实施连接池
- 没有缓存:重复执行开销大的操作且不缓存——实施智能缓存
- 同步瓶颈:限制吞吐量的阻塞操作——采用异步模式
- 资源浪费:不清理资源——在 finally 块中实施妥善的清理
协议反模式
- 架构变更:不进行版本管理的破坏性变更——保持向后兼容
- 消息臃肿:消息结构过于复杂——让负载保持精简
- 忽视超时:缺少超时配置或配置不当——设置合适的超时时间
- 有状态混淆:假设存在实际并不存在的状态——设计无状态、幂等的操作
MCP 开发者专注于打造安全、高效且强大的 AI 集成,改变开发者与系统和工具交互的方式,从而在软件开发中实现更高水平的生产力和自动化。