by runapi-ai
RunAPI MCP server for model discovery, pricing lookup, task creation, and LLM chat.
# Add to your Claude Code skills
git clone https://github.com/runapi-ai/mcpGuides for using mcp servers skills like mcp.
mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by runapi-ai. RunAPI MCP server for model discovery, pricing lookup, task creation, and LLM chat. It has 51 GitHub stars.
mcp's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/runapi-ai/mcp" and add it to your Claude Code skills directory (see the Installation section above).
mcp is primarily written in TypeScript. It is open-source under runapi-ai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
RunAPI MCP Server connects MCP-compatible coding tools to RunAPI. It lets an assistant browse the RunAPI catalog, inspect model inputs, check current pricing snapshots, create media tasks, poll task status, and check account balance.
The discovery tools work without an API key because they use the embedded build-time catalog.
Authenticated operations require RUNAPI_API_KEY.
This package is a pure client. It does not run a local generation backend and does not require changes to your RunAPI account beyond creating an API key for authenticated tools.
For Claude Code, Cursor, Windsurf, and VS Code, install RunAPI with Claude Code's MCP command:
claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
The scope flag controls where the MCP server is stored:
-s user: global, available in all projects for your user.-s project: team-shared, written to .mcp.json in the current repo so it can be committed.Use project scope when you want the whole team to share the same server config:
claude mcp add runapi -s project -- npx -y @runapi.ai/mcp
Compatibility fallback for non-Claude Code platforms or manual JSON config:
{
"mcpServers": {
"runapi": {
"command": "npx",
"args": ["-y", "@runapi.ai/mcp"],
"env": {
"RUNAPI_API_KEY": "${RUNAPI_API_KEY}"
}
}
}
}
If your host needs a generated config file, use the legacy init command as a fallback:
npx @runapi.ai/mcp init claude
npx @runapi.ai/mcp init cursor
npx @runapi.ai/mcp init vscode
npx @runapi.ai/mcp init windsurf
npx @runapi.ai/mcp init roo
Free catalog tools work even when RUNAPI_API_KEY is not configured.
For task creation and balance checks, create an API key in the RunAPI dashboard and expose it as RUNAPI_API_KEY.
| Tool | Auth | Purpose |
|---|---|---|
list_models |
No | List RunAPI models from the embedded catalog. Supports modality, service, and action filters. |
get_model_info |
No | Return service, action, modality, input constraints, and pricing snapshot for a model slug. Use service + action when a model appears in multiple endpoints. |
list_actions |
No | Group endpoint action names by modality. |
check_pricing |
No | Return pricing snapshot data for a service + action + model combination. |
search_prompts |
No | Search reusable prompt examples by modality, category, tags, q, model, featured, and pagination. |
create_task |
Yes | Create a media task and optionally poll until completion. |
get_task |
Yes | Fetch status and latest payload for an existing media task. |
check_balance |
Yes | Return account balance and spending metrics. |
The catalog, pricing, and prompt search tools are designed for funnel-top discovery inside coding tools. The task and balance tools are designed for authenticated workflows.
Ask your assistant natural-language questions. The assistant should use the tools to discover current model slugs and pricing instead of relying on memorized names.
What RunAPI image models are available?
Expected behavior:
list_models with modality: "image".check_pricing.Find image prompt examples for a logo.
Expected behavior:
search_prompts with modality: "image" and q: "logo".get_model_info before creating a task.Show me the required parameters for this model slug: <model-slug>
Expected behavior:
get_model_info.get_model_info again with service and action.list_models if the slug is not found.Generate a square product image with RunAPI. Pick a suitable image model.
Expected behavior:
list_models to choose a compatible image model.get_model_info with the selected service/action/model to validate parameters and any conditional input rules.create_task.Create the task but do not wait for completion.
Expected behavior:
create_task with wait: false.get_task.Check my RunAPI balance.
Expected behavior:
check_balance.RUNAPI_API_KEY.The embedded catalog is generated from RunAPI's contract snapshot. It includes media models, utility endpoints, and LLM model slugs for discovery.
| Modality | What To Use |
|---|---|
| Image | list_models with modality: "image" |
| Video | list_models with modality: "video" |
| Audio and music | list_models with modality: "audio" |
| LLM | list_models with modality: "llm" |
| Utility | list_models with modality: "utility" |
Catalog contents can change between releases.
Use list_models for current service/action/model slugs and get_model_info for each model's current constraints.
For LLM inference, connect through the RunAPI API or SDK directly.
RunAPI pricing is exposed through the check_pricing tool and the public pricing page.
Do not rely on examples in README files for exact prices.
Useful flows:
list_models to find a candidate model.check_pricing with service, action, and model.Free catalog tools do not create tasks and do not consume account balance.
Run:
claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
Use -s user for a global install available in all projects.
Use -s project when you want Claude Code to write .mcp.json in the repo for team-shared config.
Restart or reload your MCP host after changing MCP configuration.
Use init only when a host needs a platform-specific JSON file or cannot use the Claude Code MCP command.
Claude Code fallback:
npx @runapi.ai/mcp init claude
This writes .mcp.json in the current directory.
Cursor fallback:
npx @runapi.ai/mcp init cursor
This writes .cursor/mcp.json.
Open Cursor settings to verify the MCP server is enabled.
VS Code fallback:
npx @runapi.ai/mcp init vscode
This writes .vscode/mcp.json.
VS Code uses a top-level servers key and type: "stdio" in generated config.
Windsurf fallback:
npx @runapi.ai/mcp init windsurf
This writes the generated config for the Windsurf target used by the init command.
Run:
npx @runapi.ai/mcp init roo
This writes .roo/mcp.json.
Use the example files in examples/ as starting points.
Each platform has slightly different wrapper keys and file paths, but all run the same command:
npx -y @runapi.ai/mcp
The server reads configuration in this order:
RUNAPI_API_KEY environment variable~/.config/runapi/config.jsonExample config file:
{
"apiKey": "your_runapi_key"
}
You can also set a custom base URL for local testing:
{
"apiKey": "your_runapi_key",
"baseUrl": "https://runapi.ai"
}
Do not commit real API keys.
This package ships build-time data files:
data/contract.json: catalog, actions, model slugs, and input constraintsdata/pricing.json: pricing snapshot used by check_pricingRefresh data from the RunAPI source tree before a release:
npm run sync:data
Build-time data means a pricing or catalog update requires a new package release.
npm install
npm run typecheck
npm test
npm pack --dry-run
Run the server locally: