使用说明
PatrickCarmo MCP 服务器🚀
MCP(模型上下文协议)服务器,提供友好的问候并获取Tabnews文章,支持 标准输入输出 和 超文本传输协议 运输。
🌟 特性
- 双重运输:支持STDIO和HTTP
- 友好问候:生成带有日期、时间和有趣事实的个性化问候
- 标签新闻集成:从Tabnews获取最新文章
- 会话管理:HTTP会话管理
- CORS支持:已为web客户端做好准备
- 健康检查:健康检查端点
📋 可用工具
1. friendly_greeting
- 描述:用当前日期、时间和一个有趣的事实来表达热烈的问候
- 参数:
name(可选):用于个性化问候的名称
- 示例:
{ "name": "Patrick" }
2. get_tabnews_articles
- 描述:从Tabnews获取包含标题、URL和元数据的最新文章
- 参数:
limit(可选):要获取的最大文章数(默认值:10,最大值:30)
- 示例:
{ "limit": 5 }
🚀 安装
npm install
🔧 用法
STDIO模式(适用于Claude Desktop和其他MCP客户端)
npm run start:stdio
# or
npm run start
HTTP模式(适用于web客户端和REST API)
npm run start:http
# or
npm run start:http:dev # runs on port 8080
🌐 HTTP端点
在HTTP模式下运行时:
- MCP端点:
http://localhost:3000/mcp - 健康检查:
http://localhost:3000/health
📝 HTTP测试
使用提供的 mcp-server.http 具有VS代码REST客户端扩展名的文件:
- 安装 REST客户端 VS代码中的扩展
- 打开
mcp-server.http - 启动服务器:
npm run start:http - 点击 “发送请求” 根据文件中的任何请求
请求示例:
# Initialize session
POST http://localhost:3000/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": { "tools": {} },
"clientInfo": { "name": "rest-client", "version": "1.0.0" }
}
}
# Call friendly greeting
POST http://localhost:3000/mcp
Content-Type: application/json
mcp-session-id: YOUR_SESSION_ID
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "friendly_greeting",
"arguments": { "name": "Patrick" }
}
}
🔄 两种运输方式是如何工作的
你的 服务/工具保持完全相同 无论运输方式如何:
- 标准输入输出:使用标准输入/输出进行通信
- 超文本传输协议:使用HTTP请求进行会话管理
传输层是 完全分开 根据你的工具逻辑,所以:
- ✅ 你的
friendly_greeting该工具可在两种模式下工作 - ✅ 你的
get_tabnews_articles该工具可在两种模式下工作 - ✅ Claude Desktop仍然可以通过STDIO连接
- ✅ Web客户端可以通过HTTP连接
🤖 与Claude Desktop一起使用
添加到您的Claude Desktop MCP配置中:
{
"mcpServers": {
"patrickcarmo-mcp-server": {
"command": "node",
"args": ["/path/to/your/mcp-server/index.js"],
"env": {}
}
}
}
🌟 示例用法
STDIO模式
npm run start:stdio
# Server starts and waits for MCP protocol messages
HTTP模式
npm run start:http
# Server starts on http://localhost:3000
📚 MCP协议支持
- 版本: 2024-11-05
- 能力:工具
- 运输:STDIO和HTTP
- 会话管理:支持HTTP模式
🛠️ 发展
# Run in STDIO mode
npm run start:stdio
# Run in HTTP mode
npm run start:http
# Run HTTP on custom port
node index.js --mode=http --port=8080
# Test STDIO client
npm test
🏗️ 建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ MCP Client │ │ Web Client │
│ (Claude, etc) │ │ (STDIO/CLI) │ │ (Browser/API) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ STDIO │ STDIO │ HTTP
│ │ │
└─────────────────────────┴───────────────────────┘
│
┌─────────────────────────┐
│ PatrickCarmo MCP │
│ Server │
│ │
│ ┌─────────────────┐ │
│ │ friendly_greeting│ │
│ └─────────────────┘ │
│ │
│ ┌─────────────────┐ │
│ │get_tabnews_articles│ │
│ └─────────────────┘ │
└─────────────────────────┘
🔧 配置
环境变量
NODE_ENV:设置为production用于生产模式PORT:HTTP端口(默认值:3000)MCP_MODE:运输方式(stdio或http)
命令行参数
--mode=stdio|http:设置运输模式--port=3000:设置HTTP端口
📖 api参考
健康检查
GET /health
MCP端点
POST /mcp
GET /mcp # For SSE in HTTP mode
DELETE /mcp # For session cleanup
🤝 贡献
- 分叉存储库
- 创建功能分支
- 提交您的更改
- 推到分支
- 创建拉取请求
📄 许可证
ISC许可证-有关详细信息,请参阅许可证文件
已准备好与Claude Desktop(STDIO)和web客户端(HTTP)一起使用! 🎉
