ModelRunner MCP Sunucusu
ModelRunner MCP sunucusu, Claude’a, Cursor’a, VS Code’a ve diğer tüm MCP istemcilerine ModelRunner kataloğundaki 166 public modeli — görsel, video, ses, 3D ve metin — 23 çağrılabilir araç olarak veren barındırılan bir Model Context Protocol sunucusudur; yetkilendirme OAuth 2.1 ile, faturalandırma kullanıma göre yapılır.
{
"mcpServers": {
"modelrunner": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
}
}
}


- Transport
- Streamable HTTP
- Auth
- OAuth 2.1 + PKCE
- Tools
- All annotated
- Billing
- Per run, from your balance
İstemcinizi bağlayın
Tek yapıştırma, tek yetkilendirme. Hiçbir yere API anahtarı yazılmaz.
- 1
Add it to Claude Code
terminalAşağıdaki snippet’i yapıştırın — sunucu URL’sini zaten içeriyor.
- 2
Tarayıcınızda yetki verin
Then run /mcp in Claude Code to finish browser authorization.
claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp- 1
Add it to Claude Desktop & claude.ai
Settings → Connectors- Open Settings → Connectors.
- Click Add, then “Add custom connector”.
- Paste the server URL below and confirm.
https://mcp.modelrunner.run/mcp - 2
Tarayıcınızda yetki verin
Sign in to ModelRunner when the authorization window opens. Custom connectors are subject to your Claude plan’s own limits.
- 1
Add it to Cursor
~/.cursor/mcp.jsonAşağıdaki snippet’i yapıştırın — sunucu URL’sini zaten içeriyor.
- 2
Tarayıcınızda yetki verin
Reload Cursor, then approve the OAuth prompt.
{
"mcpServers": {
"modelrunner": {
"url": "https://mcp.modelrunner.run/mcp"
}
}
}- 1
Add it to VS Code
.vscode/mcp.jsonAşağıdaki snippet’i yapıştırın — sunucu URL’sini zaten içeriyor.
- 2
Tarayıcınızda yetki verin
Start it from the server entry in the editor, or via the “MCP: List Servers” command.
{
"servers": {
"modelrunner": {
"type": "http",
"url": "https://mcp.modelrunner.run/mcp"
}
}
}- 1
Add it to Any stdio client
mcp config (bridge)Aşağıdaki snippet’i yapıştırın — sunucu URL’sini zaten içeriyor.
- 2
Tarayıcınızda yetki verin
For clients that speak stdio only — mcp-remote bridges them to the hosted server. Windsurf and other MCP clients connect this way.
{
"mcpServers": {
"modelrunner": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
}
}
}Kendi cümlelerinizle isteyin
Search the ModelRunner catalog for text-to-video models, show me the three cheapest per second with their real prices, then run the cheapest one on: a paper boat drifting down a rain-flooded gutter at night.
Generate three reference frames for a misty-forest-at-dawn shot, let me pick one, then animate it into an 8-second clip and give me the hosted URLs.
Upload ./interview.m4a to ModelRunner, transcribe it, and write the transcript to notes.md with speaker turns.
Welcome to the show. Today we're talking about how AI assistants actually run models. Let's start simple. What is an MCP server? Thanks for having me. An MCP server is a bridge. Your assistant connects to it, discovers a set of tools, and can call them mid-conversation. In our case, those tools run image, video, and audio models in the cloud. And what happens to the files? Say I record an interview like this one. You upload it once, it becomes a hosted URL, and any transcription model can take it from there. The transcript comes back into the conversation with speaker turns.
Upscale every image in ./shots with an upscaling model from the catalog and write a JSON file mapping each filename to its hosted output URL.
List my ModelRunner runs from the last week grouped by model, with the total charged for each, and flag anything that failed.
Read the ModelRunner wrapper authoring guide, then turn the prompt we just tuned into a wrapper called product-hero that takes only a subject and a background colour. Preview it on two inputs before creating it.
23 araç
Özet değil, yüzeyin tamamı. Her rozet, aracın kendi MCP annotation’ıdır — istemcinizin ne için prompt vereceğine karar verirken okuduğu şey.
Keşfet
5 araçBir model bulun ve para harcamadan önce gerçek girdi şemasını okuyun.searchreadlist_modelsreadrecommended_modelsreadget_modelreadget_model_raw_schemareadHer biri ne yapar
- search
- Modeller ve wrapper’lar arasında tek listede, alaka sırasına göre serbest metin araması.
- list_models
- Herkese açık kataloğu sayfalayın; kategoriye ya da girdi/çıktı modalitesine göre filtreleyin.
- recommended_models
- Kategori başına seçilmiş kısa liste — sayfalamaya karşı görüşlü alternatif.
- get_model
- Tek bir modelin girdileri, çıktıları, fiyatlandırması ve örnekleri; okunacak biçimde kısaltılmış.
- get_model_raw_schema
- Kısaltılmamış, OpenAPI biçiminde JSON Schema — özet bir enum’u atladığında.
Çalıştır
3 araçBir iş gönderin ve sonucu alın. Medya çalıştırmaları asenkrondur — gönderin, sonra durumu sorun; dil (chat) modelleri aynı çağrıda yanıt verir.run_modelspendwait_for_requestreadget_requestreadHer biri ne yapar
- run_model
- Bir katalog modelini ya da wrapper’ı owner/alias endpoint’iyle çalıştırın. Para harcayan tek araç.
- wait_for_request
- Sunucu tarafında varsayılan olarak 2 dakikaya kadar (en fazla 10) bekleyip çalıştırmanın son durumunu döner. Çalıştırma her hâlükârda sürer — beklemeye devam etmek için tekrar çağırın.
- get_request
- İsteklerinizden biri için durum, barındırılan çıktı URL’leri, fiyat anlık görüntüsü ve hata.
Dosyalar ve geçmiş
3 araçYerel medyayı bir model girdisinin kabul ettiği URL’ye taşıyın ve geçmiş çalıştırmalarınızı yeniden bulun.create_upload_urlwriteupload_filewritelist_my_requestsreadHer biri ne yapar
- create_upload_url
- Byte’ları doğrudan PUT etmek için presigned URL — dosyaları context window’un dışında tutan yol.
- upload_file
- Uzak bir URL’yi yeniden barındırın ya da asistanın shell’i yoksa base64 byte gönderin.
- list_my_requests
- Kendi çalıştırma geçmişiniz, en yeniden başlayarak; duruma, endpoint’e ve metadata etiketlerine göre filtrelenebilir.
Wrapper yazın
12 araçÇalışan bir prompt’u, sizin ve ekibinizin yeniden çalıştırabileceği adlandırılmış bir endpoint’e dönüştürün.wrapper_authoring_guidereadlist_wrappersreadlist_my_wrappersreadrecommended_wrappersreadget_wrapperreadget_wrapper_raw_schemareadget_wrapper_prompt_templatereadget_wrapper_field_mappingsreadpreview_wrapperreadcreate_wrapperwritepatch_wrapperdestructivedelete_wrapperdestructiveHer biri ne yapar
- wrapper_authoring_guide
- Yazım kılavuzunun tamamı, metin olarak — asistan bir wrapper yazmadan önce kuralları okusun diye.
- list_wrappers
- Katalogdaki herkese açık wrapper’lar, kısa özetler hâlinde.
- list_my_wrappers
- Kendi wrapper’larınız; herkese açık listenin gizlediği özel ve taslak olanlar dâhil.
- recommended_wrappers
- Kategori başına seçilmiş kısa liste.
- get_wrapper
- Tek bir wrapper’ın girdileri, temel modelleri ve açıklaması; okunacak biçimde kısaltılmış.
- get_wrapper_raw_schema
- Yalnızca girdi şeması, özetin kısalttığı enum listelerinin tamamıyla.
- get_wrapper_prompt_template
- Yalnızca Handlebars prompt şablonu ve şablon context’i.
- get_wrapper_field_mappings
- Yalnızca temel model bağlantıları — varsayılan temel model ve model başına alan eşlemeleri.
- preview_wrapper
- Örnek girdiler için prompt’u ve eşlenen payload’ı hiçbir şey çalıştırmadan gösterir.
- create_wrapper
- Size ait yeni bir wrapper oluşturur — siz yayımlayana kadar özel bir taslak.
- patch_wrapper
- Kendi wrapper’larınızdan birini değiştirin; yalnızca gönderdiğiniz alanlara dokunulur.
- delete_wrapper
- Kendi wrapper’larınızdan birini kalıcı olarak siler. Geri alınamaz.
Çalışan bir prompt’u endpoint’e dönüştürün
23 aracın 12 tanesi tek bir iş için var: siz ve asistanınız işe yarayan bir prompt’u ayarladıktan sonra onu bir Wrapper olarak yayımlayın — bir temel model, bir prompt şablonu ve sadeleştirilmiş bir girdi şeması, kendi owner/alias endpoint’inizde.
wrapper_authoring_guideAsistan önce yazım kurallarını okur; böylece yazdığı şey makul değil, geçerli olur.
preview_wrapperÖrnek girdiler için prompt’u ve eşlenen payload’ı hiçbir şey çalıştırmadan gösterir; siz denerken ücret işlemez.
create_wrapperKendi owner adınız altında özel bir taslak olarak oluşturur — siz yayımlayana kadar hiçbir şey herkese açık değildir.
Asistanınız neye erişir

