资源汇聚 / MCP 生态

用 TypeScript 开发 MCP Server:从 Schema 到测试

梳理输入校验、处理函数、传输层和自动化测试。本文给出适用场景、实施顺序、风险边界和来源核验方法,帮助读者形成可复查的MCP 生态决策。

内容来源MCP TypeScript SDK

用 TypeScript 开发 MCP Server:从 Schema 到测试

先给结论

先固定输入输出 Schema,再实现业务逻辑并独立测试,最后接入客户端做端到端验证。

判断起点

梳理输入校验、处理函数、传输层和自动化测试。服务器可能同时暴露只读资源和有副作用的工具。配置前应逐项确认输入参数、访问范围、写入行为和错误返回,尤其关注文件系统、数据库、浏览器及任意命令执行能力。

推荐做法

开发入门应从一个输入明确、结果可验证、没有危险副作用的功能开始。先固定 Schema 和错误返回,再实现业务逻辑,最后接入完整客户端。每层都有独立测试时,连接失败、数据错误和客户端展示问题才不会混在一起。

核验重点

  • 服务声明的工具与实际权限是否一致
  • 传输方式和凭据存储是否适合部署环境
  • 失败、超时和返回数据是否可追踪

把检查结果写成可复测记录,至少包含日期、版本、环境、输入样例和结果。这样项目升级或需求变化后,团队可以判断原结论是否仍然成立。

进一步验证

文件与目录相关能力应使用解析后的绝对路径做边界判断,同时处理符号链接、大小写和相似前缀。读取、创建、覆盖和删除设置不同权限,写入使用临时文件或可回滚方式。仅在提示词中要求不要越界不构成技术限制。

常见误区

只验证客户端界面出现工具名称,不能证明参数和异常路径正确。同时不要把“能够运行”直接解释为“适合生产”,个人试验与长期服务对权限、稳定性、监控和维护的要求不同。

如何形成自己的结论

围绕本文主题准备一个代表性样例,先记录当前方案的基线,再使用候选方案重复同一任务。比较最终正确性、人工修正、耗时、资源或调用成本以及失败恢复情况;如果结果会影响重要数据或线上服务,应先在隔离环境验证。

留下可复查记录

长内容处理应先返回目录、统计和匹配位置,再按需分页读取原文。摘要必须保留来源标识,让使用者能够回到证据。一次返回完整日志或文档看似省步骤,实际上会占满上下文并降低模型定位真正相关信息的能力。

参考来源

本文根据以上公开项目整理,不复制 README 全文。仓库功能、许可证和维护状态可能变化,使用或分发前请再次查看原始页面。