MCP客户端生成器
🚀 从任何MCP(模型上下文协议)服务器生成类型安全的TypeScript客户端。
import { notion, github, slack } from "./src/mcp-client";
// Type-safe client calls with full IntelliSense
const page = await notion.createPage({
title: "Meeting Notes",
content: "Discussion about Q4 roadmap...",
});
const issue = await github.createIssue({
title: "Bug: Login failure",
body: "Users cannot authenticate...",
});
await slack.notify({
channel: "#dev",
message: `New issue created: ${issue.url}`,
});特性
✨ 类型安全 -使用生成的类型完全支持TypeScript\ 🔄 多供应商 -同时连接到多个MCP服务器\ 🎯 树摇晃 -只捆绑使用的方法\ ⚡ 快速 -采用丁腈橡胶制造,性能最佳\ 🛠️ 交互式CLI -具有合理默认值的智能提示\ ⚙️ 灵活的 -适用于多种MCP配置格式
安装
npm install -g mcp-client-gen
# or use directly
npx mcp-client-gen快速开始
1.配置MCP服务器
创建一个 .mcp.json 使用MCP服务器端点的文件:
{
"mcpServers": {
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp",
},
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
},
},
}2.生成客户端SDK
交互模式(推荐):
npx mcp-client-gen # Launch interactive prompts
npx mcp-client-gen -y # Accept all defaults and proceed直接模式:
npx mcp-client-gen ./src/mcp-client.ts3.使用生成的客户端
import { notion } from "./src/mcp-client";
// All methods are fully typed based on the MCP server schema
const page = await notion.fetchPage("page-id");
const newPage = await notion.createPage({
title: "My Page",
content: "Page content...",
});CLI 参考
交互模式
npx mcp-client-gen # Launch interactive prompts
npx mcp-client-gen -y # Accept defaults and proceed
npx mcp-client-gen --yes # Same as -y直接模式
npx mcp-client-gen [options]
Arguments:
output-file Path for the generated client file
Options:
--config MCP configuration file (default: auto-discover)
-y, --yes Accept all defaults and skip prompts
--help Show help information
Examples:
npx mcp-client-gen # Interactive mode
npx mcp-client-gen -y # Quick generation with defaults
npx mcp-client-gen ./src/mcp-client.ts # Direct mode with output file
npx mcp-client-gen --config custom.json ./src/clients.ts用例
🔗 API集成 -使用一个SDK连接到多个服务\ 🤖 工作流程自动化 -构建跨平台自动化脚本\ 📊 数据同步 -在不同平台上保持数据同步\ 🧪 快速原型制作 -快速测试与类型安全的集成
开发状态
预览版 -这是一个早期预览。核心CLI和配置解析工作正常,但MCP服务器自检仍在开发中。
当前状态:
- ✅ CLI界面和配置解析
- ✅ 具有智能默认值的交互式提示
- ✅ 多服务器客户端生成结构
- ✅ 支持多种MCP配置格式(.MCP.json、.cursor/、.vcode/)
- 🚧 MCP服务器模式自检(正在进行中)
- 🚧 从服务器功能实时生成类型
- 📋 用于自定义转换的插件系统
马上就来:
- 完整的MCP协议实施
- 身份验证处理
- 流媒体支持
- 错误处理和重试
认证
生成的MCP客户端包括使用RFC 7591动态客户端注册对OAuth 2.1身份验证的内置支持。身份验证流程会自动处理:
OAuth 2.1支持
- 动态客户端注册(RFC 7591) -客户端自动向OAuth提供商注册
- PKCE 流程 (RFC 7636) -使用验证密钥进行代码交换的安全授权代码交换
- 多种身份验证方法 -支持
client_secret_basic,client_secret_post,以及公共客户 - 许可证管理 -自动令牌刷新和凭证存储
- 资源保护 -RFC 9728 OAuth 2.0受保护资源元数据支持
身份验证流程
- 发现 -客户端发现OAuth授权服务器元数据
- 注册 -如果找不到凭据,则进行动态客户端注册
- 授权 -基于PKCE的授权码流启动
- 代币交换 -自动刷新的安全令牌交换
- API调用 -使用承载令牌进行身份验证的请求
配置
身份验证是针对您的MCP服务器配置的 .mcp.json:
{
"mcpServers": {
"secured-service": {
"type": "http",
"url": "https://api.example.com/mcp",
"auth": {
"type": "oauth",
"clientId": "your-client-id", // Optional for dynamic registration
"scopes": ["read", "write"],
},
},
},
}支持和许可
如果此工具可以帮助您构建出色的集成,请考虑 赞助该项目 以支持持续发展。 💖
______________________________________________________________________
MIT许可证 •您可以在您的商业项目中自由使用它,回馈或完全分叉。代码应该是免费的! 🔓
