Rovodev CLI MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rovodev CLI MCPask Rovodev agent to list my active sessions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rovodev CLI MCP
An MCP server wrapper that exposes Rovodev CLI as MCP tools. Modeled after gemini-mcp-tool.
Install
npm install -g rovodev-cli-mcpOr use with npx:
npx -y rovodev-cli-mcpRelated MCP server: claude-cli-mcp
Configure in Claude Desktop
{
"mcpServers": {
"rovodev": {
"command": "npx",
"args": ["-y", "rovodev-cli-mcp"]
}
}
}Environment variables to customize underlying CLI:
ROVODEV_CLI_PATHorROVODEV_CMD(default:acli)ROVODEV_SUBCOMMAND(default:"rovodev run")ROVODEV_CONFIG_FLAG(default:--config-file)ROVODEV_SHADOW_FLAG(default:--shadow)ROVODEV_VERBOSE_FLAG(default:--verbose)ROVODEV_RESTORE_FLAG(default:--restore)ROVODEV_YOLO_FLAG(default:--yolo)ROVODEV_HELP_FLAG(default:--help)
Chunking configuration (for large responses):
MCP_CHUNK_SIZE(preferred)ROVODEV_CHUNK_SIZE(legacy) The first one found is used; default is 20000 characters if none are set.
Global setup for Claude Code (user scope)
Install the MCP server for your user so it’s available across projects in Claude Code.
Add with npx (no global npm install required):
claude mcp add -s user rovodev -- npx -y rovodev-cli-mcpOptional: use a globally installed binary instead of npx
npm i -g rovodev-cli-mcp claude mcp add -s user rovodev rovodev-cli-mcpOptional: set environment overrides when adding
claude mcp add -s user rovodev -- \ npx -y rovodev-cli-mcp \ -e ROVODEV_CLI_PATH=acli \ -e ROVODEV_SUBCOMMAND="rovodev run" \ -e ROVODEV_CONFIG_FLAG=--config-file \ -e ROVODEV_SHADOW_FLAG=--shadow \ -e ROVODEV_VERBOSE_FLAG=--verbose \ -e ROVODEV_RESTORE_FLAG=--restore \ -e ROVODEV_YOLO_FLAG=--yolo \ -e ROVODEV_HELP_FLAG=--helpVerify it’s connected:
claude mcp listRemove from user scope (to update or uninstall):
claude mcp remove -s user rovodev
Global setup for Amazon Q CLI
Install the MCP server for Amazon Q CLI to use Rovodev tools in Q chat sessions.
Add with npx (no global npm install required):
q mcp add --name rovodev --command npx --args "-y,rovodev-cli-mcp"Optional: set environment variables when adding
q mcp add --name rovodev --command npx --args "-y,rovodev-cli-mcp" \ --env "ROVODEV_CLI_PATH=acli" \ --env "ROVODEV_SUBCOMMAND=rovodev run"Verify it's installed:
q mcp listCheck server status:
q mcp status --name rovodevRemove (to update or uninstall):
q mcp remove --name rovodev
Using tools in Q CLI: Tools are available with the rovodev___ prefix:
rovodev___ask-rovodev- Send messages to Rovodev agent (enhanced with session support)rovodev___tap-rovodev- Alias for ask-rovodevrovodev___session_manager- Manage isolated sessions for context persistencerovodev___health_check- Check server health and CLI availabilityrovodev___diagnostics- Get comprehensive system diagnosticsrovodev___next-chunk- Fetch next chunk for large responsesrovodev___fetch-chunk- Fetch specific chunk by indexrovodev___Help- Show Rovodev CLI helprovodev___Ping- Test connectivity
Local development with Claude Code
If you are iterating on this repo and want Claude Code to use your local build:
Install deps and build
npm i
npm run buildPoint Claude Code at your local
dist/index.js
claude mcp remove -s user rovodev || true
claude mcp add -s user rovodev -- node "$(pwd)/dist/index.js"Verify connection
claude mcp listOptional: quick smoke test (no Claude required)
node scripts/smoke.mjsNotes:
This server communicates over stdio. Do not print to stdout; only stderr is safe for logs.
The server already routes logs to stderr; if you add logs, follow the same pattern.
You can still register via
npx -y rovodev-cli-mcp, but during development usingnode dist/index.jsavoids npm network hiccups.
Troubleshooting
"Failed to connect" in
claude mcp listEnsure your Node is >= 18 (
node -v).Ensure no output is written to stdout (stdout is reserved for the MCP protocol). This repo's logger writes to stderr only.
Try registering the local path:
claude mcp add -s user rovodev -- node "$(pwd)/dist/index.js".If using WSL, register from the Linux side; Claude Code on Windows can discover WSL user-scoped config.
Authentication errors (API key issues)
If you see "Authentication Error" messages, your rovodev CLI API key may be expired or invalid
Check your rovodev CLI configuration and update your API key
The server now detects authentication issues and provides clear error messages instead of hanging
Underlying CLI not found
The default command is
acli. Install it or override:
claude mcp add -s user rovodev -- \ node "$(pwd)/dist/index.js" \ -e ROVODEV_CLI_PATH=/path/to/your/cliLarge responses
Use
ask-rovodevfirst. If the response is chunked, callnext-chunkrepeatedly with the providedcacheKey. You can also fetch a specific page withfetch-chunk.Tune chunk size with env vars (in order of precedence):
MCP_CHUNK_SIZE, then legacyROVODEV_CHUNK_SIZE.
Tools and streaming
This server supports streaming chunk-caching to reduce memory usage for large outputs. The ask-rovodev tool streams the CLI output directly into a chunk cache. If the output exceeds the page chunk size, it returns the first chunk and a cacheKey so you can fetch subsequent chunks with next-chunk or fetch-chunk.
Tools
Enhanced Core Tools
ask-rovodev:{ message?: string, prompt?: string, configFile?: string, shadow?: boolean, verbose?: boolean, restore?: boolean, yolo?: boolean, sessionId?: string, retries?: number, backoffMs?: number, args?: string[], pagechunksize?: number }New: Session isolation with
sessionId, retry logic withretries/backoffMsDefault:
yolomode is enabled for non-interactive MCP usage; setyolo: falseto disable if you need interactive behavior.Tip: If your message starts with dashes (e.g.,
--example), the underlying CLI may interpret it as a flag. The server inserts--before such messages to prevent flag parsing.
tap-rovodev: alias ofask-rovodev
Session Management
session_manager:{ action: "create" | "destroy" | "list" | "get" | "cleanup", sessionId?: string, timeoutMs?: number }Manage isolated sessions for maintaining context across multiple commands
Health & Diagnostics
health_check:{ detailed?: boolean }Check server health including CLI availability, session manager status, and environment configuration
diagnostics:{ includePerformance?: boolean, includeHealth?: boolean, includeSessions?: boolean, includeSystem?: boolean, includeRecentExecutions?: boolean, recentLimit?: number }Get comprehensive system diagnostics including performance metrics and resource usage
Utility Tools
next-chunk:{ cacheKey: string }Fetch the next chunk sequentially from a cached large responsefetch-chunk:{ cacheKey: string, chunkIndex: number }(optional) Fetch a specific chunk by indexHelp: show help from underlying CLIPing: connectivity test
Server behavior and tuning via env vars:
Logging level:
MCP_LOG_LEVEL(debug | info | warn | error | silent)Exec timeout:
MCP_EXEC_TIMEOUT_MS(kill underlying CLI after N ms; includes partial stdout tail in error)Max stdout buffer:
MCP_MAX_STDOUT_SIZE(maximum output buffer size before termination)Working directory:
MCP_CWD(set process cwd for the underlying CLI)Chunk cache TTL:
MCP_CHUNK_TTL_MS(default 20 minutes)Chunk cache max entries:
MCP_CHUNK_MAX_ENTRIES(default 500)
Handling large responses (simple sequential flow)
If the output is too large, the first
ask-rovodevcall returns page 1 plus acacheKey:Response header example:
cacheKey: <key>,chunk: 1/N
To continue, call
next-chunkwith the samecacheKeyto get chunk 2, then 3, etc. until it reports no further chunks.
Available Tools
9 toolsask-rovodevB
Invoke Rovodev agent via 'acli rovodev run'. Always runs in yolo mode (non-interactive) for MCP usage. Supports flags like --config-file, --shadow, --verbose, --restore.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Extra raw args passed to the CLI after flags | |
| yolo | No | Enable yolo mode (non-interactive). Default: true in MCP | |
| prompt | No | Alias for message | |
| shadow | No | Enable shadow mode (--shadow) | |
| message | No | Initial instruction for the agent | |
| restore | No | Continue last session if available (--restore) | |
| retries | No | Number of retry attempts for transient failures (1-5, default: 1) | |
| verbose | No | Enable verbose tool output (--verbose) | |
| backoffMs | No | Base delay in milliseconds between retries (default: 1000) | |
| sessionId | No | Session ID to use for isolated execution context | |
| configFile | No | Path to config file (maps to --config-file) | |
| pagechunksize | No | Optional chunk size (characters) for splitting large responses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses 'Always runs in yolo mode (non-interactive)' and lists supported flags, but does not describe potential side effects, authentication needs, rate limits, or what happens when called beyond invoking the agent. The behavioral transparency is minimal but not absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each sentence adds value. The first sentence defines the action and invocation method. The second sentence clarifies operational mode and flags. No word is wasted, and critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, error handling, session management implications, or how to structure complex commands. The agent lacks context for effective parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 12 parameters with descriptions (100% coverage), so baseline is 3. The description mentions example flags (--config-file, --shadow, --verbose, --restore) but adds no new meaning beyond the schema. It does not explain parameter interplay or default behavior for omitted parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Invoke' and the resource 'Rovodev agent', and specifies it runs in yolo mode via 'acli rovodev run'. It distinguishes from sibling tools like 'tap-rovodev' only implicitly by naming the command; no explicit differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives such as 'tap-rovodev' or 'session_manager'. It does not specify prerequisites, selection criteria, or exclusions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnosticsA
Get comprehensive diagnostics information including performance metrics, health status, session statistics, and system information.
| Name | Required | Description | Default |
|---|---|---|---|
| recentLimit | No | Number of recent executions to include (1-50, default: 10) | |
| includeHealth | No | Include health check results (default: true) | |
| includeSystem | No | Include system information (default: true) | |
| includeSessions | No | Include session manager statistics (default: true) | |
| includePerformance | No | Include performance metrics (default: true) | |
| includeRecentExecutions | No | Include recent command executions (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It uses 'Get' indicating a read operation, and lists included data, but does not disclose potential performance impact or system load from collecting diagnostics. However, it is transparent enough for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is concise and front-loaded: it states the purpose and lists key information categories without waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema but the description lists the expected categories of information. With 6 optional parameters clearly described, it provides sufficient context for an agent to invoke correctly. Some details on output format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage; each parameter has a clear description. The tool description adds no additional meaning beyond listing categories. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get comprehensive diagnostics information.' It lists specific categories (performance metrics, health status, session statistics, system information), effectively distinguishing it from sibling tools like health_check and session_manager.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for comprehensive diagnostics but provides no explicit guidance on when to use this tool versus alternatives (e.g., health_check for health only). No exclusion criteria or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch-chunkA
Fetch a specific chunk from a previously cached large response (from ask-rovodev)
| Name | Required | Description | Default |
|---|---|---|---|
| cacheKey | Yes | Cache key from a previous ask-rovodev response | |
| chunkIndex | Yes | Which chunk to retrieve (1-based index) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the basic fetch behavior without mentioning side effects, permissions, or error conditions. This is adequate for a simple read operation, but lacks depth such as what happens if the cache key is invalid or if chunks are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that immediately states the verb and resource. Every word is necessary and effective. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool, the description covers the source (ask-rovodev) and purpose. It lacks mention of the relationship with 'next-chunk', but given the simplicity and good schema coverage, it is nearly complete. Minor gap: no error handling or precondition info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters well. The description adds no additional meaning beyond restating the purpose; no constraints, formatting, or usage tips are provided. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Fetch a specific chunk'), the resource ('previously cached large response'), and the source ('from ask-rovodev'), distinguishing it from sibling tools like 'next-chunk' (which likely retrieves sequential chunks) and 'ask-rovodev' (which creates the cache).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'from a previously cached large response (from ask-rovodev)', implying it should be used after ask-rovodev, but does not explicitly mention when not to use it or alternatives like 'next-chunk' for sequential access. Some context is provided but lacks thorough guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkB
Check the health status of the Rovodev CLI MCP server, including Rovodev CLI availability, session manager status, and environment configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Include detailed diagnostic information in the response (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It states the tool checks health status and lists included components but does not disclose whether it performs any modifications, requires authentication, or what happens if components are unavailable. For a health check, it is moderately transparent but could be more explicit about being read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose and scope. No unnecessary words, though it could be slightly more concise by removing 'Rovodev' redundancy. Overall well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no required parameters, one optional boolean, no output schema), the description provides adequate context about what the health check covers. However, it does not describe the response format, which might be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'detailed' is fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks health status of the server, including specific components like CLI availability, session manager, and environment. However, it does not explicitly distinguish itself from similar sibling tools like 'diagnostics' or 'session_manager', leading to potential confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description merely states what it does, without indicating appropriate contexts or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
HelpA
Show underlying Rovodev CLI help output
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clearly indicates a read-only operation (displaying help) with no side effects. While it could mention that no modifications occur, the simplicity of the tool makes this adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded with the core action and resource, making it immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a straightforward purpose, the description is complete. It tells an agent exactly what the tool does without needing additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100% (trivially). The description adds no parameter information, but per the rule, zero parameters earn a baseline of 4. No additional semantics needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show underlying Rovodev CLI help output' clearly states the tool's purpose with a specific verb ('Show') and resource ('Rovodev CLI help output'). It distinguishes itself from sibling tools like 'ask-rovodev' or 'diagnostics' by focusing purely on CLI help.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when CLI help is needed, but no explicit guidance on when to use vs. alternatives or when not to use is provided. Given the context of sibling tools, the purpose is reasonably clear but lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
next-chunkB
Fetch the next chunk for a previously cached large response (from ask-rovodev)
| Name | Required | Description | Default |
|---|---|---|---|
| cacheKey | Yes | Cache key from a previous ask-rovodev response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether fetching a chunk is idempotent, if it has side effects, rate limits, or what the response format is. This is a significant gap for a tool that likely involves state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core action and prerequisite. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is mostly adequate. However, it lacks details on what constitutes a 'chunk', error handling, or the relationship with 'fetch-chunk', which could lead to incomplete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds context by linking the cacheKey to ask-rovodev, which is beyond the schema's description. This helps the agent understand the parameter's origin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches the next chunk for a previously cached large response from ask-rovodev. It uses a specific verb and resource, but does not explicitly differentiate from the sibling 'fetch-chunk'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use after a cached response from ask-rovodev, but provides no explicit when-to-use, when-not-to-use, or alternatives. The context suggests it's for pagination, but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
PingA
Echo back a message for testing
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to echo back |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes full responsibility. It correctly states the tool echoes back a message, implying no destructive side effects. This is adequate for a trivial test tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is complete. It tells the agent exactly what the tool does and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'message' has a full description in the schema (100% coverage), so the description's addition of 'Echo back a message' adds minimal extra meaning. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool echoes back a message for testing, with a specific verb ('Echo back') and resource ('a message'), distinguishing it from sibling tools that perform different functions like diagnostics or health checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'for testing', indicating the tool is used for test or connectivity verification. While it does not provide explicit when-not or alternatives, the simplicity of the tool makes this sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_managerA
Manage isolated sessions for Rovodev CLI operations. Each session has its own working directory and can be used to maintain context across multiple commands.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: create new session, destroy existing session, list all sessions, get session details, or cleanup expired sessions | |
| sessionId | No | Session ID (required for destroy and get actions) | |
| timeoutMs | No | Session timeout in milliseconds (only used with create action, defaults to 30 minutes) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the full burden. It only mentions 'isolated sessions' and 'working directory' but omits details like side effects, authentication needs, or rate limits. The actions from the schema are not elaborated upon in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with clear subject and verb. Every word serves a purpose. No repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and multiple actions, the description should provide more context about return values and action-specific behavior. It lacks completeness for a tool with 3 parameters and 5 actions. More details are needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 3 parameters, so the bar is higher. The description adds no additional meaning beyond the schema; it only restates the overall purpose. Thus, it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages isolated sessions for Rovodev CLI operations, specifying sessions have their own working directory and maintain context. This distinguishes it from sibling tools which are unrelated to session management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for session management but does not explicitly state when to use vs alternatives or provide exclusions. However, it lists the possible actions (create, destroy, list, get, cleanup) which offer some guidance. Siblings are clearly different, so context is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tap-rovodevB
Invoke Rovodev agent via 'acli rovodev run'. Always runs in yolo mode (non-interactive) for MCP usage. Supports flags like --config-file, --shadow, --verbose, --restore.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Extra raw args passed to the CLI after flags | |
| yolo | No | Enable yolo mode (non-interactive). Default: true in MCP | |
| prompt | No | Alias for message | |
| shadow | No | Enable shadow mode (--shadow) | |
| message | No | Initial instruction for the agent | |
| restore | No | Continue last session if available (--restore) | |
| retries | No | Number of retry attempts for transient failures (1-5, default: 1) | |
| verbose | No | Enable verbose tool output (--verbose) | |
| backoffMs | No | Base delay in milliseconds between retries (default: 1000) | |
| sessionId | No | Session ID to use for isolated execution context | |
| configFile | No | Path to config file (maps to --config-file) | |
| pagechunksize | No | Optional chunk size (characters) for splitting large responses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must fully disclose behavior. It only mentions 'always runs in yolo mode (non-interactive)', which is valuable, but omits other critical traits like authentication requirements, side effects, rate limits, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, and no redundant information. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters and no output schema, the description is too brief. It lacks guidance on parameter interplay (e.g., retries with backoff) and does not explain how this tool fits with siblings like session_manager.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation covers 100% of parameters, so baseline is 3. The description lists a few flags but adds no semantic depth beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Invoke Rovodev agent via 'acli rovodev run''. It identifies the specific verb (invoke) and resource (Rovodev agent) and differentiates from siblings like ask-rovodev by implying this is the direct execution command.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Siblings such as ask-rovodev or diagnostics exist, but the description does not mention them or suggest when to choose one over the other.
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. Dates show when Glama detected each change.
9 tool updates
v0.1.0- First observed
ask-rovodev - First observed
diagnostics - First observed
fetch-chunk - First observed
health_check - First observed
Help - First observed
next-chunk - First observed
Ping - First observed
session_manager - First observed
tap-rovodev
TDQS
Multiple tools have identical or overlapping purposes: 'ask-rovodev' and 'tap-rovodev' have exactly the same description, making them indistinguishable. 'fetch-chunk' and 'next-chunk' both deal with chunks from cached responses, though they are differentiated. 'diagnostics' and 'health_check' also overlap in providing system information.
Tool names follow no consistent pattern: some use hyphens (ask-rovodev, fetch-chunk), some underscores (health_check, session_manager), some are capitalized (Help, Ping), others lowercase. Verbs and nouns are mixed without clear convention.
With 9 tools, the count falls within the typical 3-15 range. However, the presence of two identical tools (ask-rovodev and tap-rovodev) suggests the set could be streamlined. Overall, the number is reasonable for the server's purpose.
The tool surface covers the core operations of invoking the Rovodev agent, managing sessions, and checking health, but lacks lifecycle management for sessions (e.g., listing, deleting) and config management beyond flags. The duplicate tool indicates unnecessary redundancy.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
471Shared memory and actions for Claude, Kiro, OpenAI, Cursor, and other MCP-compatible AI clients.
1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceExposes a set of CLI tools (test generation, documentation generation, linting, test running, code search) to AI assistants via MCP, allowing them to perform these tasks through natural language.3-
- AlicenseAqualityDmaintenanceWraps Anthropic Claude Code CLI as tools, allowing MCP clients to invoke headless Claude Code sessions.2147MIT
- FlicenseNot gradedqualityBmaintenanceDelegates coding tasks to the local Claude Code CLI via MCP, offering run, review, and status tools for MCP-compatible agents.36-
- AlicenseNot gradedqualityBmaintenanceExposes opencode's coding agent and shell as MCP tools, enabling MCP-only AI clients to execute shell commands, manage files, and run agent sessions with async job handling.181MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yanggf8/rovodev-cli-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server