Skip to main content
Glama

Routara MCP Server

npm version MCP Registry License: MIT

Official Model Context Protocol server for Routara. Use Routara chat, image, and video models from Cursor, Claude Desktop, Codex, Windsurf, VS Code, and other MCP clients.

Install

npx -y routara-mcp

Or install the one-click routara-mcp.mcpb bundle from the latest GitHub release.

Related MCP server: Photo AI Studio MCP Server

Tools

Tool

Description

routara_list_models

Search and paginate the live model catalog

routara_chat

Single-turn or multi-turn chat, including tool calls

routara_generate_image

Text-to-image and reference-image generation

routara_generate_video

Text-to-video and image-to-video submission

routara_get_video_status

Poll an asynchronous video task

MCP client configuration

{
  "mcpServers": {
    "routara": {
      "command": "npx",
      "args": ["-y", "routara-mcp"],
      "env": {
        "ROUTARA_API_KEY": "sk-or-v1-YOUR_KEY_HERE"
      }
    }
  }
}

OpenAI Codex

[mcp_servers.routara]
command = "npx"
args = ["-y", "routara-mcp"]
enabled = true

[mcp_servers.routara.env]
ROUTARA_API_KEY = "sk-or-v1-YOUR_KEY_HERE"

Environment

Variable

Required

Default

ROUTARA_API_KEY

Yes for tool calls

None

ROUTARA_API_BASE

No

https://api.routara.ai/v1

ROUTARA_API_TIMEOUT_MS

No

30000

The process can start and complete the MCP handshake without an API key. A key is resolved only when a Routara tool is invoked, which lets directories validate the server safely.

Reliability and compatibility

  • Requests time out instead of hanging indefinitely.

  • Transient network errors, HTTP 429, and HTTP 5xx responses are retried with bounded backoff.

  • API errors include the upstream request ID and retry delay when available.

  • routara_chat returns the complete OpenAI-compatible response, preserving reasoning content and tool calls.

  • Media parameters are forwarded only when explicitly supplied; model-specific support varies.

Development

npm ci
npm run build
npm test
npm run validate:registry
npm run build:mcpb

For a live API smoke test:

ROUTARA_API_KEY=sk-or-v1-... npm run test:live

Directory listings

Security

Do not commit API keys. If a key is exposed, revoke it in the Routara dashboard immediately. Please report security issues privately to support@routara.ai.

License

MIT

Available Tools

5 tools
routara_chatA

Create an OpenAI-compatible chat completion through Routara.

Use message for a simple single-turn request, or messages for system prompts, multi-turn chat, multimodal content, and tool-call continuations. The complete upstream response is returned, including usage, reasoning_content, and tool_calls when supplied by the model.

ParametersJSON Schema
NameRequiredDescriptionDefault
stopNo
modelYesModel slug from routara_list_models
toolsNoOpenAI-compatible function tools
top_pNo
messageNoConvenience single user message; use messages for multi-turn input
messagesNoOpenAI-compatible conversation messages
max_tokensNo
temperatureNo
tool_choiceNoOpenAI-compatible tool choice

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the response includes usage, reasoning_content, and tool_calls, but does not mention rate limits, authentication, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loading the core purpose and immediately providing usage guidance without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of output schema, the description adequately covers the main functionality and response format. It references the model from a sibling tool and explains the two input modes, though it omits preconditions like API keys or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 56% schema coverage, the description adds value by clarifying the distinction between 'message' and 'messages' and explaining their use cases, which is not fully captured in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an OpenAI-compatible chat completion. The verb 'create' and resource 'chat completion' are specific, and it distinguishes from siblings like routara_list_models and routara_generate_image by focusing on chat.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises when to use 'message' vs 'messages' for different scenarios (single-turn vs multi-turn, tool calls). It provides clear context but does not explicitly exclude use cases or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

routara_generate_imageB

Generate or edit an image through Routara.

Model support varies. Besides prompt and size, the tool can pass quality, aspect ratio, reference image URL, negative prompt, seed, style, and response format to compatible models.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
seedNo
sizeNoOutput dimensions such as 1024x1024
modelYesImage model slug from routara_list_models
styleNo
promptYesDetailed image prompt
qualityNo
image_urlNoReference image URL for compatible image-edit models
aspect_ratioNoAspect ratio such as 1:1, 16:9, or 9:16
negative_promptNo
response_formatNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only vaguely hints at behavior (e.g., parameters may not work with all models). Lacks disclosure on output format, error handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. The first sentence clearly states the core function, and the second adds key configuration options without clutter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 11 parameters and no output schema, the description is insufficient. It does not explain return values, error handling, or how to verify model compatibility, leaving critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 45%, so description must add meaning. It lists several optional parameters (quality, aspect ratio, etc.) beyond the schema, aiding understanding. However, it omits some parameters (e.g., n) and does not provide detailed syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate or edit an image through Routara', which is a specific verb and resource. It distinguishes from sibling tools like generate_video and chat, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., when to use chat or video generation). The mention of 'Model support varies' hints at dependencies but does not direct users to list_models for available models.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

