Documentation Index
Fetch the complete documentation index at: https://docs.modelrunner.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
ModelRunner ships a hosted Model Context Protocol server that exposes the platform as a set of tools your AI assistant can call directly. Once connected, your assistant can browse models, run inference, upload files, and inspect your request history without ever leaving the chat. Connection uses OAuth 2.1 with Dynamic Client Registration (RFC 7591) — clients register themselves on first connect, then prompt you to log in to ModelRunner in your browser. You never paste an API key into the client config.Quick start
- Claude Desktop
- Claude Code
- Cursor
Add ModelRunner to your Restart Claude Desktop. On the first tool call, you’ll be redirected to ModelRunner to authorize the client.
claude_desktop_config.json:After authorization, ask your assistant “list the recommended image models on ModelRunner” — it should return a curated shortlist via the
recommended_models tool.Tools
The server exposes 13 tools, grouped by what they do.Discovery
| Tool | Purpose |
|---|---|
list_models | Paginated list of public models. Filters: search, category, page, limit. |
recommended_models | Admin-curated shortlist for a category (image / video / utility). Fastest pick path. |
get_model | Compact, LLM-friendly description of one model (inputs, outputs, pricing, examples). |
get_model_raw_schema | Raw JSON Schema for a model’s input — use this when you need exact field types. |
list_wrappers | Paginated list of wrappers (prompt-templated products built on base models). |
recommended_wrappers | Curated shortlist of wrappers by category. |
get_wrapper | Details for one wrapper, including its base model and template. |
search | Free-text search across models and wrappers in one call. |
Inference
| Tool | Purpose |
|---|---|
run_model | Submits an async inference request. Returns requestId immediately. Input field for files must be a URL — use upload_file. |
get_request | Returns current status, output (if completed), pricing, and error for a request. |
wait_for_request | Polls server-side until terminal state. Args: timeoutSeconds (default 120, max 600), pollIntervalSeconds (default 2). |
Files & history
| Tool | Purpose |
|---|---|
upload_file | Uploads raw base64 bytes or a remote url to ModelRunner storage. Returns the canonical fileUrl for use in run_model. 200 MiB cap. |
list_my_requests | Authenticated user’s request history, newest first. Filters: status, modelEndpoint, page, limit. |
Typical assistant flow
A common end-to-end pattern your assistant will run:upload_file to convert local bytes to a URL the model can consume.
OAuth flow (for client implementers)
If you’re building a third-party MCP client and want to support ModelRunner natively, the server publishes the standard discovery documents:- Protected Resource Metadata (RFC 9728):
GET /.well-known/oauth-protected-resource - Authorization Server Metadata (RFC 8414):
GET /.well-known/oauth-authorization-server
authorization_codewith PKCE (S256)refresh_token- Dynamic Client Registration via
POST /oauth/register - Token revocation via
POST /oauth/revoke(RFC 7009)
mcp.
Unauthorized requests to /mcp get a 401 with a WWW-Authenticate header pointing at the protected-resource metadata document — the standard MCP auth discovery handshake.
Troubleshooting
401 Unauthorizedon every tool call — Your token expired or was revoked. Disconnect and re-authorize in your client.- Tool list missing or empty — The client must send an
InitializeRequestas the first POST to/mcpwith noMcp-Session-Idheader. Most clients handle this automatically; check that you’re using a current MCP SDK build. upload_filereturns “exceeds the 200 MiB upload cap” — Use the direct multipart upload flow instead and pass the resultingfileUrltorun_model.

