mcpField
W
Wiro AI

Wiro AI

Remote
wiro.aiOther5Updated today

About Wiro AI

Wiro AI's MCP server lets AI assistant users discover and run image, video, audio, and LLM models. It offers 13 tools through a local stdio server or a hosted endpoint, including task tracking and documentation search.

Key features

  1. 01Search and recommend models
  2. 02Inspect model parameters and prices
  3. 03Run and track generation tasks
  4. 04Upload model input files
  5. 05Browse task history and search docs

Use cases

  1. 01Find a model for a media-generation task
  2. 02Check model parameters and cost before running
  3. 03Resume a long-running generation or inspect task history

MCP support

Exposes 13 tools for model discovery, execution, file upload, task management, and documentation search. MCP clients can connect through a local stdio server or Wiro AI's hosted streamable HTTP endpoint.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.wiro.ai/v1
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://mcp.wiro.ai/v1Auth required
Packages
npm@wiro-ai/wiro-mcp1.3.2

Tools

Details

From the project README
Wiro AI

Wiro MCP Server

Official MCP server for Wiro AI: search, price and run image, video, audio and LLM models from Cursor, Claude Code, Claude Desktop, Windsurf and any other MCP client.

npm Node.js 20+ MCP server License: MIT

Website · Models · Docs · Dashboard

Wiro AI koala mascot

@wiro-ai/wiro-mcp is a TypeScript Model Context Protocol server that runs locally over stdio with npx. Its 13 tools let an AI assistant search the Wiro AI model catalog, read a model's parameters and price, run it and wait for the result, upload input files, browse past tasks and search the Wiro AI docs. The hosted server at https://mcp.wiro.ai/v1 serves the same tools with nothing to install.

Quick Start

Local npx and library usage require Node.js 20 or later. The hosted MCP endpoint does not require a local Node.js installation.

1. Get API Keys

Sign up at wiro.ai and create a project at wiro.ai/panel/project/new to get your API key and secret.

2. Add to Your AI Assistant

Cursor: open MCP settings (Cmd+Shift+P → "Open MCP settings") and add:

{
  "mcpServers": {
    "wiro": {
      "command": "npx",
      "args": ["-y", "@wiro-ai/wiro-mcp"],
      "env": {
        "WIRO_API_KEY": "your-api-key",
        "WIRO_API_SECRET": "your-api-secret"
      }
    }
  }
}

Claude Code:

claude mcp add wiro -- npx -y @wiro-ai/wiro-mcp

Then set environment variables WIRO_API_KEY and WIRO_API_SECRET.

Claude Desktop: add to claude_desktop_config.json:

{
  "mcpServers": {
    "wiro": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@wiro-ai/wiro-mcp"],
      "env": {
        "WIRO_API_KEY": "your-api-key",
        "WIRO_API_SECRET": "your-api-secret"
      }
    }
  }
}

Windsurf: add to MCP settings:

{
  "mcpServers": {
    "wiro": {
      "command": "npx",
      "args": ["-y", "@wiro-ai/wiro-mcp"],
      "env": {
        "WIRO_API_KEY": "your-api-key",
        "WIRO_API_SECRET": "your-api-secret"
      }
    }
  }
}

OpenClaw: configure a remote server under mcp.servers:

{
  "mcp": {
    "servers": {
      "wiro": {
        "url": "https://mcp.wiro.ai/v1",
        "transport": "streamable-http",
        "connectionTimeoutMs": 10000,
        "headers": {
          "Authorization": "Bearer ${WIRO_MCP_AUTH}"
        }
      }
    }
  }
}

Set WIRO_MCP_AUTH in OpenClaw's environment to your API key, or to API_KEY:API_SECRET for a project with signature-based auth. Then verify with openclaw mcp doctor wiro --probe. On older OpenClaw releases without that probe command, use openclaw mcp show wiro, restart OpenClaw, and run /tools verbose.

Hermes: add to ~/.hermes/config.yaml:

mcp_servers:
  wiro:
    url: "https://mcp.wiro.ai/v1"
    headers:
      Authorization: "Bearer ${WIRO_MCP_AUTH}"
    timeout: 60
    connect_timeout: 10

Store WIRO_MCP_AUTH (your API key, or API_KEY:API_SECRET) in ~/.hermes/.env, then run /reload-mcp and /tools.

3. Start Using

Ask your AI assistant:

  • "Generate a photorealistic image of a mountain lake at sunset"
  • "What video generation models are available on Wiro?"
  • "Show me the parameters for google/veo3-1"
  • "Create a 5-second video with Kling V3: a drone shot over mountains"
  • "Check the status of my last task"
  • "Show my latest productions and open the newest result"

Authentication

Wiro AI supports two authentication types, chosen when you create a project:

Signature-Based (Recommended)

More secure. Requires both API key and API secret.

WIRO_API_KEY=your-api-key
WIRO_API_SECRET=your-api-secret
API Key Only

Simpler. Only requires the API key. Omit WIRO_API_SECRET from your config.

WIRO_API_KEY=your-api-key

The hosted server takes the same credentials as a bearer token: Authorization: Bearer API_KEY:API_SECRET for a signature-based project, or Authorization: Bearer API_KEY for an API Key Only project.

Available Tools

