Atlas / MCP servers / runapi-ai / RunAPI

RunAPICAUTION

mcp/runapi-ai/runapi

RunAPI MCP server for model discovery, pricing lookup, media task creation, and balance checks.

Verdict
CAUTION
Grade
B
Trust score
89 /100
Exposed tools
8 6r · 2w · 0d
Transport
stdio · streamable-http
License
Apache-2.0
Stars
55
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

RunAPI MCP Server

AI image generation, video generation, music creation, text-to-speech, prompt search, and model discovery — 160+ executable models across 4 modalities in one MCP server.

Works with Claude Code, Codex, Cursor, Windsurf, VS Code, Roo Code, and any MCP-compatible host.

Quick Start | Tools | Examples | Catalog | Platforms

What Is This?

RunAPI MCP Server connects MCP-compatible coding tools to RunAPI. It lets an assistant browse the RunAPI catalog, inspect model inputs, check current runtime pricing, 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 use the login tool, runapi login, RUNAPI_API_KEY, or shared RunAPI config.

This package is a pure client. It does not run a local generation backend and only needs RunAPI sign-in for authenticated tools.

Hosted MCP

Remote MCP clients can connect directly to:

https://mcp.runapi.ai/mcp

No Node.js installation is required. Use OAuth when the client supports remote MCP authorization, or configure a RunAPI API key as the bearer credential. See the [Hosted MCP se

Read from source at commit ec219e2a9a94OBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add mcp --env RUNAPI_API_KEY=${RUNAPI_API_KEY} -- npx -y @runapi.ai/[email protected]
03

Exposed tools (8)

6 read · 2 write · 0 destructive.

ToolRiskDescription
check_balancereadReturn the authenticated RunAPI account balance and spending metrics.
check_pricingreadReturn current runtime pricing for a RunAPI model/action pair.
create_taskwriteRun a RunAPI operation with a caller-generated idempotency key. Asynchronous operations can optionally poll until completion.
get_model_infowriteGet supported endpoint, current runtime pricing, and input constraints for a RunAPI model slug. Add service and action when the model supports multiple endpoints.
get_taskreadFetch the current status and latest payload for an existing RunAPI task.
list_actionsreadList RunAPI endpoint names grouped by output modality.
list_modelsreadList RunAPI models from the embedded catalog. Optional filters: modality, service, or action.
search_promptsreadSearch RunAPI prompt examples by modality, category, tags, text query, model, or featured status. Free, no API key required.
04

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (10)

HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
plugin/commands/setup.md:15
3. For interactive MCP hosts, tell the user you can call the RunAPI `login` tool to open browser login and save credentials to `~/.config/runapi/config.json`.
Why it matters. asks the agent to read credentials
LOWInventory / provenance · inv.hidden_file · CWE-1104
.codexignore
.codexignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.node-version
.node-version
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/fixtures/hosted-imports-local-only.ts:1
export { SERVER_INSTRUCTIONS } from "../../src/server-instructions.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/integration/stdio-server.test.ts:34
path.resolve("../../node_modules/.bin/tsx")
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/authenticated-tools.test.ts:2
import { readContract } from "../../src/lib/data.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/authenticated-tools.test.ts:3
import { PollTimeoutError, RunApiClientError } from "../../src/lib/errors.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/authenticated-tools.test.ts:4
import { RunApiClient } from "../../src/lib/runapi-client.js";
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/integration/stdio-server.test.ts:41
const apiUrl = `http://127.0.0.1:${(api.address() as AddressInfo).port}`;
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, zod, @types/node, esbuild, tsx, typescript, vitest
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha ec219e2a9a94full audit observations/trust-audit/mcp-server/runapi-ai__runapi.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08ec219e2a9a94CAUTIONB89first audit
06

Questions

What is the RunAPI MCP server?

RunAPI MCP server for model discovery, pricing lookup, media task creation, and balance checks.

What tools does RunAPI expose?

8 in total: 6 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is RunAPI safe to connect to an agent?

With care. The audit graded it B (89/100) and found 10 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does RunAPI need?

It reads RUNAPI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does RunAPI run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @runapi.ai/mcp at 0.15.0.

How current is this page?

The grade is for one exact copy of the source (ec219e2a9a94), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement