主题
OpenAPI-to-MCP 适配器的核心设计难点是什么?
题型:深入 · 不止是协议转换,还要讲语义、认证和运行时治理。
建议回答
核心流程是解析 OpenAPI,把 operationId、summary、参数、requestBody 和 response Schema 转成 MCP Tool 描述,再在执行时把工具参数映射为 path、query、header 和 body,调用原 API 并归一化结果。但真正难点有三类:第一,OpenAPI 描述面向开发者,未必适合模型,需要补充清晰工具名、适用场景和参数语义;第二,oneOf、文件上传、分页、异步任务等复杂 Schema 不能机械映射;第三,认证信息不能暴露给模型,必须由服务端按租户注入并执行权限校验。
适配器还应支持接口白名单、危险操作分级、版本刷新、响应裁剪、错误分类和审计。对于删除、付款、下发指令等高风险操作,增加人工确认和幂等键,不能因为生成了 Tool 就默认允许 Agent 自动执行。
易错点
- operationId 缺失或重复时要有稳定命名规则。
- 不能把超大的原始响应直接塞回模型上下文。
- OpenAPI 文档本身也可能过期,需校验运行时契约。