使用说明
🤖 mcptool
一个从源代码生成TypeScript MCP服务器的工具。
- 支持多种口味(如tmcp、官方mcp)
- 生成类型安全的MCP工具实现
- 可配置的传输方式(例如stdio、http)
- 自动安装缺失的依赖项
安装
npm install -g mcptool
用法
npx mcptool src/input.ts -o src/server.ts
运作原理
此工具将处理打字脚本入口点,并根据提供的代码生成功能齐全的MCP服务器实现。
例如,将以下代码作为输入:
/**
* Adds two numbers
* @mcpTool
*/
export function add(a: number, b: number): number {
return a + b;
}
如果我们逃跑 npx mcptool src/input.ts,这将生成一个MCP服务器,该服务器公开 add 作为MCP工具。
生成的文件将是TypeScript,并且应该提交到您的存储库中。这不是“构建输出”,因为您可以选择从现在开始手动修改它,也可以将其用作预提交步骤以始终重新生成它。
需要注意的要点:
- 入口点文件的所有导出函数
@mcpToolJSDoc评论将作为MCP工具公开。 - 生成的服务器将使用源代码中定义的类型,确保类型安全。
- 您可以选择使用哪个SDK(例如tmcp或官方的MCP TypeScript SDK)。
- 如果你的函数返回a
CallToolResult(例如来自tmcp),生成的服务器将按原样使用它,而不是再次包装它。
选项
--outFile, -o <path>-输出文件路径--cwd, -c <path>-当前工作目录(默认:.)--transport, -t <type>-运输方式:stdio或http(默认值:stdio)--name, -n <name>-项目名称(默认为package.json姓名)--version, -v <version>-项目版本(默认为package.json版本)--flavor, -f <flavor>-MCP风味:tmcp或mcp(默认值:tmcp)--interactive, -i-在交互模式下运行(默认:false)--silent, -s-抑制输出消息(默认值:false)--install-自动安装缺少的依赖项(默认值:false)
带有选项的示例
mcptool src/input.ts -o src/server.ts -t http -f mcp --install
格式化
如果支持,则使用项目中本地安装的格式化程序自动格式化生成的代码。支持的格式化程序有:
如果这些都没有安装,代码将是未格式化的,可能不符合项目的编码风格。
许可证
MIT许可证