Discovers and calls endpoints from large OpenAPI specs by chunking them and searching endpoints semantically.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add any-openapi --env OPENAPI_JSON_DOCS_URL='<OPENAPI_JSON_DOCS_URL>' --env MCP_API_PREFIX='<MCP_API_PREFIX>' -- docker run -i --rm -e 'OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}' -e 'MCP_API_PREFIX={{config.MCP_API_PREFIX}}' -e 'GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}' buryhuang/mcp-server-any-openapi:latest~/.codex/config.toml
[mcp_servers.any-openapi]
command = "docker"
args = ["run", "-i", "--rm", "-e", "OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}", "-e", "MCP_API_PREFIX={{config.MCP_API_PREFIX}}", "-e", "GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}", "buryhuang/mcp-server-any-openapi:latest"]
env = { OPENAPI_JSON_DOCS_URL = "<OPENAPI_JSON_DOCS_URL>", MCP_API_PREFIX = "<MCP_API_PREFIX>" }
# codex mcp add any-openapi --env OPENAPI_JSON_DOCS_URL='<OPENAPI_JSON_DOCS_URL>' --env MCP_API_PREFIX='<MCP_API_PREFIX>' -- docker run -i --rm -e 'OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}' -e 'MCP_API_PREFIX={{config.MCP_API_PREFIX}}' -e 'GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}' buryhuang/mcp-server-any-openapi:latest~/.cursor/mcp.json
{
"mcpServers": {
"any-openapi": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}",
"-e",
"MCP_API_PREFIX={{config.MCP_API_PREFIX}}",
"-e",
"GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}",
"buryhuang/mcp-server-any-openapi:latest"
],
"env": {
"OPENAPI_JSON_DOCS_URL": "<OPENAPI_JSON_DOCS_URL>",
"MCP_API_PREFIX": "<MCP_API_PREFIX>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"any-openapi": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}",
"-e",
"MCP_API_PREFIX={{config.MCP_API_PREFIX}}",
"-e",
"GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}",
"buryhuang/mcp-server-any-openapi:latest"
],
"env": {
"OPENAPI_JSON_DOCS_URL": "<OPENAPI_JSON_DOCS_URL>",
"MCP_API_PREFIX": "<MCP_API_PREFIX>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"any-openapi": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}",
"-e",
"MCP_API_PREFIX={{config.MCP_API_PREFIX}}",
"-e",
"GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}",
"buryhuang/mcp-server-any-openapi:latest"
],
"env": {
"OPENAPI_JSON_DOCS_URL": "<OPENAPI_JSON_DOCS_URL>",
"MCP_API_PREFIX": "<MCP_API_PREFIX>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"any-openapi": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}",
"-e",
"MCP_API_PREFIX={{config.MCP_API_PREFIX}}",
"-e",
"GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}",
"buryhuang/mcp-server-any-openapi:latest"
],
"env": {
"OPENAPI_JSON_DOCS_URL": "<OPENAPI_JSON_DOCS_URL>",
"MCP_API_PREFIX": "<MCP_API_PREFIX>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"any-openapi": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_JSON_DOCS_URL={{config.OPENAPI_JSON_DOCS_URL}}",
"-e",
"MCP_API_PREFIX={{config.MCP_API_PREFIX}}",
"-e",
"GLOBAL_TOOL_PROMPT={{config.GLOBAL_TOOL_PROMPT}}",
"buryhuang/mcp-server-any-openapi:latest"
],
"env": {
"OPENAPI_JSON_DOCS_URL": "<OPENAPI_JSON_DOCS_URL>",
"MCP_API_PREFIX": "<MCP_API_PREFIX>"
}
}
}
}Environment variables
OPENAPI_JSON_DOCS_URLMCP_API_PREFIX
Replace the placeholders with your own credentials and keep them out of version control.