Wiro
FreeNot checkedOfficial MCP server for Wiro AI — access all AI models on Wiro from Cursor, Claude, Windsurf, and any MCP-compatible assistant
About
Official MCP server for Wiro AI — access all AI models on Wiro from Cursor, Claude, Windsurf, and any MCP-compatible assistant
README

Wiro MCP Server
Official MCP server for Wiro AI — access all AI models on Wiro from Cursor, Claude, Windsurf, and any MCP-compatible AI assistant.
Official MCP Server · Self-Hosted MCP · Models · Dashboard · Docs

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, 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 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 openai/sora-2"
- "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 supports two authentication types (chosen when creating 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
Available Tools
| Tool | Description |
|---|---|
search_models |
Search and browse AI models by keyword, category, or owner |
get_model_schema |
Get full parameter schema and pricing for any model |
recommend_model |
Describe what you want to build, get model recommendations by relevance |
explore |
Browse curated models organized by category — no parameters needed |
run_model |
Run any model — waits up to 45s by default, then returns a recoverable task token |
wait_for_task |
Continue waiting for an existing task without submitting or billing a duplicate run |
get_task |
Check task status immediately or wait up to 45s with wait_seconds |
list_tasks |
Browse authenticated task history across conversations, then continue with get_task |
get_task_price |
Get the cost of a completed task |
cancel_task |
Cancel a queued task |
kill_task |
Kill a running task |
upload_file |
Upload a file from URL for use as model input |
search_docs |
Search 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.
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 also provides a hosted MCP server at https://mcp.wiro.ai/v1 that requires no local installation. See the MCP Server documentation for setup instructions.
Documentation
- MCP Server (Hosted) — setup guides for Cursor, Claude Code, Claude Desktop, Windsurf, OpenClaw, and Hermes
- Self-Hosted MCP — run locally with npx, environment variables, library usage
- Authentication — signature-based vs API Key Only
- Run a Model — how the Run endpoint works
- Tasks — task lifecycle, statuses, determining success
- Concurrency Limits — concurrent task limits based on balance
- Error Reference — error codes and handling
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);
Exports
| Export | Description |
|---|---|
createMcpServer(client) |
Creates an McpServer with all 13 tools registered |
WiroClient |
API 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
| Variable | Required | Description |
|---|---|---|
WIRO_API_KEY |
Yes | Your Wiro project API key |
WIRO_API_SECRET |
No | Your Wiro project API secret (for signature auth) |
WIRO_API_BASE_URL |
No | Override API base URL (default: https://api.wiro.ai/v1) |
Links
License
MIT — see LICENSE for details.
Built with ❤️ by the Wiro team
Installing Wiro
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/wiroai/Wiro-MCPFAQ
Is Wiro MCP free?
Yes, Wiro MCP is free — one-click install via Unyly at no cost.
Does Wiro need an API key?
No, Wiro runs without API keys or environment variables.
Is Wiro hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Wiro in Claude Desktop, Claude Code or Cursor?
Open Wiro on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Wiro with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
