StallReady MCP documentation
Remote MCP for Texas mobile-vendor readiness. Prepare-only — no government filing. Paid surface on Ops+MCP ($149/mo); Solo/Fleet do not unlock tool calls.
Endpoint
- URL:
https://stallready.com/api/mcp - Transport: Streamable HTTP (POST JSON-RPC). Set
Accept: application/json, text/event-streamandMCP-Protocol-Version: 2025-06-18on every request. - Legacy transport: The 2024-11-05 HTTP+SSE profile is not hosted — use POST Streamable HTTP only. That is separate from protocol negotiation (below).
- Registry: server.json (MCP Registry draft
com.stallready/readiness). - Discovery: oauth-protected-resource (RFC 9728), llms.txt, mcp.md.
Protocol version (header vs initialize body)
StallReady implements Streamable HTTP with negotiated protocol 2025-06-18. Clients should send the HTTP header MCP-Protocol-Version: 2025-06-18. The server also accepts 2025-03-26 or no MCP-Protocol-Version header on the request.
- Unsupported HTTP header — e.g.
MCP-Protocol-Version: 2024-11-05— returns HTTP 400 with{ "error": { "code": "invalid_protocol_version", ... } }before JSON-RPC runs. - Initialize JSON-RPC body — with a supported or omitted header,
params.protocolVersion: "2024-11-05"in aninitializecall is not rejected. The server responds HTTP 200 and setsresult.protocolVersionto2025-06-18.
Authentication
Supported today: Authorization: Bearer sr_live_… Ops API keys from app settings (Ops+MCP tier). Unauthenticated requests return 401 with WWW-Authenticate pointing at PRM.
OAuth 2.1: PRM and authorization-server metadata are served for client discovery. Unless MCP_OAUTH_* env vars point at a live IdP, AS endpoints are stubs — do not expect /authorize or /token on this host to complete a flow yet. Check mcp_oauth_status in oauth-authorization-server.
PathProbe / agent corridor workflow (demo)
Production PathProbe curls use the seeded demo Ops bearer sr_live_demo_stallready_ops_key_0001 (same value as demo login / local seed — do not substitute another key). Replace only YOUR_TRUCK_ID in step 3 after list_trucks.
# 1) List trucks — pick a truck_id
curl -s -X POST https://stallready.com/api/mcp \
-H "Authorization: Bearer sr_live_demo_stallready_ops_key_0001" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_trucks","arguments":{}}}'
# 2) Austin checklist + readiness for an event date
# 3) generate_compliance_pack with confirm:true and idempotency_key for safe retriesExample pack call (use a real truck_id from step 1):
curl -s -X POST https://stallready.com/api/mcp \
-H "Authorization: Bearer sr_live_demo_stallready_ops_key_0001" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"generate_compliance_pack","arguments":{"city":"Austin","event_date":"2026-07-04","truck_id":"YOUR_TRUCK_ID","confirm":true,"idempotency_key":"pathprobe-demo-001"}}}'Tools
list_expiring_docs— List credentials for the authenticated org that expire within N days (or are already expired when include_expired is tru…get_readiness_score— Compute event-specific readiness 0–100 for one truck in a TX corridor city on event_date. Read-only. Required: truck_id …get_city_checklist— Return source-linked rule cards for a Texas corridor city or statewide DSHS MFV layer. Read-only. Required: city (normal…export_inspector_packet— Create an inspector packet export for a truck and return print_url plus credential/vault summary. Side effect: inserts a…generate_compliance_pack— Aggregate city checklist + readiness score + inspector packet for a pre-event bundle. Side effects when confirm is true:…list_trucks— List all trucks belonging to the authenticated organization. Read-only. No parameters. Example: {}. Returns trucks array…list_credentials— List credentials for the org, optionally filtered by truck_id and status. Read-only. Example: { "truck_id": "trk_abc", "…
Limits & observability
- Per-minute rate limits (429 + Retry-After).
- Monthly fair-use: 5,000 included tool calls; soft warning via
X-MCP-Fair-Use-Warning; hard cap at 7,500/UTC month. - Mutating tools accept
idempotency_keyfor safe retries. - Server logs tool name, latency, and outcome (no secrets).
Upgrade
Self-serve via Stripe Checkout when STRIPE_PRICE_ID_OPS_MCP is configured; otherwise use billing settings after signup. No consult required for MCP entitlement.