Token导航 LogoToken导航TokenDH.com
Open API logo
开发工具未说明官方级别未说明来源级核验

Open API

MCP Server

Generate a MCP server based on OpenAPI specifications

工具数

16

提示词数

0

GitHub Stars

0

资源数

0
类型安全TypeScript命令行工具API开发

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nexpando-com

提供方

nexpando-com

最后核验

2026/5/18 04:05

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

开放api mcp

Open API MCP是一个命令行工具,它基于OpenAPI规范生成MCP(模型上下文协议)服务器。

它通过利用OpenAPI模式和使用Zod生成强类型客户端,简化了创建API客户端和服务器的过程。

特性

  • 根据OpenAPI规范生成MCP服务器。
  • 自动创建基于Zod的API客户端,用于类型安全交互。
  • 支持JSON和YAML OpenAPI规范格式。
  • 通过环境变量或Docker Compose轻松配置。

运作原理

  1. 克隆存储库:
   git clone https://github.com/nexpando-com/open-api-mcp.git
   cd open-api-mcp
  1. 安装依赖项:
   bun install
  1. 准备OpenAPI规范:

- 下载OpenAPI模式:

     wget -q -O open-api.json https://fakestoreapi.com/fakestoreapi.json

- 或使用 curl:

     curl -o open-api.json https://fakestoreapi.com/fakestoreapi.json
  1. 定义环境变量:
   cp .env.template .env
  1. 启动MCP服务器:
   bun dev
   # or
   ./cli.sh open-api.json
  1. 控制台输出:
    Tool loginUser added to OpenApi MCP server.
    Tool getAllCarts added to OpenApi MCP server.
    Tool addCart added to OpenApi MCP server.
    Tool getCartById added to OpenApi MCP server.
    Tool updateCart added to OpenApi MCP server.
    Tool deleteCart added to OpenApi MCP server.
    Tool getAllProducts added to OpenApi MCP server.
    Tool addProduct added to OpenApi MCP server.
    Tool getProductById added to OpenApi MCP server.
    Tool updateProduct added to OpenApi MCP server.
    Tool deleteProduct added to OpenApi MCP server.
    Tool getAllUsers added to OpenApi MCP server.
    Tool addUser added to OpenApi MCP server.
    Tool getUserById added to OpenApi MCP server.
    Tool updateUser added to OpenApi MCP server.
    Tool deleteUser added to OpenApi MCP server.
    [FastMCP info] server is running on HTTP Stream at http://localhost:3000/stream
    OpenApi MCP server 0.0.1 running as httpStream

Docker设置

  1. 创建规范目录:
   mkdir specs
  1. 添加您的OpenAPI规范(open-api.jsonopen-api.yml)转到specs目录。
  1. 创建一个docker-compose.yml文件。配置示例:
   services:
     open-api-mcp:
       image: nexpando/open-api-mcp
       container_name: open-api-mcp
       # ports:
       #  - "3000:3000"
       volumes:
         - ./specs:/app/specs
       environment:
         - OPEN_API_FILE=/app/specs/open-api.json
         - API_URL=  # Example: https://fakestoreapi.com
         # - API_KEY
         # - MCP_NAME=My MCP Server
         # - MCP_VERSION=1.0.0
         # - MCP_TRANSPORT_TYPE=httpStream|sse|stdio
  1. 替换 API_URLAPI_KEY 与您的数据。
  1. 启动MCP服务器:
   docker-compose up

Librechat中的MCP服务器示例

  • librechat.yaml
version: 1.1.4
cache: true
...
mcpServers:
  my-mcp:
    type: streamable-http
    url: http://my-mcp:3000/stream
  mailgun:
    type: streamable-http
    url: http://mailgun-mcp:3000/stream

项目结构

.
├── cli.sh                  # CLI script to start the MCP server
├── generate-client.ts      # Script to generate Zod-based API clients
├── get-input-output.ts     # Utility functions for input/output paths
├── specs/                  # Directory for OpenAPI specifications
├── mcp-servers/            # Example MCP server configurations
├── Dockerfile              # Dockerfile for containerized deployment
├── docker-compose.yml      # Example Docker Compose configuration
├── README.md               # Project documentation
└── ...

自定义身份验证

该项目使用Axios发出HTTP请求,默认身份验证方法在 get-axios.ts 文件。默认情况下,它使用从 API_KEY 环境变量。

如果需要自定义身份验证方法(例如,使用不同的标头、令牌类型或身份验证机制),可以覆盖 get-axios.ts 文件。例如:

// filepath: [get-axios.ts](http://_vscodecontentref_/1)
import axios from 'axios'

export const getAxiosInstance = () => {
  const options = {
    headers: {
      'X-Custom-Auth': 'YourCustomAuthValue',
      'Content-Type': 'application/json',
    },
  }
  const instance = axios.create(options)
  return instance
}

使用Docker Compose自定义身份验证

该项目使用Axios发出HTTP请求,默认身份验证方法在 get-axios.ts 文件。默认情况下,它使用从 API_KEY 环境变量。

如果你使用的是Docker Compose,你可以覆盖 get-axios.ts 通过将文件的自定义版本挂载为卷来创建文件。这允许您在不修改原始源代码的情况下自定义身份验证方法。

自定义步骤

  1. 创建自定义 get-axios.ts 文件中包含您所需的身份验证逻辑。例如:
   // filepath: ./custom/get-axios.ts
   import axios from 'axios'

   export const getAxiosInstance = () => {
     const options = {
       headers: {
         'X-Custom-Auth': 'YourCustomAuthValue',
         'Content-Type': 'application/json',
       },
     }
     const instance = axios.create(options)
     return instance
   }
  1. 更新您的 docker-compose.yml 文件以覆盖默认值 get-axios.ts 使用自定义版本的文件:
   services:
     open-api-mcp:
       image: nexpando/open-api-mcp
       container_name: open-api-mcp
       volumes:
         - ./specs:/app/specs
         - ./custom/get-axios.ts:/app/get-axios.ts
       environment:
         - OPEN_API_FILE=/app/specs/open-api.json
         - API_URL= ...
  1. 使用Docker Compose启动MCP服务器:
   docker-compose up

通过覆盖 get-axios.ts 文件,您可以使项目适应各种身份验证方案,如API密钥或自定义头,同时保持原始源代码不变。

参考文献

许可证

该项目根据MIT许可证获得许可。有关详细信息,请参阅LICENSE文件。

目录标签

目录标签

类型安全TypeScript命令行工具API开发developer-toolsOpenAPI工具本地部署Zod集成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP