Skip to content

37. MCP 服务器开发流程是什么? ​

难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔面试官:MCP 服务器开发流程是什么?

🙋‍♂️我:定义工具,实现逻辑,启动服务。

👔面试官:太简单了。完整流程:明确能力边界 → 定义 schema → 选传输方式 → 实现服务端 → 补齐治理(鉴权、日志、超时)。而且最容易忽略的是能力边界和错误处理。你能展开吗?

🙋‍♂️我:MCP Server 不是简单套壳,要设计成适合模型消费的接口?

👔面试官:对。不要把现有 API 直接暴露,要考虑模型怎么理解、怎么调用、出错怎么处理。schema 设计、描述质量、错误信息都很关键。

💡 简要回答 ​

MCP Server 开发五步:

  1. 明确能力边界:是 Tool、Resource 还是 Prompt?
  2. 定义 schema:输入输出、错误处理、描述质量
  3. 选传输方式:stdio(本地)vs HTTP(远程)
  4. 实现服务端:业务逻辑 + 鉴权 + 日志 + 超时
  5. 客户端联调:注册、发现、调用、测试

关键注意:

  • MCP Server 不是简单 API 套壳
  • 要设计成适合模型消费的接口
  • 最容易忽略:能力边界和错误处理

📝 详细解析 ​

第一步:明确能力边界 ​

决策:暴露成什么类型?

  • Tool:模型主动调用(搜索、计算)
  • Resource:应用读取(文件内容、配置)
  • Prompt:用户选择(模板)

范围:

  • 原子能力 vs 组合能力
  • 同步 vs 异步
  • 有状态 vs 无状态

第二步:定义 schema ​

输入 schema:

json
{
  "type": "object",
  "properties": {
    "query": {"type": "string", "description": "搜索关键词"},
    "limit": {"type": "integer", "default": 10}
  },
  "required": ["query"]
}

描述质量:

  • 清晰说明能力边界
  • 给出参数示例
  • 说明返回值格式

第三步:选传输方式 ​

方式适用场景
stdio本地进程文件系统、本地命令
HTTP远程服务云 API、数据库
Streamable HTTP流式响应长任务、进度推送

第四步:实现服务端 ​

业务逻辑:实现具体功能

治理补齐:

  • 鉴权:API Key、OAuth、JWT
  • 日志:请求、响应、错误记录
  • 超时:防止长时间挂起
  • 限流:保护下游服务
  • 错误处理:友好错误信息

第五步:客户端联调 ​

  • 在 Host 中注册 MCP Server
  • 验证能力发现
  • 测试调用链路
  • 检查错误处理

🎯 面试总结 ​

五步开发:明确边界 → 定义 schema → 选传输 → 实现服务 → 联调测试。关键是设计适合模型消费的接口,不是简单套壳。


章节首页 · ← Q36 · Q38 →

最后更新2026-05-01
难度P1
频率medium
阅读5 min
主题tool-use / protocol
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题