0
/ 100
1 day ago
glama

mcp4openapi

Turn any OpenAPI specification into a smaller, LLM-friendly MCP server. Enables interaction with REST APIs through MCP tools using profiles to reduce complexity.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Hardcoded credentials detected
1 live-looking API key in source: 1 OpenAI API key
🚨
Known vulnerabilities in dependencies: 1 critical, 1 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 7 credentials: GITLAB_TOKEN, MCP4_API_TOKEN, MCP4_OAUTH_CLIENT_SECRET, MCP_PROXY_CLIENT_SECRET, TEST_FACTORY_E2E_KEY, UPSTREAM_SECRET, YOUTRACK_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configENTERPRISE_ALLOWED_ALGS
configENTERPRISE_AUDIENCE
configENTERPRISE_CATEGORIES
configENTERPRISE_CLAIM_MAPPINGS
configENTERPRISE_DEFAULT_SCOPES
configENTERPRISE_ISSUER
configENTERPRISE_MODE
🔐 secretGITLAB_TOKENProfile auth env vars: Use profile-specific names for value_from_env (for example, , YOUTRACK_TOKEN) instead of the generic MCP4_API_TOKEN.
configIMPLEMENTOR_COMMAND
configIMPLEMENTOR_FALLBACK_COMMAND
configIMPLEMENTOR_LEASE_TTL_MINUTES
configIMPLEMENTOR_TASK_JSON
configMCP4_ALLOWED_ORIGINSComma-separated origins (supports exact, wildcard .domain.com, CIDR 192.168.1.0/24)
configMCP4_ALLOWED_UNREGISTERED_REDIRECT_URISComma-separated approved redirect URI rules for unregistered OAuth clients, e.g. http://localhost,cursor:// (optional)
configMCP4_ALLOW_PROFILESComma-separated profile ids/names/aliases allowed for routed profiles.
configMCP4_ALLOW_PROFILES_REGEXRegex for allowed profile ids/names/aliases (applies only when routing is enabled).
configMCP4_ALLOW_UNREGISTERED_CLIENTSAllow authorize requests for unregistered OAuth clients when redirect URIs match the approved allowlist (optional, default: false)
configMCP4_API_BASE_URLOverride OpenAPI server URL
🔐 secretMCP4_API_TOKENexport =your_token
configMCP4_FILTER_MAX_VALUESMax values per filtering key (default: 10)
configMCP4_HELP
configMCP4_HIDDEN_PROFILESComma-separated profile ids/names/aliases to hide from the index page (profiles remain fully functional).
configMCP4_HOSTBind address (default: 127.0.0.1)
configMCP4_HTTP_PROFILE_ROUTINGEnable profile routing (/profile/:id/mcp). If enabled without a default profile, /mcp is not registered.
configMCP4_LIST_PROFILES
configMCP4_LOG_FORMATconsole (default) or json
configMCP4_LOG_LEVELdebug, info (default), warn, error
configMCP4_OAUTH_AUTHORIZATION_URL1. Explicit URLs: , MCP4_OAUTH_TOKEN_URL (highest priority)
configMCP4_OAUTH_CLIENT_IDexport =your_dcr_client_id
🔐 secretMCP4_OAUTH_CLIENT_SECRETexport =your_dcr_client_secret
configMCP4_OAUTH_CLIENT_STORE_MAX_CLIENTSMax dynamic OAuth clients stored in memory (default: 1000)
configMCP4_OAUTH_ISSUER2. Explicit issuer: (auto-derives standard OAuth paths)
configMCP4_OAUTH_RATE_LIMIT_MAXMax OAuth requests per window (default: 10)
configMCP4_OAUTH_RATE_LIMIT_WINDOW_MSOAuth rate limit window (default: 60000 = 1 minute)
configMCP4_OAUTH_REDIRECT_URIexport =http://127.0.0.1:3003/oauth/callback
configMCP4_OAUTH_REFRESH_THRESHOLD_MSRefresh access tokens this many ms before expiry (default: 60000 = 60s)
configMCP4_OAUTH_SESSION_TIMEOUT_MSOAuth session timeout for sessions with refresh tokens (default: 86400000 = 24h, 0 = unlimited)
configMCP4_OAUTH_TOKEN_URL1. Explicit URLs: MCP4_OAUTH_AUTHORIZATION_URL, (highest priority)
configMCP4_OPENAPI_SPEC_PATHexport =./incomplete-spec.yaml
configMCP4_PARAM_FILTERBaseline parameter filter using the same format as X-Mcp4-Params
configMCP4_PORTPort (default: 3003)
configMCP4_PROFILEProfile ID for resolving profiles from a directory (used by --profile)
configMCP4_PROFILES_DIRProfiles are resolved from ./profiles path by default. If that directory is missing, the bundled npm package profiles are used. Override with --profiles-dir or .
configMCP4_PROFILE_PATHProfile JSON path (default: auto-generate tools from OpenAPI spec; warning logged if tool exceeds 60 parameters)
configMCP4_SSRF_ALLOW_PRIVATE_NETWORKSet to true to allow private/loopback/link-local targets in SSRF validation paths, including bootstrap URL checks.
configMCP4_TOKEN_MAX_LENGTHMaximum token length in characters (default: 4096, raised from 1000 in Phase 03.4 to accommodate encrypted token envelopes)
configMCP4_TOOLNAME_MAXMaximum tool name length (default: 45)
configMCP4_TOOLNAME_MIN_LENGTHMinimum length in chars for balanced strategy (default: 20)
configMCP4_TOOLNAME_MIN_PARTSMinimum parts for balanced strategy (default: 3)
configMCP4_TOOLNAME_SIMILARITY_THRESHOLDSimilarity threshold for warning examples (default: 0.75)
configMCP4_TOOLNAME_SIMILAR_TOPHow many similar operationId pairs to show in warnings (default: 3)
configMCP4_TOOLNAME_STRATEGYShortening strategy: nonebalancediterativehashauto (default: none)
configMCP4_TOOLNAME_WARN_ONLYOnly warn, don't shorten: truefalse (default: true)
configMCP4_TOOL_FILTER_ALLOW_CATEGORIESComma-separated operation categories to allow (list and/or read). Composite tools are allowed only if all steps are within the allowed categories.
configMCP4_TOOL_FILTER_ALLOW_NAMESComma-separated tool names to keep (exact match, case-sensitive)
configMCP4_TOOL_FILTER_ALLOW_NAME_REGEXComma-separated regex patterns to allow (auto-anchored unless already wrapped with ^ and $)
configMCP4_TOOL_FILTER_DENY_NAMESComma-separated tool names to exclude
configMCP4_TOOL_FILTER_DENY_NAME_REGEXComma-separated regex patterns to exclude (auto-anchored)
configMCP4_TOOL_FILTER_WARN_THRESHOLD_PCTWarn when filtered percentage exceeds this threshold (default: 90)
configMCP4_TRANSPORTstdio (default) or http
configMCP4_TRUST_BOOTSTRAP_URLSSet to true to skip SSRF checks for bootstrap URL fetches (remote OpenAPI spec loading and OAuth metadata discovery). Default is secure mode (false).
configMCP4_VERSION
configMCP_PROXY_CLIENT_ID
🔐 secretMCP_PROXY_CLIENT_SECRET
configMERGE_EXECUTOR_METHOD
configTEST_API_KEY_A
configTEST_API_KEY_B
configTEST_AUTH_URL
🔐 secretTEST_FACTORY_E2E_KEY
configTEST_GATE_MODE
configTEST_ISSUER
configTEST_TOKEN_URL
🔐 secretUPSTREAM_SECRET
configUPSTREAM_SECRET_TEST_VAR
🔐 secretYOUTRACK_TOKENProfile auth env vars: Use profile-specific names for value_from_env (for example, GITLAB_TOKEN, ) instead of the generic MCP4_API_TOKEN.
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/davidruzicka-mcp4openapi-1e1mq2)](https://m8ven.ai/mcp/davidruzicka-mcp4openapi-1e1mq2)
commit: e9f85d21f2577e27a11b5b4cef25248b30ab9785
code hash: 34955fc6db21baef81aba6a32d96652a86714adbcd8c5ca7d3b3ca9dd6bf32a5
verified: 6/2/2026, 12:23:56 PM
view raw JSON →