Dynamically exposes REST APIs defined by OpenAPI specs as MCP tools, with Streamable HTTP support.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add openapi-proxy --env API_AUTH_TYPE='<API_AUTH_TYPE>' --env API_KEY='<API_KEY>' --env EXTRA_HEADERS='<EXTRA_HEADERS>' --env OPENAPI_SPEC_FORMAT='<OPENAPI_SPEC_FORMAT>' --env OPENAPI_SPEC_URL='<OPENAPI_SPEC_URL>' --env SERVER_URL_OVERRIDE='<SERVER_URL_OVERRIDE>' --env STRIP_PARAM='<STRIP_PARAM>' --env TOOL_NAME_PREFIX='<TOOL_NAME_PREFIX>' --env TOOL_WHITELIST='<TOOL_WHITELIST>' -- uvx mcp-openapi-proxy~/.codex/config.toml
[mcp_servers.openapi-proxy]
command = "uvx"
args = ["mcp-openapi-proxy"]
env = { API_AUTH_TYPE = "<API_AUTH_TYPE>", API_KEY = "<API_KEY>", EXTRA_HEADERS = "<EXTRA_HEADERS>", OPENAPI_SPEC_FORMAT = "<OPENAPI_SPEC_FORMAT>", OPENAPI_SPEC_URL = "<OPENAPI_SPEC_URL>", SERVER_URL_OVERRIDE = "<SERVER_URL_OVERRIDE>", STRIP_PARAM = "<STRIP_PARAM>", TOOL_NAME_PREFIX = "<TOOL_NAME_PREFIX>", TOOL_WHITELIST = "<TOOL_WHITELIST>" }
# codex mcp add openapi-proxy --env API_AUTH_TYPE='<API_AUTH_TYPE>' --env API_KEY='<API_KEY>' --env EXTRA_HEADERS='<EXTRA_HEADERS>' --env OPENAPI_SPEC_FORMAT='<OPENAPI_SPEC_FORMAT>' --env OPENAPI_SPEC_URL='<OPENAPI_SPEC_URL>' --env SERVER_URL_OVERRIDE='<SERVER_URL_OVERRIDE>' --env STRIP_PARAM='<STRIP_PARAM>' --env TOOL_NAME_PREFIX='<TOOL_NAME_PREFIX>' --env TOOL_WHITELIST='<TOOL_WHITELIST>' -- uvx mcp-openapi-proxy~/.cursor/mcp.json
{
"mcpServers": {
"openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"API_AUTH_TYPE": "<API_AUTH_TYPE>",
"API_KEY": "<API_KEY>",
"EXTRA_HEADERS": "<EXTRA_HEADERS>",
"OPENAPI_SPEC_FORMAT": "<OPENAPI_SPEC_FORMAT>",
"OPENAPI_SPEC_URL": "<OPENAPI_SPEC_URL>",
"SERVER_URL_OVERRIDE": "<SERVER_URL_OVERRIDE>",
"STRIP_PARAM": "<STRIP_PARAM>",
"TOOL_NAME_PREFIX": "<TOOL_NAME_PREFIX>",
"TOOL_WHITELIST": "<TOOL_WHITELIST>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"openapi-proxy": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"API_AUTH_TYPE": "<API_AUTH_TYPE>",
"API_KEY": "<API_KEY>",
"EXTRA_HEADERS": "<EXTRA_HEADERS>",
"OPENAPI_SPEC_FORMAT": "<OPENAPI_SPEC_FORMAT>",
"OPENAPI_SPEC_URL": "<OPENAPI_SPEC_URL>",
"SERVER_URL_OVERRIDE": "<SERVER_URL_OVERRIDE>",
"STRIP_PARAM": "<STRIP_PARAM>",
"TOOL_NAME_PREFIX": "<TOOL_NAME_PREFIX>",
"TOOL_WHITELIST": "<TOOL_WHITELIST>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"API_AUTH_TYPE": "<API_AUTH_TYPE>",
"API_KEY": "<API_KEY>",
"EXTRA_HEADERS": "<EXTRA_HEADERS>",
"OPENAPI_SPEC_FORMAT": "<OPENAPI_SPEC_FORMAT>",
"OPENAPI_SPEC_URL": "<OPENAPI_SPEC_URL>",
"SERVER_URL_OVERRIDE": "<SERVER_URL_OVERRIDE>",
"STRIP_PARAM": "<STRIP_PARAM>",
"TOOL_NAME_PREFIX": "<TOOL_NAME_PREFIX>",
"TOOL_WHITELIST": "<TOOL_WHITELIST>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"API_AUTH_TYPE": "<API_AUTH_TYPE>",
"API_KEY": "<API_KEY>",
"EXTRA_HEADERS": "<EXTRA_HEADERS>",
"OPENAPI_SPEC_FORMAT": "<OPENAPI_SPEC_FORMAT>",
"OPENAPI_SPEC_URL": "<OPENAPI_SPEC_URL>",
"SERVER_URL_OVERRIDE": "<SERVER_URL_OVERRIDE>",
"STRIP_PARAM": "<STRIP_PARAM>",
"TOOL_NAME_PREFIX": "<TOOL_NAME_PREFIX>",
"TOOL_WHITELIST": "<TOOL_WHITELIST>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"API_AUTH_TYPE": "<API_AUTH_TYPE>",
"API_KEY": "<API_KEY>",
"EXTRA_HEADERS": "<EXTRA_HEADERS>",
"OPENAPI_SPEC_FORMAT": "<OPENAPI_SPEC_FORMAT>",
"OPENAPI_SPEC_URL": "<OPENAPI_SPEC_URL>",
"SERVER_URL_OVERRIDE": "<SERVER_URL_OVERRIDE>",
"STRIP_PARAM": "<STRIP_PARAM>",
"TOOL_NAME_PREFIX": "<TOOL_NAME_PREFIX>",
"TOOL_WHITELIST": "<TOOL_WHITELIST>"
}
}
}
}需要的环境变量
API_AUTH_TYPEAPI_KEYEXTRA_HEADERSOPENAPI_SPEC_FORMATOPENAPI_SPEC_URLSERVER_URL_OVERRIDESTRIP_PARAMTOOL_NAME_PREFIXTOOL_WHITELIST
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。