ToolDescription
search_modelsSearch and browse AI models by keyword, category, or owner
get_model_schemaGet full parameter schema and pricing for any model
recommend_modelDescribe what you want to build, get model recommendations by relevance
exploreBrowse curated models grouped by category, no parameters needed
run_modelRun any model, waiting up to 45s by default before it returns a recoverable task token
wait_for_taskContinue waiting for an existing task without submitting or billing a duplicate run
get_taskCheck task status immediately or wait up to 45s with wait_seconds
list_tasksBrowse authenticated task history across conversations, then continue with get_task
get_task_priceGet the cost of a completed task
cancel_taskCancel a queued task
kill_taskKill a running task
upload_fileUpload a file from a public http(s) URL (up to 200 MB) for use as model input
search_docsSearch the Wiro documentation for guides and API references

For long generations, run_model returns the existing task ID and token when its wait budget expires. The assistant must continue with wait_for_task; retrying run_model creates a separate billable task.

LLM-friendly responses

All tools publish typed MCP input and output schemas. Successful calls return structuredContent for reliable chaining, concise text content for clients that only render text, and MCP resource links for generated media. Model parameters remain catalog-driven: json and json-array fields are sent as structured values in the same run_model.params object as all other inputs. Use get_model_schema as the source of truth for continuation fields. previousTaskToken is the single continuation reference. Send it with exactly one new prompt or non-empty messages value for a stateful next turn, or with toolOutputs for a tool-result continuation.

LLM task outputs preserve the public Task Detail segment names and casing: thinking, answer, function_call, and custom_tool_call, including call_id, finishreason, and optional normalized token usage. Only validated fields are projected into structured MCP output. When segments are present, response is derived from ordered answer segments instead of raw debug transport; tasks without a typed projection retain their normal debugoutput response.

Completed tool calls return a continuation template in the existing nextAction. Execute each call, replace the output placeholders, and pass the same ordinary run_model.params object back:

{
  "tool": "run_model",
  "arguments": {
    "model": "owner/model",
    "params": {
      "previousTaskToken": "task-token",
      "toolOutputs": [
        {
          "call_id": "call_01",
          "output": "<tool result>"
        }
      ]
    }
  }
}

Function calls carry JSON-string arguments; custom tool calls carry free-form input. Tool results are request values in toolOutputs, not response segments.

Completed media responses also include an assistant-audience delivery instruction. Some MCP clients expose a resource_link as tool metadata instead of previewing it inside the tool card, so the assistant is explicitly told to render images and preserve clickable media links in its user-facing response. The standard resource link and full-resolution URL remain available to every client; no base64 media payload is required.

Task responses use the stable states submitted, running, completed, failed, and cancelled. When more work is required, the response includes an executable nextAction:

{
  "state": "running",
  "task": {
    "id": "123",
    "token": "task-token",
    "status": "task_start"
  },
  "outputs": [],
  "nextAction": {
    "tool": "wait_for_task",
    "arguments": { "tasktoken": "task-token" },
    "reason": "Continue this exact task. Do not call run_model again."
  }
}

Generation chain: search_models → get_model_schema → run_model → wait_for_task

Cross-conversation history: list_tasks → get_task

Hosted MCP Server

Wiro AI also hosts the same tools at https://mcp.wiro.ai/v1 over streamable HTTP, so nothing has to be installed locally. Send your credentials in the Authorization header as shown under Authentication. The MCP Server documentation has setup instructions for each client.

Install as a plugin

wiroai/Wiro-Plugin packages the hosted server as a plugin for Cursor, Claude Code, Gemini CLI and Devin. Its README has the install command for each of them.

Documentation

Using as a Library

This package exports its core components for use in custom MCP servers:

import { WiroClient } from '@wiro-ai/wiro-mcp/client';
import { createMcpServer } from '@wiro-ai/wiro-mcp/server';

const client = new WiroClient('your-api-key', 'your-api-secret');
const server = createMcpServer(client);

If a project uses signature-based auth and no API secret was given, tool errors say that the secret is missing. When your server takes credentials in its own way, tell users where the secret goes:

const client = new WiroClient(apiKey, apiSecret, undefined, {
  missingSecretHint: 'This project uses signature-based auth. Enter API_KEY:API_SECRET as the API key.',
});
Exports
ExportDescription
createMcpServer(client)Creates an McpServer with all 13 tools registered
WiroClientAPI client with both auth types
registerTools(server, client)Register tools on an existing McpServer
// Import specific components
import { WiroClient } from '@wiro-ai/wiro-mcp/client';
import { registerTools } from '@wiro-ai/wiro-mcp/tools';

Environment Variables

VariableRequiredDescription
WIRO_API_KEYYesYour Wiro project API key
WIRO_API_SECRETNoYour Wiro project API secret (for signature auth)
WIRO_API_BASE_URLNoOverride API base URL (default: https://api.wiro.ai/v1)

More from Wiro AI

RepositoryWhat it is
Wiro-PluginWiro AI plugin for Cursor, Claude Code, Gemini CLI and Devin
Swift-QuickStartWiroKit, the Wiro AI SDK for iOS
Kotlin-QuickStartWiroKit, the Wiro AI SDK for Android
Dart-QuickStartWiro AI SDK for Dart and Flutter, wiro on pub.dev
ReactNative-QuickStartWiro AI SDK for React Native and Expo, @wiro-ai/wiro-react-native on npm
Swift-RealtimeRealtime voice AI example for iOS
Kotlin-RealtimeRealtime voice AI example for Android
Dart-RealtimeRealtime voice AI example for Flutter
ReactNative-RealtimeRealtime voice AI example for React Native
n8n-nodes-wiroaiWiro AI nodes for n8n, @wiro-ai/n8n-nodes-wiroai on npm
Wiro-DocsSource of the Wiro AI API docs

Website · Models · Docs · X

License

MIT, see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.