Seedance 2.5 Image to Video
bytedance
from $0.154 per second of video

Happy Horse 1.1 Text to Video
alibaba
from $0.14 per second of video
Lyria 3 Clip
$0.04 per audio clip

Nano Banana 2 Lite Text to Image
$0.034 per image

Kling 3.0 Motion Control
kuaishou
$0.168 per second of video

Seedream 5.0 Pro Text to Image
bytedance
from $0.045 per image
Stable Audio 2.5 Audio-to-Audio
stability-ai
$0.2 per audio clip

Recraft V4.1 Pro
recraft
$0.21 per image
Sıkça sorulan sorular
What is the ModelRunner MCP server?
It is a hosted Model Context Protocol server at https://mcp.modelrunner.run/mcp that exposes the public ModelRunner catalog — image, video, audio, 3D and text models — as 23 tools any MCP client can call. Your assistant can search models, read their input schemas, run them, upload files, and get hosted result URLs back in the conversation.
What is the Model Context Protocol?
The Model Context Protocol (MCP) is an open standard that lets AI assistants use external tools and data through one common interface: a client such as Claude, Cursor, or VS Code connects to an MCP server, discovers the tools it exposes, and calls them during a conversation. The ModelRunner MCP server implements that standard, so any MCP client can work with the public ModelRunner catalog without a custom integration.
How is it different from a single-vendor MCP server?
A vendor MCP server exposes one company’s models. The ModelRunner MCP server exposes the public cross-provider catalog through one config entry, so your assistant can search the catalog and choose a model per task — or you name one — and models published to the catalog become available without you changing anything.
Which clients does it work with?
Any client that speaks MCP. Setup is verified for Claude Code, Claude Desktop and claude.ai (as a custom connector), Cursor, and VS Code with Copilot. Clients that only speak stdio connect through the mcp-remote bridge.
Do I need an API key in my MCP config?
No. The server speaks Streamable HTTP at https://mcp.modelrunner.run/mcp and authorizes over OAuth 2.1 — authorization code with PKCE (S256), scope mcp — so the first connection opens a browser window to authorize your ModelRunner account. It supports dynamic client registration (RFC 7591), refresh tokens, and revocation (RFC 7009), and advertises itself at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server, so a client discovers all of this from the URL alone. No credential is written into a config file — your client holds a token it can refresh, and disconnecting the server in your client ends its access.
How does pricing work through MCP?
Exactly as it does through the API: usage-based, charged per run against your account balance. Running a model costs that model’s published price; running a wrapper costs the wrapper’s published price, which includes whatever markup its author set over the base model. Connecting over MCP adds nothing on top of either. run_model is the only tool that spends money — the upload and wrapper-authoring tools change your own data, and are annotated so your client can prompt before each one.
How long does a generation take?
It depends entirely on the model and the parameters, so runs are asynchronous: run_model returns a request id immediately and never blocks your assistant. wait_for_request then watches that request server-side for up to 2 minutes per call (10 at most) and returns its latest status. The run keeps going regardless of whether anyone is waiting, so if a long render outlasts the wait, calling wait_for_request or get_request again picks it up — nothing is lost and nothing is charged twice.
What happens to my files and results?
Every file input is a URL, so a local file needs hosting first: create_upload_url returns a presigned URL your assistant PUTs the bytes to directly, which keeps them out of the conversation entirely. Inputs you upload and outputs a model produces are stored on ModelRunner and returned as hosted URLs. Requests are private to your account by default; list_my_requests reads only your own history and can filter by status, endpoint, and metadata tags you set at submit time.
Can my assistant spend money without asking?
Every tool is annotated, and clients use those annotations to decide what to prompt for: run_model is marked as a spending, destructive operation, so a client that honours annotations asks before each run. Runs are also gated on your account balance when they are submitted, which does not depend on client behaviour.
What happens if my balance cannot cover a run?
The run is rejected at submission: run_model returns an insufficient-balance error stating your current balance and the minimum that endpoint requires, no request is created, and nothing is charged. Runs that were already accepted keep going. Top up your balance and submit again.
Can I turn a prompt I keep reusing into something callable?
Yes — that is what wrappers are. A wrapper is a base model plus a prompt template and a simplified input schema, living at your own owner/alias endpoint. It is created as a private draft and is yours to publish when you are ready. 12 of the tools are for authoring them, including a guide the assistant reads first and a preview tool that renders the mapped payload without running anything.
Can I use it alongside the REST API and SDKs?
Yes. MCP, the REST API, and the JavaScript and Python SDKs all hit the same catalog, the same endpoints and the same balance. A run started from your assistant appears in your dashboard next to one started from code.

