{"id":"dxheroes-local-mcp-gateway","name":"local-mcp-gateway","homepage":"https://mcp.dx.tools","repo_url":"https://github.com/DXHeroes/local-mcp-gateway","category":"api-gateway","subcategories":[],"tags":["mcp","api-gateway","oauth2","local-first","observability","profiles","docker","typescript"],"what_it_does":"Local MCP Gateway is a self-hosted control-plane/proxy that aggregates multiple MCP servers behind profile-specific HTTP endpoints, with a web UI for managing MCP servers, profiles, tools, logging/observability, and access control (API keys and OAuth 2.1).","use_cases":["Expose a curated subset of MCP tools to different AI assistants via profiles","Aggregate multiple MCP servers (stdio/SSE/remote) behind a single gateway endpoint","Team/shared management of MCP servers and profiles with role-based access control","Debug/inspect MCP request/response traffic through an observability UI"],"not_for":["Publicly hosted, internet-facing services without additional hardening/ops controls","Environments requiring a strict, documented API contract for every gateway behavior without UI-based configuration","Use as a lightweight library/SDK for embedding into another backend"],"best_when":"You want to self-host an MCP aggregation/gateway locally (often with Docker) and manage which tools are available to different clients/assistants.","avoid_when":"You cannot support user authentication flows (signup/OAuth) or prefer a simple unauthenticated pass-through proxy.","alternatives":["Direct MCP server connections configured per client (no gateway/profiles)","Other self-hosted MCP gateways/proxies (if available in your ecosystem)","Build a custom proxy layer that forwards MCP calls to specific upstreams"],"af_score":44.0,"security_score":59.2,"reliability_score":21.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:35:24.441339+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"http://localhost:9631/api/mcp/default","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Email/password signup (per README: sign up with email and password)","Google OAuth (per README: 'User Authentication (email/password, Google OAuth)')","API key management (per README: 'Built-in API Key management')","OAuth 2.1 (PKCE, DCR) (per README)"],"oauth":true,"scopes":false,"notes":"Auth is described at a feature level (OAuth 2.1, API key management, team RBAC), but the README provided does not include concrete auth flows, endpoints, scope model, or exact token usage for the MCP endpoints."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Self-hosted. README indicates Elastic License 2.0 and 'cannot be provided as a hosted service to third parties,' which affects commercial hosting/licensing decisions."},"requirements":{"requires_signup":true,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":44.0,"security_score":59.2,"reliability_score":21.2,"mcp_server_quality":70.0,"documentation_accuracy":60.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":45.0,"rate_limit_clarity":10.0,"tls_enforcement":70.0,"auth_strength":75.0,"scope_granularity":45.0,"dependency_hygiene":50.0,"secret_handling":50.0,"security_notes":"README claims OAuth 2.1 support (PKCE, DCR) and API key management, plus organization/team RBAC. However, provided materials do not specify scope granularity, token lifetimes, rotation, CSRF protections, secure session storage, or whether the HTTP endpoints enforce HTTPS. Docker/local usage suggests transport is typically local, but TLS requirements for production are not described. Dependency hygiene and secret handling practices are not evidenced in the provided content.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":30.0,"error_recovery":20.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Requires authentication/signup and likely token/API-key setup before tool usage (details not provided in README).","Profile selection is dynamic via different MCP endpoint URLs; agents must use the correct profile path (e.g., /api/mcp/{profile}).","If used with Claude Desktop, HTTPS tunneling may be required to avoid SSL/certificate issues."]}}