mova-mcp-connector
mova-mcp-connector is the thin Rust MCP server that sits above the existing MOVA platform connector model.
Current role:
- expose MOVA connector capabilities through an MCP-compatible tool surface
- resolve connector definitions from
mcp_door - resolve business bindings from
mcp_door - resolve access-registry state from
mcp_door - prepare a normalized proxy plan for upstream transport
- stay thin and platform-aware instead of inventing a second connector subsystem
This service is intentionally separate from:
mova-tool-sdkwhich stays Python-first and user-facingmova-state-1.5which remains the operational truth
Current release state:
- binary starts locally and exposes MCP plus proxy HTTP surfaces
- proxy prepare/invoke work against
mcp_door endpoint_refandsecret_refcan be resolved from local transport maps- local binding-driven upstream MCP invoke has been proven end-to-end
- remaining work is production hardening, not protocol viability
Public docs:
Surface
Current endpoints:
GET /healthGET /v1/connectors/:connector_idGET /v1/bindings/:binding_idPOST /v1/proxy/preparePOST /v1/proxy/invokePOST /mcp
Current MCP methods:
initializetools/listtools/call
Current MCP tools:
mova.connectors.getmova.bindings.getmova.proxy.preparemova.proxy.invoke
Invocation Boundary
- the service can perform a real upstream MCP call by sending
initializeand thentools/call - it can resolve
endpoint_refthroughMOVA_MCP_CONNECTOR_ENDPOINT_REFS_JSON - it can resolve
secret_refthroughMOVA_MCP_CONNECTOR_SECRET_REFS_JSON - it now reads
/access/connectorsand/access/vault-bindingsto enrich business bindings with real platform access metadata - caller-provided
upstream_urland headers still work as override or fallback - strongest local proof currently covered:
- business binding contains
endpoint_refandsecret_ref - proxy resolves transport from platform material without explicit
upstream_url - upstream MCP server completes a real external read-only HTTP call and returns through proxy
- business binding contains
Config
Environment:
MOVA_PLATFORM_URLMCP_DOOR_BASE_URLMOVA_DOOR_BASE_URLMOVA_ADMIN_READ_TOKENMCP_DOOR_GATEWAY_KEY_IDMCP_DOOR_GATEWAY_SHARED_SECRETMCP_DOOR_ACTOR_IDMCP_DOOR_ACTOR_ROLEMCP_DOOR_ACTOR_TYPEMOVA_MCP_CONNECTOR_ENDPOINT_REFS_JSONMOVA_MCP_CONNECTOR_SECRET_REFS_JSONMOVA_MCP_CONNECTOR_BIND_ADDR
See .env.example for a local bootstrap shape.
Intent
This repo is the future home of the single MCP connector/proxy mentioned in the production planning work. The current implementation establishes:
- the real platform contour
- signed gateway transport to
mcp_door - a first MCP-compatible tool surface
- a proven proxy boundary for upstream MCP invocation