ORPC API测试服务器

用于探索和测试ORPC OpenAPI端点的会话式认证服务器,支持API文档浏览、端点调用和会话管理。

  • by djkz
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 djkz/openapi-mcp

使用说明

ORPC MCP 服务器

用于探索和测试基于会话认证的ORPC OpenAPI端点的MCP服务器。

特点/功能

  • 探索API文档浏览OpenAPI规范中的终端点
  • 进行API调用使用自定义数据测试端点
  • 会话管理处理多个环境(开发、生产等)
  • 内存缓存快速端点查找

安装

npm install

配置

会话文件存储在 ~/.config/orpc-mcp-server/sessions/

为您的环境创建会话文件:

`~/.config/orpc-mcp-server/sessions/.session.dev` 翻译成中文是:`用户目录下的.config/orpc-mcp-server/sessions/目录中的.session.dev文件`。这里,“~”代表用户的主目录,“.config”和“sessions”是目录名,“.session.dev”是文件名

{
  "name": "dev",
  "baseUrl": "http://localhost:3000",
  "cookies": "cfi.session_token=your_dev_token"
}

`~/.config/orpc-mcp-server/sessions/.session.prod` 翻译成中文是:`用户主目录下的.config文件夹中的orpc-mcp-server文件夹中的sessions文件夹中的.prod会话文件`。不过,为了更简洁明了,通常可以翻译为:“用户配置目录中的orpc-mcp-server会话目录下的生产环境会话文件”。但具体翻译可能还需根据上下文和使用场景进行调整

{
  "name": "prod",
  "baseUrl": "https://api.example.com",
  "cookies": "cfi.session_token=your_prod_token"
}

快速设置:

# Create session directory
mkdir -p ~/.config/orpc-mcp-server/sessions

# Create dev session file
cat > ~/.config/orpc-mcp-server/sessions/.session.dev << 'EOF'
{
  "name": "dev",
  "baseUrl": "http://localhost:3000",
  "cookies": "your_session_cookies_here"
}
EOF

使用方法

运行MCP服务器:

npm run dev

可用工具

reload_spec()

从API服务器重新加载OpenAPI规范。

list_endpoints(filter?: string)

列出所有可用的端点。可选过滤器用于按路径或方法进行搜索。

示例:

  • list_endpoints() - 列出所有端点
  • list_endpoints({ filter: "users" }) - 过滤包含“users”的端点

get_endpoint_docs(method: string, path: string)

获取特定终端节点的详细文档。

示例:

  • get_endpoint_docs({ method: "GET", path: "/users" })

call_endpoint(method: string, path: string, params?: object, body?: object)

向一个终端点发起API调用。

示例:

  • call_endpoint({ method: "GET", path: "/api/orpc/users" })
  • call_endpoint({ method: "POST", path: "/api/orpc/users", body: { name: "John" } })
  • call_endpoint({ method: "GET", path: "/api/orpc/users", params: { page: 1 } })

set_session(name: string)

切换到不同的会话配置。

示例:

  • set_session({ name: "dev" })
  • set_session({ name: "prod" })

update_session(cookies: string)

更新当前会话的cookie。

示例:

  • update_session({ cookies: "cfi.session_token=new_token" })

发展

构建项目:

npm run build

许可证

麻省理工学院(MIT)