API呼叫者MCP服务器
MCP(模型上下文协议)服务器:一种能够调用外部RESTful API的服务。
特性
此MCP服务器为Claude等LLM提供了调用外部RESTful API的工具。它包括以下功能:
- 支持各种HTTP方法(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)
- 可配置的标头、查询参数和请求正文数据
- 可配置的超时设置
- 错误处理和响应格式
安装和执行
需求
- Node.js 16.x或更高版本
- npm或纱线
安装
# Install dependencies
npm install构建
# Compile TypeScript
npm run build执行
# Run StdIO version (integrated with MCP clients like Claude Desktop)
npm start
# Run HTTP server version (exposed as API)
npm run start:http
# Run in development mode (direct TypeScript execution)
npm run dev
# Run HTTP server in development mode
npm run dev:http
# Run in watch mode (useful during development)
npm run watch
# Run test client
npm run test将MCP服务器添加到Claude桌面
1.配置claude_desktop_config json
配置 claude_desktop_config.json 文件如下。使用 npx 要与依赖项安装一起运行,请执行以下操作:
{
"name": "API Caller",
"version": "1.0.0",
"description": "MCP service for calling external RESTful APIs",
"command": "npx",
"args": ["--yes", "--package=dotenv", "--package=axios", "--package=@modelcontextprotocol/sdk", "node", "{your_mcp_path}/api_caller/index.js"],
"env": {
"NODE_ENV": "production"
}
}替代配置选项:
- 使用批处理文件(推荐):
{
"name": "API Caller",
"version": "1.0.0",
"description": "MCP service for calling external RESTful APIs",
"command": "{your_mcp_path}/api_caller/run_with_npx.bat",
"args": [],
"env": {
"NODE_ENV": "production"
}
}- 使用npm脚本:
{
"name": "API Caller",
"version": "1.0.0",
"description": "MCP service for calling external RESTful APIs",
"command": "npx",
"args": ["--yes", "npm", "run", "start"],
"env": {
"NODE_ENV": "production"
}
}重要:确保文件路径与项目文件夹的绝对路径匹配。
2.将MCP提供程序添加到克劳德桌面
- 启动克劳德桌面:启动Claude Desktop应用程序。
- 打开设置菜单:
- 单击Claude Desktop窗口左下角的配置文件图标或设置图标。 - 从菜单中选择“设置”。
- 导航到MCP提供商选项卡:
- 在设置菜单中找到并单击“MCP提供者”或“工具”选项卡。
- 添加新的MCP提供程序:
- 单击“添加新MCP提供程序”或“+”按钮。
- 选择配置文件:
- 在文件选择对话框中,导航到 claude_desktop_config.json 文件。 - 路径: {your_mcp_path}/api_caller/claude_desktop_config.json - 选择此文件并单击“打开”。
- 启用MCP提供程序:
- 将API调用方添加到列表后,切换其旁边的开关以启用。
3.故障排除
如果您遇到连接问题:
- 检查相关性:
npm install- 验证路径设置:
- 确保所有文件路径都已正确配置。 - 使用批处理文件方法时,请验证 run_with_npx.bat 存在。
- 权限问题:
- 以管理员身份运行命令提示符。
- 检查日志:
- 检查Claude Desktop日志中的错误消息。 - 直接运行批处理文件以检查错误消息。
- 验证npx安装:
npm install -g npx- 模块格式问题:
- 如果出现模块格式问题(CommonJS与ES模块),请检查 "type": "module" 设置 package.json.
用法
首先,克隆存储库:
git clone https://github.com/g2developer/api_caller_mcp_server.git
cd api_caller_mcp_server此MCP服务器可以与支持模型上下文协议的LLM客户端一起使用。
标准IO接口
在像Claude Desktop这样的客户端中将此服务器注册为MCP提供商。
HTTP接口
HTTP服务器版本提供以下端点:
POST /mcp:处理从MCP客户端到服务器的请求。GET /mcp:通过SSE(服务器发送事件)从服务器向客户端发送通知。DELETE /mcp:终止会话。GET /health:检查服务器状态。
使用 mcp-session-id 用于会话管理的标头。
call_api工具
调用外部RESTful API。
参数:
url(必需):要调用的API的URLmethod(可选,默认:GET):HTTP方法(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)headers(可选):请求头(API密钥、身份验证令牌等)params(可选):URL查询参数data(可选):请求正文数据(用于POST、PUT、PATCH)timeout(可选,默认值:30000):请求超时(毫秒)
返回值:
成功:
{
"status": "success",
"statusCode": 200,
"headers": { ... },
"data": { ... }
}失败:
{
"status": "error",
"message": "Error message",
"statusCode": 404,
"headers": { ... },
"data": { ... }
}例子
基本GET请求
{
"url": "https://jsonplaceholder.typicode.com/posts/1"
}带查询参数的GET请求
{
"url": "https://jsonplaceholder.typicode.com/posts",
"params": {
"userId": 1
}
}带数据的POST请求
{
"url": "https://jsonplaceholder.typicode.com/posts",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"data": {
"title": "foo",
"body": "bar",
"userId": 1
}
}带有身份验证标头的请求
{
"url": "https://api.example.com/data",
"headers": {
"Authorization": "Bearer your_token_here"
}
}环境变量
在中配置以下环境变量 .env 文件:
PORT:HTTP服务器的端口号(默认值:3071)NODE_ENV:执行环境(开发、生产、测试)DEFAULT_TIMEOUT:默认API调用超时(以毫秒为单位)LOG_LEVEL:日志记录级别(调试、信息、警告、错误)DEFAULT_API_KEY:默认API密钥(如果需要)DEFAULT_AUTH_TOKEN:默认身份验证令牌(如果需要)ALLOW_ORIGINCORS 设置 (默认值: \*)
许可证
MIT许可证
