# FrameID MCP server — instructions for AI agents If a user asks you to use the FrameID MCP, everything you need is here. Endpoint (streamable HTTP, JSON-RPC, MCP protocol 2025-06-18): https://vvtwoeixlmawcngwvxkz.supabase.co/functions/v1/mcp Machine-readable manifest: https://frameid.org/.well-known/mcp.json Human documentation: https://frameid.org/for/mcp ## Connect No API key, no registration, no allowlist. Send JSON-RPC over HTTP POST with: Content-Type: application/json Accept: application/json, text/event-stream Example: curl -s -X POST https://vvtwoeixlmawcngwvxkz.supabase.co/functions/v1/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' ## Client configuration Claude Desktop / Claude Code / Cursor / Windsurf — add to the MCP server config: { "mcpServers": { "frameid": { "type": "http", "url": "https://vvtwoeixlmawcngwvxkz.supabase.co/functions/v1/mcp" } } } Clients that only speak stdio can wrap it: npx -y mcp-remote https://vvtwoeixlmawcngwvxkz.supabase.co/functions/v1/mcp ## Tools Open to anyone (no sign-in): frameid_lookup_bike Find a bike by Frame ID, frame serial or registration plate. frameid_check_stolen Is this bike on the stolen register, and where was it reported? frameid_search_archive Search the bike model archive by brand, model, year. frameid_get_archive_model One archive model with specs and compliance notes. frameid_search_components Motors, batteries, controllers, displays, tyres. frameid_lookup_fault_codes Explain an e-bike display fault code. frameid_estimate_value Second-hand value from comparable Australian listings. frameid_sign_in Exchange a FrameID email + password for a session token. Needs a FrameID sign-in (pass Authorization: Bearer ): frameid_my_bikes The bikes registered to the account. frameid_get_my_bike One of the account holder's bikes, with service history. frameid_my_transfers Ownership transfers involving the account. Signed in and changes data — always confirm with the user first: frameid_report_stolen Put one of the account holder's own bikes on the stolen register. frameid_report_sighting Record a sighting of a bike on the register. frameid_register_bike Register a new bike to the account. ## Rules - Public responses omit owner identity, contact details, prices and internal notes. Do not claim to know who owns a bike from a public lookup. - Never guess a Frame ID, serial or plate. Ask the user for it. - Ask for explicit confirmation before any write tool. - Value estimates depend on comparable listings; when there are too few, the tool says so and you should report that rather than invent a number. - Rate limits: 240 requests per IP per minute, 10 sign-in attempts per IP per 5 minutes, 20 writes per account per hour.