routara_generate_videoA

Submit an asynchronous video-generation job through Routara.

Supports text-to-video and image-to-video. Save the returned id or task_id and poll it with routara_get_video_status until completed or failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNo
modelYesVideo model slug from routara_list_models
promptYesScene and motion description
durationNo
image_urlNoStarting frame for image-to-video
resolutionNoModel-specific resolution such as 720p or 1080p
aspect_ratioNoAspect ratio such as 16:9 or 9:16
negative_promptNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the async nature and the need to poll for completion, but with no annotations, it lacks details on error handling, permissions, rate limits, or response format beyond the id/task_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each serving a purpose: first states the action, second provides the critical workflow instruction. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic async pattern and workflow, but given 8 parameters and no output schema, it is incomplete. It does not elaborate on parameter options or the structure of the response beyond the id/task_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 63%, so some parameters are already described. The description adds context that image_url enables image-to-video, which is helpful, but does not explain fps, duration, resolution, aspect_ratio, or negative_prompt.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool submits an asynchronous video-generation job and contrasts with siblings by mentioning text-to-video and image-to-video, distinguishing it from routara_generate_image and routara_chat.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs to poll the returned id/task_id with routara_get_video_status, providing a clear workflow. However, it does not explicitly state when not to use this tool or mention alternatives beyond the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

routara_get_video_statusB

Poll a Routara video-generation job.

Pass the model when the upstream provider requires model-specific status routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOptional video model slug for provider-specific status routing
task_idYesTask id returned by routara_generate_video

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It hints at polling (repeated calls) and optional model routing, but lacks details on rate limits, auth, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing output schema, so description should explain return values (e.g., status, progress). It does not, leaving the agent guessing about what the response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and schema descriptions already cover both parameters. Description adds minimal value by restating the model's purpose, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool polls a Routara video-generation job, using specific verb and resource. It distinguishes from sibling tools like generate_video and generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description mentions when to pass the model parameter (for provider-specific routing) but does not explicitly state when to use this tool vs alternatives, e.g., after generating a video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

routara_list_modelsA

List models available through Routara.

Use this before another tool when a model was not specified. Supports pagination and text filtering. The count field is always the total number of matches before pagination; returned is the number included in this response.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoModels returned, default 200, maximum 1000
queryNoCase-insensitive text filter applied to model IDs
offsetNoPagination offset, default 0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explains pagination semantics ('count field is always the total...') and mentions support for text filtering. It does not explicitly state non-destructive behavior, but 'list' implies a read-only operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, focused sentences. First sentence states purpose, second gives usage context, third explains a key behavioral detail. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with three optional parameters and no output schema, the description covers purpose, usage, and pagination behavior. Sibling tools are sufficiently different, so no further distinction needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds that pagination and text filtering are supported, which is already implied by the schema parameters. No additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'models available through Routara.' This distinguishes it from sibling tools like routara_chat and routara_generate_image, which perform entirely different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use this before another tool when a model was not specified,' providing a clear usage context. However, it does not explicitly mention when not to use it or list alternatives, but the context is sufficient for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedroutara_chat
    • First observedroutara_generate_image
    • First observedroutara_generate_video
    • First observedroutara_get_video_status
    • First observedroutara_list_models

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation (listing models, chat, image generation, video submission, status polling) with no overlapping functionality. An agent can clearly distinguish between them.

Naming Consistency4/5

All tools are prefixed with 'routara_' and follow a verb_noun pattern (list_models, chat, generate_image, generate_video, get_video_status). The only minor inconsistency is 'chat' not using an underscore, but it remains clear.

Tool Count5/5

5 tools is an appropriate size for a server offering AI model interaction services. It is neither sparse nor overwhelming, covering the essential operations.

Completeness4/5

The set covers main workflows: listing models, chat completions, image generation, video submission, and status polling. A potential gap is lack of a cancel operation for video jobs, but core functionality is present.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers