创建命令mcp
🚀 用于创建连接到Commands.com的MCP服务器的脚手架工具
在几分钟内使用Commands.com JWT身份验证创建生产就绪的MCP(模型上下文协议)服务器。
快速开始
# Create a new MCP server
npx create-commands-mcp my-server
# Navigate and start development
cd my-server
npm install
cp .env.example .env
npm run dev特性
- ✨ 零配置设置 -5分钟内即可使用MCP服务器
- 🔐 Commands.com JWT身份验证 -内置网关集成
- 🌊 服务器发送事件(SSE) -实时流媒体支持网关兼容性
- 🛠️ 多个模板 -基本、API集成和数据处理
- 📦 零生产依赖性 -轻便安全
- 🔧 开发人员经验 -TypeScript、测试和健康检查
- 🚀 部署就绪 -包括Railway、Vercel和Docker配置
- 💰 85%的收入份额 -Commands.com只处理15%的营销、计费和身份验证
用法
交互模式
npx create-commands-mcp直接模式
npx create-commands-mcp my-server-name带选项
# API template with Railway deployment config
npx create-commands-mcp my-server --template=api --deploy=railway
# Basic template with Docker setup
npx create-commands-mcp my-server --template=basic --deploy=docker模板
基本模板(默认)
- 工具:ping、echo、datetime
- 最适合:学习MCP协议,简单实用程序
- 零外部依赖
API模板
- 工具:HTTP请求、数据转换、缓存
- 最适合:外部API集成,数据获取
- 包括离线回退
数据模板
- 工具:文件处理、JSON/CSV解析、验证
- 最适合:数据转换、文件操作
- 内置数据验证
生成的项目结构
my-mcp-server/
├── src/
│ ├── index.ts # Main server
│ ├── tools/ # Tool implementations
│ │ ├── ping.ts
│ │ ├── echo.ts
│ │ └── datetime.ts
│ ├── auth/
│ │ └── verifyToken.ts # JWT validation
│ └── types.ts # TypeScript definitions
├── tests/
│ └── ping.test.ts # Basic tests
├── .env.example # Environment template
├── commands.yaml # Commands.com metadata
├── README.md # Getting started guide
└── package.json # Minimal dependenciesCommands.com集成
即时JWT验证
您的服务器可以立即与Commands.com JWTs配合使用:
npm run dev # Start development server
npm run test # Run tests
npm run doctor # Health checks网关集成(可选)
对于Commands.com市场和路由:
- 部署:在任何地方托管服务器(Railway/Vercel/AWS/等)
- 注册:提交您的服务器URL Commands.com创建者门户
- 路线:Commands.com网关将用户请求路由到您的服务器
# Deploy to your preferred platform
npm run build && npm start # or deploy to Railway/Vercel/etc.
# Register your live server URL at Commands.com
# Example: https://my-server.railway.app快速部署到铁路
在2分钟内测试生产环境中的MCP服务器:
# 1. Create with Railway config
npx create-commands-mcp my-server --deploy=railway
# 2. Initialize git and push to GitHub
cd my-server
git init && git add . && git commit -m "Initial MCP server"
git remote add origin https://github.com/yourusername/my-server.git
git push -u origin main
# 3. Deploy to Railway
# - Visit railway.app and connect your GitHub repo
# - Railway auto-detects Node.js and deploys instantly
# - Get live URL: https://my-server-production.up.railway.app结果: 您的MCP服务器已上线,可以提交Commands.com!
开发工作流程
- 创建:
npx create-commands-mcp my-server - 开发:在中添加工具
src/tools/ - 测试:
npm run test和npm run doctor - 部署:使用铁路进行即时测试
- 发布:提交到Commands.com市场
添加自定义工具
// src/tools/myTool.ts
export const myTool = {
name: "my_custom_tool",
description: "Does something useful",
inputSchema: {
type: "object",
properties: {
input: { type: "string", description: "User input" }
},
required: ["input"]
},
handler: async (args: { input: string }) => {
return { result: `Processed: ${args.input}` };
}
};部署选项
使用 --deploy 包括部署配置文件:
铁路(--deploy=railway) - 推荐用于测试
- 包含
railway.json配置 - 通过GitHub一键部署
- 自动HTTPS和监控
- 免费$5/月信用额度,非常适合测试
Vercel(--deploy=vercel)
- 包含
vercel.json配置 - 通过GitHub进行无服务器部署
- 边缘功能和全球CDN
Docker(--deploy=docker)
- 包含
Dockerfile和docker-compose.yml - 自托管部署
- 对基础设施的完全控制
CLI选项
npx create-commands-mcp [name] [options]
Options:
-t, --template Template type (basic|api|data)
-l, --lang Language (typescript|javascript)
-d, --deploy
Deployment config (railway|vercel|docker)
-h, --help Show help需求
- Node.js 18+
- Commands.com帐户(可选,用于网关集成)
收入和货币化
Commands.com提供了一个完整的商业平台 15%的收入份额:
包含内容:
- 🎯 市场与营销 -发现、推广和用户获取
- 💳 条纹集成 -支付处理和订阅管理
- 🔐 OAuth和身份验证 -用户管理和安全访问
- 📊 分析与洞察 -使用情况跟踪和性能指标
- 🌐 网关和路由 -将用户连接到您的自托管服务器
开发者优势:
- ✅ 你保留85% 在所有产生的收入中
- ✅ 专注于建筑 -无需处理付款、营销或身份验证
- ✅ 拥有自己的基础设施 -部署到任何地方(铁路、Vercel、AWS等)
- ✅ 低于竞争对手 -大多数平台占20-30%
构建工具,而不是企业。 Commands.com处理其他一切。
服务器发送事件(SSE)支持
生成的MCP服务器包括内置的SSE支持,用于防止长时间运行时网关超时。
何时使用SSE
使用SSE进行任何需要 超过5秒 以防止网关超时。下面是一个工作示例:
case 'long_operation':
const { steps = 5, delay_ms = 1000 } = toolArgs || {};
if (acceptsSSE && method === 'tools/call') {
// Set SSE headers
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
res.setHeader('Connection', 'keep-alive');
// Process with periodic updates
(async () => {
const messages: string[] = [];
for (let i = 1; i <= steps; i++) {
// Do work
await processStep(i);
// Add progress
messages.push(`Step ${i}/${steps}: ${i === steps ? 'Complete!' : 'Processing...'}`);
// Send cumulative response
const response = {
jsonrpc: '2.0',
result: {
content: [{
type: 'text',
text: messages.join('\n')
}]
},
id
};
res.write(`data: ${JSON.stringify(response)}\n\n`);
}
res.end();
})();
return;
}
// Fallback for non-SSE clients
return standardResponse();要点:
- 每1-5秒发送一次更新 防止超时
- 每次更新都包含完整的响应 (累计)
- 始终提供非SSE回退
- 网关兼容性 -适用于Commands.com和其他代理
支持的方法:
tools/list,tools/call-工具发现和执行resources/list,resources/read-资源管理(实施时)prompts/list,prompts/get-及时处理(实施时)
网关处理所有SSE协议细节,包括事件ID、心跳和连接管理。
支持
许可证
麻省理工学院-见 许可证 文件以获取详细信息。
