PostMCP
February 25, 2025 · View on GitHub
这是一个使用 Typescript 实现的 MCP(Model Context Protocol)server,仿照官方 mcp_server_fetch 工具实现,用以访问 API 服务器。
功能特性
- 支持 GET / POST / PUT / DELETE 等请求方法
- 支持动态参数配置
- 支持环境变量管理(可用于JWT鉴权储存token等)
- 支持请求前后执行自定义脚本
- beforeRequest(req: request)
- afterResponse(resp: response)
- 支持在参数中使用环境变量引用:
$(变量名)
工具列表
环境变量管理
setEnvironment: 设置环境变量getEnvironment: 获取环境变量deleteEnvironment: 删除环境变量listEnvironment: 列出所有环境变量
API访问
requestApi: 访问API服务- 支持传入查询参数:
{req.query: {"key": "value"...}} - 支持传入请求体:
{req.body: {"key": "value"...}} - 支持设置访问的方法:GET/POST/PUT/DELETE,默认为GET
- 支持传入自定义请求头,默认包含content-type
- 返回请求状态码和JSON格式的响应结果
- 支持请求前后执行自定义脚本
- 支持传入查询参数:
提示词
提示词 "requestServer" 可以获取使用帮助。
安装与运行
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 构建项目
npm run build
# 运行构建后的项目
npm start
在 Cursor 中作为客户端连接 PostMCP 服务器
要在 Cursor IDE 中作为客户端连接到 PostMCP 服务器,请按照以下步骤操作:
-
编译 PostMCP 服务器
npm run build -
在 Cursor 中配置 MCP 服务器
- 在项目根目录创建
.cursor/mcp.json文件(如果不存在) - 添加以下配置:
- 在项目根目录创建
{ "mcpServers": { "postmcp": { "command": "ts-node-dev", "args": ["./dist/index.js"] } } }
## 使用示例
1. 设置环境变量:
setEnvironment({ key: "baseUrl", value: "https://jsonplaceholder.typicode.com" })
2. 发送GET请求:
requestApi({ url: "$(baseUrl)/posts/1" })
3. 发送POST请求:
requestApi({ url: "$(baseUrl)/posts", method: "POST", body: { title: "测试标题", body: "测试内容", userId: 1 } })
4. 使用请求前后置脚本:
requestApi({ url: "$(baseUrl)/posts/1", beforeRequestScript: "setEnvironment('requestTime', new Date().toISOString())", afterResponseScript: "console.log('请求时间:', getEnvironment('requestTime'))" })