原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Openapi Dynamic

作者:mayorandrew版本 0.3.3i★ –i在你的电脑上运行
注册名称io.github.mayorandrew/openapi-dynamic

安装

概览

作者提供的说明(英文原文)

Load OpenAPI 2.x/3.x specs and expose generic tools to discover and call multiple APIs.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "openapi-dynamic": {
      "command": "npx",
      "args": [
        "-y",
        "openapi-dynamic-mcp"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add openapi-dynamic -- npx -y openapi-dynamic-mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "openapi-dynamic": {
      "command": "npx",
      "args": [
        "-y",
        "openapi-dynamic-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "openapi-dynamic": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "openapi-dynamic-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 mayorandrew 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32424 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32424 个服务器的 7% 更新
  • 基础检查结果等于或优于此分类中其他 32424 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Openapi Dynamic 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.3.3)于7个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, BankBridge

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

BankBridge

作者:bankbridge-money

Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

openapi-dynamic-mcp

Connect AI clients to OpenAPI APIs quickly, with one MCP server, direct CLI access, and built-in auth support.

Table of Contents

  • Overview
  • Highlights
  • Requirements
  • Quick Start
  • Configuration
  • Client Setup
  • CLI
  • Authentication
  • Environment Variables
  • Working with Responses
  • Files and Binary Data
  • MCP Tools
  • Development
  • License

Overview

openapi-dynamic-mcp lets MCP clients and shell users work with OpenAPI APIs without writing custom glue code for each service. Point it at one or more OpenAPI specs, then list APIs, inspect endpoints, authenticate, and make requests through a consistent interface.

It is designed for common user workflows:

  • Connect multiple APIs through one MCP server
  • Use local specs or hosted specUrl definitions
  • Work with OpenAPI 3.0, 3.1, and Swagger 2.0
  • Handle API key, bearer, basic, and OAuth2 auth
  • Reuse stored tokens across sessions
  • Filter large responses down to the fields you need
  • Preview requests safely before sending them

Highlights

  • Get from spec to usable tools fast: start from a YAML config and immediately browse endpoints or call them from MCP or the CLI.
  • Authenticate the way your API expects: supports API keys, bearer/basic auth, and OAuth2 client credentials, password, device code, and auth code with PKCE.
  • Avoid repeated sign-in work: store tokens once and reuse them later.
  • Handle interactive OAuth cleanly: device-code and browser-based auth return instructions an agent can present to the user.
  • Keep responses focused: project large outputs with JSONPath selectors.
  • Inspect before you send: use dry runs to preview request shape without network I/O.
  • Upload files when needed: supports multipart form uploads and raw binary bodies.
  • Stay resilient against rate limits: configurable retries for 429 Too Many Requests.

Requirements

  • Node.js 20+

Quick Start

Run the MCP server directly:

npx -y openapi-dynamic-mcp@latest --config ./config.yaml

Minimal config:

version: 1

apis:

  • name: pet-api specPath: ./pet-api.yaml

You can also point at a remote spec:

version: 1

apis:

  • name: pet-api specUrl: https://api.example.com/openapi.json

Configuration

Add each API you want to use under apis. Each entry can point to a local spec file or a remote spec URL.

version: 1

apis:

  • name: pet-api specPath: ./pet-api.yaml

specUrl: https://api.example.com/openapi.yaml

baseUrl: https://api.example.com/v1 timeoutMs: 30000 headers: X-Client: openapi-dynamic-mcp retry429: maxRetries: 2 baseDelayMs: 250 maxDelayMs: 5000 jitterRatio: 0.2 respectRetryAfter: true oauth2Schemes: OAuthCC: tokenUrl: https://auth.example.com/oauth2/token scopes: [read:pets, write:pets] tokenEndpointAuthMethod: client_secret_basic UserAuth: authMethod: device_code deviceAuthorizationEndpoint: https://auth.example.com/oauth/device pkce: true

Common options:

  • name: the API name shown in MCP and CLI commands
  • specPath or specUrl: where to load the OpenAPI spec from
  • baseUrl: override the server URL from the spec
  • headers: headers to send on every request
  • timeoutMs: default request timeout
  • retry429: retry behavior for rate-limited APIs
  • oauth2Schemes: per-scheme OAuth settings when the spec defines OAuth security
Per-Scheme OAuth2 Configuration

Use oauth2Schemes when an API defines one or more OAuth2 security schemes and you want to set token URLs, scopes, or interactive auth preferences for a specific scheme.

The scheme name must match the name in the OpenAPI spec. Common options are:

  • tokenUrl
  • scopes
  • tokenEndpointAuthMethod
  • authMethod
  • deviceAuthorizationEndpoint
  • pkce

If you only need credentials, environment variables are often enough. Use oauth2Schemes when you want reusable config checked into the project.

Client Setup

Claude Desktop / Claude Code
{

"mcpServers": { "openapi": { "command": "npx", "args": [ "-y", "openapi-dynamic-mcp@latest", "--config", "/absolute/path/to/config.yaml" ], "env": { "PET_API_BASE_URL": "http://localhost:3000" } } } }

Cursor
{

"mcpServers": { "openapi": { "command": "npx", "args": [ "-y", "openapi-dynamic-mcp@latest", "--config", "/absolute/path/to/config.yaml" ] } } }

CLI

Server mode is available as either the root command or the explicit serve subcommand:

openapi-dynamic-mcp --config ./config.yaml

openapi-dynamic-mcp serve --config ./config.yaml

Use the CLI when you want the same API access outside your MCP client, for scripting, debugging, or auth setup.

Tool Commands

Every MCP tool is also available as a CLI subcommand that accepts one JSON object and emits JSON output:

openapi-dynamic-mcp list_apis --config ./config.yaml --input '{}'

openapi-dynamic-mcp list_api_endpoints --config ./config.yaml --input '{"apiName":"pet-api"}' openapi-dynamic-mcp get_api_endpoint --config ./config.yaml --input '{"apiName":"pet-api","endpointId":"listPets"}' openapi-dynamic-mcp get_api_schema --config ./config.yaml --input '{"apiName":"pet-api","pointer":"/info"}' openapi-dynamic-mcp make_endpoint_request --config ./config.yaml --input '{"apiName":"pet-api","endpointId":"listPets","dryRun":true}'

Shared flags:

  • --input : JSON object with command arguments
  • --fields : repeatable selector for filtering successful output
  • --describe: print the command schema and help metadata
  • --auth-file : override the auth-store path
Auth Command

Use auth to pre-authenticate one configured security scheme and persist its token for later MCP or CLI calls:

openapi-dynamic-mcp auth --config ./config.yaml --api pet-api --scheme OAuthCC

openapi-dynamic-mcp auth --config ./config.yaml --api pet-api --scheme ApiKeyAuth --token secret

For API key and bearer auth, --token provides the secret directly. For OAuth2, the command uses your configured credentials, completes the flow, and stores the result for later use.

Authentication

Supported authentication types:

  • API key
  • HTTP bearer
  • HTTP basic
  • OAuth2 client credentials
  • OAuth2 password grant (ROPC)
  • OAuth2 device code
  • OAuth2 authorization code with PKCE

Typical auth flow:

  1. Provide credentials through environment variables or config
  2. Run auth once if the scheme needs a stored token
  3. Reuse that token from MCP or the CLI until it expires or changes
Auth Store

By default, tokens are stored beside your config file in:

.openapi-dynamic-mcp-auth.json

You can override that path with either:

  • --auth-file
  • OPENAPI_DYNAMIC_MCP_AUTH_FILE

This makes repeated API use much smoother, especially for MCP clients that need to reconnect often.

Interactive OAuth2 Flows

When a request needs user interaction, the tool returns structured guidance that an MCP agent can relay to the user. Typical device-code output looks like:

{

"status": "authorization_required", "method": "device_code", "message": "User authorization required. Ask the user to visit the URL and enter the code.", "verificationUri": "https://auth.example.com/device", "userCode": "ABCD-1234", "instruction": "After the user confirms, call this endpoint again." }

This is especially useful for MCP agents because the auth step becomes a normal part of the user workflow instead of a dead-end error.

Environment Variables

Environment variables are useful for secrets, base URL overrides, and CI setups.

Names are derived from normalized API and scheme names:

  • Uppercase
  • Non-alphanumeric characters become _
  • Repeated _ are collapsed
  • Leading and trailing _ are removed

Examples:

  • pet-api -> PET_API
  • OAuth2 -> OAUTH2
API-Level Variables
  • _BASE_URL
  • _HEADERS as a JSON object string
  • OPENAPI_DYNAMIC_MCP_AUTH_FILE
API Key
  • _ _API_KEY
HTTP Auth
  • _ _TOKEN
  • _ _USERNAME
  • _ _PASSWORD
OAuth2
  • _ _ACCESS_TOKEN
  • _ _CLIENT_ID
  • _ _CLIENT_SECRET
  • _ _TOKEN_URL
  • _ _SCOPES as a space-delimited list
  • _ _TOKEN_AUTH_METHOD as client_secret_basic or client_secret_post
  • _ _USERNAME
  • _ _PASSWORD
  • _ _AUTH_METHOD as device_code or authorization_code
  • _ _DEVICE_AUTHORIZATION_ENDPOINT
  • _ _REDIRECT_PORT
  • _ _PKCE as true or false

Useful behaviors:

  • _ACCESS_TOKEN bypasses OAuth grant flows entirely.
  • _AUTH_METHOD forces device_code or authorization_code when both are possible.
  • _USERNAME and _PASSWORD are used for both HTTP basic auth and OAuth password grant, depending on the security scheme.

Working with Responses

JSONPath Filtering

CLI --fields and MCP fields: string[] let you keep only the parts of a successful response you care about. This is helpful when specs or payloads are too large to inspect comfortably.

Examples:

openapi-dynamic-mcp list_apis --config ./config.yaml --fields '$.apis[*].name'

openapi-dynamic-mcp get_api_endpoint --config ./config.yaml --input '{"apiName":"pet-api","endpointId":"listPets"}' --fields '$.responses'

Selectors support quoted member escaping, array indexes, and wildcards.

Large Schema Warnings

get_api_schema adds a _sizeWarning advisory field when the response is very large, prompting you to narrow the JSON Pointer.

Dry Runs

make_endpoint_request supports dryRun: true so you can confirm the URL, headers, auth, and serialized body before sending a real request.

Files and Binary Data

make_endpoint_request supports both multipart/form-data and raw binary uploads.

Each file entry must provide exactly one content source: base64, text, or filePath.

{

"name": "avatar.png", "contentType": "image/png", "filePath": "/absolute/path/to/avatar.png" }

Multipart example:

{

"apiName": "pet-api", "endpointId": "uploadProfile", "contentType": "multipart/form-data", "body": { "description": "A photo of Fido" }, "files": { "profileImage": { "name": "fido.jpg", "contentType": "image/jpeg", "filePath": "/Users/local/images/fido.jpg" } } }

Raw binary example:

{

"apiName": "pet-api", "endpointId": "uploadRaw", "contentType": "application/octet-stream", "files": { "body": { "filePath": "/Users/local/data.bin" } } }

MCP Tools

These five tools cover the main user workflows:

ToolPurpose

| list_apis | List configured

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx