Mavis MCP Server
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., "@Mavis MCP Serverspawn a worker agent to review the code in /src for SQL injection risks"
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.
Mavis MCP Server
将 Mavis 作为 MCP Server 暴露给 Claude Code / Agent SDK / 任何 MCP 客户端调用。
快速开始
1. 添加到 Claude Code
# 方法一:直接配置(全局)
claude mcp add mavis --type stdio -- node /Users/cunning/.mavis/agents/mavis-mcp-server/src/index.js
# 方法二:手动配置项目
# 将以下内容添加到项目根目录的 .mcp.json 文件在项目 .mcp.json 中添加:
{
"mcpServers": {
"mavis": {
"type": "stdio",
"command": "node",
"args": ["/Users/cunning/.mavis/agents/mavis-mcp-server/src/index.js"]
}
}
}2. 用 Agent SDK 调用
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "用 mavis_spawn_worker 启动一个 coder agent,帮我审查 /path/to/project 的代码安全",
options: {
mcpServers: {
mavis: {
command: "node",
args: ["/Users/cunning/.mavis/agents/mavis-mcp-server/src/index.js"]
}
}
}
})) {
console.log(message);
}Related MCP server: OpenClaw MCP Server
可用工具(22个)
Session 管理
Tool | 说明 |
| 列出所有会话 |
| 获取会话详情 |
| 获取会话消息历史 |
| 创建新会话(spawn agent) |
| 中止运行中的会话 |
| 轮换当前会话 |
| 查看会话的文件变更 |
通信
Tool | 说明 |
| 向会话发送消息/命令 |
| 列出所有可达会话 |
Team 编排
Tool | 说明 |
| 多 Agent 并行任务规划执行 |
Agent 管理
Tool | 说明 |
| 列出所有可用 Agent |
| 获取 Agent 详情 |
| 启动单次验证/审查 Agent |
Memory
Tool | 说明 |
| 追加记忆条目 |
| 搜索记忆 |
Cron 调度
Tool | 说明 |
| 创建定时任务 |
| 列出定时任务 |
| 删除定时任务 |
其他
Tool | 说明 |
| 技能管理 |
| Hook 管理 |
| 查看配置 |
| MCP 服务器管理 |
| 守护进程状态 |
| Token 使用统计 |
使用示例
在 Claude Code 中使用
你:我需要审查这个代码库的安全性,让 Mavis agent 来做
Claude Code:调用 mavis_team_plan,描述任务,Mavis 自动编排 coder + verifier agent 协作完成用 mavis_session_new 启动任务
{
"name": "mavis_session_new",
"arguments": {
"agent": "coder",
"prompt": "审查 /path/to/project/src 的 SQL 注入风险",
"title": "安全审查任务",
"workspace": "/path/to/project"
}
}本地开发
cd /Users/cunning/.mavis/agents/mavis-mcp-server
# 安装
npm install
# 测试 MCP server
node scripts/test-client.js
# 启动 server(stdio 模式)
node src/index.js架构说明
Claude Code / Agent SDK (MCP Client)
│
▼ stdio JSON-RPC
┌─────────────────────────┐
│ mavis-mcp-server │
│ (Node.js stdio transport)
│ │
│ 22 MCP tools │
│ │ │
│ ▼ spawn / IPC │
└────────┬────────────────┘
│
▼ exec mavis CLI
Mavis Daemon
(port 15321)
│
▼
Mavis Agents
(mavis, coder, verifier, general)文件结构
mavis-mcp-server/
├── package.json
├── src/
│ └── index.js # MCP Server 实现(22个工具)
└── scripts/
└── test-client.js # 测试客户端Available Tools
26 toolsmavis_agent_infoB
Get detailed info about a specific agent (skills, system prompt, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| agentName | Yes | Agent name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, permissions, or response structure. It merely states it retrieves info, which is already obvious.
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 redundant words, but it could benefit from slightly more structure or bullet points for clarity.
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 info tool with one parameter and no output schema, the description is fairly complete. However, it omits details like error cases and the exact scope of 'detailed 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% with a minimal description 'Agent name'. The tool's description does not add significant meaning beyond the schema, so 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 verb 'Get', the resource 'detailed info about a specific agent', and includes examples like skills and system prompt, distinguishing it from sibling tool 'mavis_agent_list'.
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 like 'mavis_agent_list'. The context implies using it after listing agents, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_agent_listA
List all available Mavis agents (built-in and custom).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. It only states the listing action without disclosing safety (e.g., read-only) or any behavioral traits like pagination 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 8 words, no wasted text. Front-loaded with verb and resource, perfectly concise for a simple list tool.
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 params, no output schema), the description adequately states what the tool does. It could hint at the output format, but overall sufficient for 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?
The tool has zero parameters, so per guidelines baseline is 4. The description does not need to add parameter details, and the schema already covers all aspects.
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 lists all Mavis agents, specifying both built-in and custom, distinguishing it from sibling 'mavis_agent_info' which provides details on a single agent.
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 like mavis_agent_info; usage is implied by the purpose but lacks when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_comm_peersB
List all reachable (active) sessions in the Mavis network.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Filter by agent name (e.g. mavis, coder, general) | |
| sessionId | No | Session ID to query peers for (defaults to __MAVIS_PARENT_SESSION_ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states a read-like operation but does not disclose any behavioral traits such as required permissions, rate limits, or what 'reachable' entails.
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, no redundancy, gets straight to the point. Every word contributes to the 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?
Simple tool with no output schema. Description does not indicate the return format (e.g., array of session IDs or objects). Missing critical information about what the agent will receive, leaving ambiguity.
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% with both parameters described in the input schema. Description adds no additional meaning beyond the schema, so 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?
Description clearly states the verb 'List', the resource 'reachable (active) sessions', and the scope 'Mavis network'. It distinguishes from sibling 'mavis_session_list' by specifying 'reachable (active)' which implies a subset of all sessions.
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 on when to use this tool versus alternatives, no prerequisites, no when-not-to-use instructions. It does not explain how 'reachable' is defined or when to prefer this over mavis_session_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_comm_sendC
Send a message or command to a running session (prompt/abort/kill/summarize/fork/spawn).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target session ID | |
| command | Yes | Command to send | |
| content | No | Message content (for prompt command) | |
| from | No | Sender session ID (default: parent session) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure, but it only states the action without mentioning side effects, prerequisites (e.g., session must be running), permissions, or error conditions. This is insufficient for safe use.
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 immediately conveys the tool's action. 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 lack of output schema and annotations, the description does not provide enough context about expected results, errors, or prerequisites. An agent would lack critical information to reliably use this tool.
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 description adds no extra meaning beyond what the schema provides. The enum list is repeated, but no additional context or constraints are described.
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 sends a message or command to a running session and lists the six possible commands. This makes the primary purpose evident, though it does not explicitly differentiate from sibling tools like mavis_session_abort which may cause 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 alternative tools (e.g., mavis_session_abort) or when not to use it. The description lacks context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_config_showA
Show current Mavis daemon configuration (models, provider, nexus settings).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full behavioral transparency burden. It indicates a read operation via 'Show', but does not mention side effects, authentication needs, or rate limits. This is adequate for a simple 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?
A single, 9-word sentence with parenthetical detail. Every word earns its place. No redundant or vague phrasing.
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 no-parameter, read-only tool, the description sufficiently conveys what it does. The absence of an output schema is acceptable given typical expectations for a config show command.
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 input schema has zero parameters with 100% coverage, so the description need not add parameter info. Baseline 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?
Description clearly states the verb 'Show' and the resource 'Mavis daemon configuration', with a parenthetical list of contents (models, provider, nexus settings). This distinguishes it from sibling tools like mavis_status or mavis_session_info.
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 does not provide explicit when-to-use or when-not-to-use guidance, nor does it contrast with sibling tools. However, the purpose itself implies usage for viewing configuration, so it avoids misleading the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_cron_createB
Create a scheduled cron job (self-reminder, recurring task, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| agentName | Yes | Agent name or ID to own the cron task | |
| cronName | Yes | Cron task name | |
| schedule | Yes | Cron schedule expression (e.g. "*/5 * * * *" for every 5 min) | |
| prompt | Yes | Prompt to send when the cron fires | |
| timezone | No | Timezone (e.g. Asia/Shanghai) | |
| sessionMode | No | Session mode: sessionId or new | |
| sessionId | No | Session ID when sessionMode=sessionId | |
| disable | No | Create the task disabled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose side effects, persistence, duplicates handling, or any behavioral details beyond creation. Does not contradict annotations as none exist.
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 is concise and front-loaded with purpose. However, it could include more useful context without being verbose.
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?
No output schema, and description does not mention return value, confirmation, or error conditions. For a tool with 8 parameters, more context is needed to understand the full operation.
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%, so parameters are well-documented in schema. Description adds no extra meaning beyond restating the tool's purpose. 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 action ('Create') and resource ('scheduled cron job'), with examples (self-reminder, recurring task). It also distinguishes from siblings like mavis_cron_delete and mavis_cron_list.
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 on when to use this tool vs alternatives. Does not specify prerequisites, conditions, or that it should not be used for one-time tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_cron_deleteB
Delete a cron job.
| Name | Required | Description | Default |
|---|---|---|---|
| agentName | Yes | Agent name or ID that owns the cron task | |
| cronName | Yes | Cron task name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'Delete a cron job' without any additional behavioral context such as irreversibility, permissions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with no wasted words. However, it is somewhat under-specified for a delete operation, so a perfect score is not warranted.
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 has no output schema and the description provides no information on return values, success indicators, or error conditions. For a destructive operation, more context is needed.
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 input schema has 100% description coverage for both parameters, so the description adds no extra meaning beyond what is already in the schema. Baseline 3 applies.
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 'Delete a cron job' with specific verb and resource. It distinguishes from sibling tools mavis_cron_create and mavis_cron_list which perform different operations.
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, prerequisites, or alternatives. The agent must infer the usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_cron_listB
List all scheduled cron jobs for an agent.
| Name | Required | Description | Default |
|---|---|---|---|
| agentName | No | Agent name to list crons for (default: mavis) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation with no side effects, which is adequate for a simple list tool. However, it does not disclose default behavior (e.g., the default agentName) or any limitations, though the schema provides the default value. With no annotations, the description could be more explicit.
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, front-loaded sentence that conveys the core purpose efficiently without extraneous information. It is appropriately sized for a simple tool.
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?
Despite the simplicity, the description lacks details about the return value (no output schema provided) and does not explain how the tool fits into the broader set of cron management tools. An agent may need to infer expected output from the tool name.
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 input schema has 100% description coverage for its single parameter, so the description adds no additional meaning beyond what the schema already provides. Baseline score of 3 applies.
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 'List' and the resource 'scheduled cron jobs for an agent', distinguishing it from sibling tools like mavis_cron_create and mavis_cron_delete. It is specific and unambiguous.
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 such as mavis_cron_create or mavis_cron_delete. The description does not mention conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_hook_listA
List all registered Mavis hooks (pre/post execution triggers).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. Simply states 'list all registered Mavis hooks'; no disclosure of authentication needs, rate limits, or side effects. However, as a list operation with no parameters, behavioral expectations are minimal.
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, front-loaded with action and resource, no redundant words. Perfectly concise for a simple list tool.
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?
No output schema, but list tools often need to indicate return format (e.g., list of objects with fields). Description lacks details on what information each hook entry contains. Adequate for a minimal tool but not fully complete.
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?
No parameters in input schema (0 params), so baseline is 4. Description adds value by clarifying what hooks are (pre/post execution triggers), which is not apparent from the empty schema.
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?
Description clearly states verb 'List' and resource 'registered Mavis hooks' with parenthetical explanation of hooks as pre/post execution triggers, distinguishing it from sibling tools which cover agents, communications, configs, etc.
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 vs alternatives, but since it's the only hook listing tool among siblings, usage is implied. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_mcp_callB
Call a specific tool on an MCP server. Useful for delegating to Playwright, Matrix, or other MCP tools from within Mavis.
| Name | Required | Description | Default |
|---|---|---|---|
| server | Yes | MCP server name (e.g. playwright, matrix, cu) | |
| tool | Yes | Tool name to call | |
| args | No | JSON string of tool arguments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose side effects, error behavior, or whether the tool is read-only or destructive. The args parameter is a JSON string but no format guidance is given.
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 with no fluff. It is front-loaded with the core action and then provides usage context efficiently.
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 has no output schema and no annotations. The description does not explain return values, error cases, or that args must be valid JSON. For a delegation tool, more behavioral context is needed.
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% with descriptions for all parameters. The description adds no extra meaning beyond the schema, so baseline 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 verb 'Call' and the resource 'a specific tool on an MCP server'. It provides concrete examples (Playwright, Matrix) and distinguishes this from sibling tools like mavis_mcp_list which lists servers.
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 offers general context ('Useful for delegating...') but does not explicitly state when to use versus not use, nor does it mention alternative tools. No exclusion criteria or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_mcp_listA
List all registered MCP servers and their available tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic function. It does not disclose behavior like authentication requirements, error handling, or what happens if no servers are registered.
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. It is concise and front-loaded with the action and object.
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 parameterless list tool with no output schema, the description is complete. It clearly states the purpose and output (list of servers and tools). No critical information is missing.
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 tool has no parameters, so schema coverage is 100%. The description does not add parameter information, but none is needed. Baseline for zero parameters is 4.
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 verb 'List' and the resource 'all registered MCP servers and their available tools'. It distinguishes itself from sibling tools like mavis_mcp_call, which is about invoking a specific tool.
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 when to use it (to get a list of servers/tools) but does not explicitly state when not to use it or mention alternatives. However, given the tool's simplicity, this is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_memory_appendB
Append a new entry to Mavis memory (user, agent, or project level).
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | Memory scope | |
| agentName | No | Agent name (required when scope=agent) | |
| content | Yes | Content to append | |
| topic | No | Topic label for the entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates a write operation ('append'), but does not specify side effects such as whether content is appended to existing topics, memory limits, or whether it mutates state irreversibly.
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, front-loads the verb and resource, no extraneous words. Efficiently communicates core action.
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?
Adequate for an append operation with 4 parameters and no output schema. Could mention that the tool returns nothing or provide confirmation behavior, but sibling context (memory_search) implies memory storage. Missing usage examples or return 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 baseline is 3. Description adds no extra meaning beyond the schema's parameter descriptions; it only repeats scope options. No clarification on optional 'topic' or conditional 'agentName' beyond schema.
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?
Description clearly states the verb 'Append' and resource 'Mavis memory' with three scope levels (user, agent, project). This distinguishes it from the sibling 'mavis_memory_search', which searches memory.
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 on when to use this tool versus alternatives like 'mavis_memory_search' or how to choose between scope levels. Lacks context on prerequisites or situations where appending is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_memory_searchC
Search Mavis memory for entries matching a query.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Memory scope to search | |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but only says 'search' without disclosing read-only nature, authorization requirements, result limits, or error handling behavior.
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 with no filler, front-loads the core function. Extremely concise.
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?
Missing output schema means description should explain return behavior (e.g., list of results, empty handling). It does not, leaving the agent with incomplete information for a simple tool.
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 baseline is 3. The description adds no new meaning beyond the schema's parameter descriptions; it simply restates the generic searching concept.
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 ('search') and resource ('Mavis memory'), using a specific verb. It distinguishes from sibling 'mavis_memory_append' by focusing on querying, but does not elaborate on scope options.
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 on when to use this tool versus alternatives like 'mavis_memory_append' or other search tools. No mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_abortB
Abort a running session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID to abort |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full burden. It states the action but does not disclose consequences (e.g., data loss, irreversibility, permission requirements).
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, front-loaded sentence that immediately conveys the tool's purpose with no extraneous 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?
For a simple tool with one parameter and no output schema, the description covers the core purpose but lacks behavioral details like side effects or prerequisites.
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 input schema provides a description for the only parameter ('Session ID to abort'), achieving 100% coverage. The tool description adds no extra meaning beyond this, meeting the baseline.
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 uses a specific verb ('Abort') and resource ('running session'), clearly distinguishing it from other session-related tools like mavis_session_list or mavis_session_new.
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 provides no guidance on when to use this tool versus alternatives, nor any context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_diffA
Show file changes (git diff) made by a session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It states 'Show file changes (git diff)', implying read-only, but does not mention any side effects, authentication needs, or output format. For a diff tool, the behavioral context is scant.
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 of 9 words with no redundancy. It is maximally concise and front-loaded with the core 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?
Given the simplicity (one parameter, no output schema), the description is minimally adequate. It tells what the tool does but lacks context on the output (e.g., file list or diff content) and any constraints on the session. A slightly more complete description would improve usability.
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 input schema has one parameter (sessionId) with 100% description coverage. The tool description does not add any additional meaning beyond what the schema already provides for that parameter. Baseline 3 is appropriate as the schema handles the param documentation.
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: 'Show file changes (git diff) made by a session.' It uses a specific verb ('Show') and resource ('file changes (git diff)'), which distinguishes it from sibling session tools like mavis_session_info and mavis_session_list.
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 given on when to use this tool versus alternatives, or any prerequisites (e.g., session must have changes). The usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_infoB
Get detailed info about a specific session (status, workspace, model, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID (e.g. mvs_xxx) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It implies a read-only operation, but no explicit mention of side effects, permissions, or rate limits. Adequate for a simple get operation but lacks depth.
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, front-loaded with key purpose, no wasted words. Excellent conciseness.
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?
No output schema, so description should detail return fields. It lists only 'status, workspace, model, etc.' which is vague. Missing explicit mention of whether response includes timestamps, metadata, or error handling.
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% with a single parameter 'sessionId' described. The description adds no additional meaning beyond the schema, which already includes a format example. Baseline 3 applies.
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 'Get detailed info about a specific session' with examples of returned fields. It distinguishes it from list and create tools, but doesn't fully differentiate from other session detail tools like mavis_session_messages.
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 on when to use this tool versus alternatives like mavis_session_list or mavis_session_messages. The description does not provide context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_listB
List Mavis sessions. Returns session IDs, titles, and last-updated timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | No | Agent name (default: all agents) | |
| limit | No | Max sessions to return (default: 20) | |
| includeArchived | No | Include compressed/archived sessions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Does not mention read-only nature, permissions, or any side effects. Only states basic output fields.
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?
One sentence, front-loaded with action and resource. No unnecessary information.
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?
No output schema, but description lists fields returned. Lacks details on response structure (e.g., array, pagination) but is fairly complete for a list operation.
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%. Description does not add meaning beyond schema; 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?
Clearly states the action 'List' and the resource 'Mavis sessions', and specifies the returned fields (IDs, titles, timestamps). Distinguishes well from sibling tools like mavis_session_new or mavis_session_abort.
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 on when to use this tool versus alternatives (e.g., mavis_session_info, mavis_session_messages). No mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_messagesB
Get the message history (conversation transcript) of a session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID | |
| limit | No | Max messages to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It implies a read operation but does not explicitly state that it is read-only, nor does it mention ordering, pagination, or any behavioral details beyond 'get message history'. The description is too sparse to fully inform the agent of the tool's effects.
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, front-loaded sentence of 12 words with no fluff. Every word is essential for stating 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?
Given no annotations and no output schema, the description is adequate for a simple retrieval tool with 2 params. However, it lacks details about return format (e.g., ordering, fields) and does not mention default limit or pagination behavior, leaving some ambiguity.
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% with clear param descriptions ('Session ID', 'Max messages to return (default: 50)'). The description adds no extra meaning beyond the schema; it only reinforces the purpose. Baseline 3 is appropriate as schema does the heavy lifting.
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 'Get the message history (conversation transcript) of a session' clearly states the verb 'Get' and resource 'message history'/'conversation transcript', and the scope is limited to a specific session via sessionId. It distinguishes from siblings like mavis_session_info (metadata) and mavis_session_new (creation).
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 does not provide guidance on when to use this tool versus alternatives, nor does it mention when not to use it. It simply states what it does without contextualizing its usage relative to other session tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_newA
Create a new standalone Mavis session (use --from root for isolated, independent session). For child sessions linked to a parent, use mavis_spawn_worker instead.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | Agent name (e.g. mavis, coder, general, verifier) | |
| prompt | No | Initial prompt to send to the new session | |
| title | No | Optional session title | |
| workspace | No | Session workspace directory path | |
| model | No | Override LLM model (providerID/modelID format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It lacks details on behavioral traits such as creation behavior (synchronous/asynchronous), required permissions, side effects, or return value. Minimal transparency beyond the core action.
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 concise sentences with zero wasted words. It front-loads the purpose and immediately provides usage differentiation.
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 description covers purpose, usage, and sibling differentiation adequately, but lacks behavioral transparency and does not mention the return value or what the tool produces (no output schema). For a creation tool, more context about post-creation state would be beneficial.
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%, so baseline is 3. The tool description does not add any extra meaning to the parameters; it focuses on the tool's purpose rather than parameter details. The schema already documents each parameter.
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 creates a standalone Mavis session, specifies the --from root flag for isolation, and explicitly differentiates from mavis_spawn_worker for child sessions, providing a specific verb-resource pair with sibling distinction.
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?
Explicitly states when to use this tool (standalone sessions, possibly with --from root) and when to use the alternative mavis_spawn_worker (for child sessions linked to a parent), giving clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_session_rotateA
Rotate the current session — archives the old session and creates a fresh one with a handoff prompt.
| 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 the burden. It discloses archiving and creation of a fresh session with handoff, but does not explain side effects like whether the archived session is retrievable or details about the handoff prompt.
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 concise sentence that front-loads the key action and outcome, with 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?
For a simple tool with no parameters and no output schema, the description provides sufficient context: what it does and the result. Minor omission is the fate of the archived session, but overall complete enough.
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 input schema has no parameters, so the description naturally adds meaning beyond the empty schema by explaining the tool's action. Baseline is 4 for zero parameters, and description meets expectations.
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 'Rotate' and the resource 'current session', and explains the outcome: archive old session and create fresh one with handoff. It effectively distinguishes from sibling session tools like mavis_session_new and mavis_session_abort.
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 context (rotate current session) but does not explicitly state when to use it versus alternatives like mavis_session_new or mavis_session_abort. No exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_skill_infoB
Get detailed info about a specific skill (description, triggers, commands).
| Name | Required | Description | Default |
|---|---|---|---|
| skillName | Yes | Skill name | |
| agentName | No | Agent name to scope the lookup |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It discloses that the tool retrieves details (description, triggers, commands), implying a read-only operation. However, it does not mention authentication, rate limits, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, directly states purpose and content. Efficient but could benefit from slightly more structure (e.g., listing each returned component separately).
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, the description explains the return type (description, triggers, commands). It does not detail optional parameter agentName's effect or mention if additional fields exist.
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%, meaning parameters already have descriptive names and basic descriptions. The description adds no additional semantic value beyond the schema.
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?
Description clearly states it gets detailed info about a specific skill and enumerates what that info includes (description, triggers, commands). This distinguishes it from sibling mavis_skill_list which likely returns a list of skills without details.
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 like mavis_skill_list. The description does not specify prerequisites or contexts for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_skill_listA
List all installed Mavis skills (global and agent-specific).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states 'list' without mentioning side effects, permissions, rate limits, or return format, which is insufficient.
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, clear sentence with no fluff. Every word adds value.
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 description is minimal and does not explain return values or what constitutes a 'skill'. Given no output schema, some explanation of the expected return would be beneficial. It is adequate but has gaps.
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 input schema has zero parameters, so baseline is 4. The description adds no parameter information, but none is needed since there are no parameters to document.
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 'list', the resource 'installed Mavis skills', and adds a qualifier 'global and agent-specific' which distinguishes it from the sibling 'mavis_skill_info' that likely retrieves details of a single skill.
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 when to use (to list all skills) but does not explicitly exclude cases or compare to alternatives. Siblings like 'mavis_skill_info' exist but are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_spawn_workerA
Spawn a single-shot worker/verifier agent as a child session. Use for code review, test, verify tasks. The agent runs independently and reports back. For complex multi-agent tasks, use mavis_team_plan instead.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | Agent name (e.g. general, coder, verifier) | |
| prompt | Yes | Task description for the worker agent | |
| workspace | No | Working directory for the worker | |
| parentSession | No | Parent session ID (for result routing) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description shoulders behavioral disclosure. It indicates the agent runs independently, is single-shot, and reports back, though lacks details on blocking/async and result format.
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?
Three short, front-loaded sentences with no fluff: defines action, gives usage, contrasts with sibling.
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?
Covers purpose, usage, and alternative; lacks output specification, but no output schema exists to supplement.
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 schema handles parameter descriptions; the description adds no extra parameter info, meeting baseline.
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 spawns a single-shot worker/verifier agent as a child session, specifies use cases (code review, test, verify), and distinguishes from sibling mavis_team_plan.
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?
Explicitly says use for single-shot tasks like code review, test, verify, and directs to mavis_team_plan for complex multi-agent tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_statusA
Check Mavis daemon status (running, port, version).
| 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 the full burden. It clearly states it's a 'Check' operation (read) and enumerates return fields, providing adequate behavioral disclosure for a simple status 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, well-structured sentence that front-loads the purpose and enumerates output fields with 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 no output schema, the description explains return values (running, port, version). It lacks error handling details but is otherwise complete for a trivial status check tool.
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 zero parameters, so schema coverage is 100%. The description adds no parameter info, which is acceptable as there are none. Baseline for 0 parameters is 4.
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 Mavis daemon status and lists three specific return items (running, port, version). This distinguishes it from sibling tools like mavis_config_show which show configuration, but it does not explicitly differentiate from siblings.
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 when needing daemon status but provides no explicit guidance on when to use versus alternatives, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_team_planA
List team plans or get status of a specific plan. Use team plan status <id> to view details. Create plans via YAML files with team plan run <yaml> (not exposed here — use mavis_session_new for one-off tasks).
| Name | Required | Description | Default |
|---|---|---|---|
| planId | No | Plan ID to get status for (omit to list all plans) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description effectively communicates the tool's scope: it only lists and gets status, and explicitly states creation is not performed here. While it doesn't explicitly label it as read-only, the absence of side-effect mentions and the redirection to another tool for creation imply a safe read operation. This adds useful context beyond the bare minimum.
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?
Three sentences, no wasted words. First sentence front-loads the primary purpose. Second sentence gives a concrete usage example. Third sentence explains what is not covered and redirects appropriately. 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 simple tool with one optional parameter and no output schema, the description is largely complete, covering two modes of operation and distinguishing from creation. It could briefly hint at return format (e.g., list of plan IDs), but overall it provides sufficient context for selection and invocation.
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% (planId described in schema). The description does not add extra meaning beyond what the schema provides; it mentions 'status' and 'list' but the schema already clarifies omit to list all plans. Hence, 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?
Description clearly states it lists team plans or gets status of a specific plan, using the verb 'list' and 'get status' with the resource 'team plan'. It differentiates from creation tools by noting that 'Create plans via YAML files ... is not exposed here' and points to mavis_session_new as alternative, thus distinguishing from siblings.
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?
Explicitly states when to use: to list plans or get status (with planId). Also provides when-not-to-use: for creating plans, advising to use mavis_session_new. This clear guidance helps an agent decide between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mavis_usageC
Inspect token usage by session, agent, or globally.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session ID to query usage for | |
| agentName | No | Agent name to query usage for | |
| from | No | Start of time range (unix-ms) | |
| to | No | End of time range (unix-ms) | |
| group | No | Group by dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose whether the tool is read-only or if it has any side effects. For a query-like operation, explicitly stating it is a read operation would improve transparency.
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, front-loaded with the action and resource, containing no extraneous information.
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?
With no output schema and optional parameters, the description lacks context on how to perform a global query (no 'global' enum value) and what the output format is, making it incomplete 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 coverage is 100%, so the description adds little beyond the schema. It mentions scoping dimensions but does not clarify parameter interactions or provide examples of valid parameter combinations.
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 inspects token usage with scoping by session, agent, or globally, which is specific and distinct from sibling tools that focus on agents, sessions, or skills.
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 on when to use this tool versus alternatives is provided. Sibling tools like mavis_session_info or mavis_agent_info serve different purposes but could overlap in querying agent or session data.
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.
26 tool updates
v1.0.0- First observed
mavis_agent_info - First observed
mavis_agent_list - First observed
mavis_comm_peers - First observed
mavis_comm_send - First observed
mavis_config_show - First observed
mavis_cron_create - First observed
mavis_cron_delete - First observed
mavis_cron_list - First observed
mavis_hook_list - First observed
mavis_mcp_call - First observed
mavis_mcp_list - First observed
mavis_memory_append - First observed
mavis_memory_search - First observed
mavis_session_abort - First observed
mavis_session_diff - First observed
mavis_session_info - First observed
mavis_session_list - First observed
mavis_session_messages - First observed
mavis_session_new - First observed
mavis_session_rotate - First observed
mavis_skill_info - First observed
mavis_skill_list - First observed
mavis_spawn_worker - First observed
mavis_status - First observed
mavis_team_plan - First observed
mavis_usage
TDQS
Each tool targets a distinct resource and action, with clear domain prefixes like session, agent, memory. Even the session tools (new, list, info, messages, abort, rotate, diff) have well-defined purposes, and potential overlaps like session_new vs spawn_worker are clarified in descriptions.
All tools follow a consistent 'mavis_<domain>_<verb>_<noun>' pattern, using snake_case throughout. Verbs like list, info, create, delete, search, append are uniformly applied across domains.
26 tools is somewhat high but justified by the comprehensive scope covering agents, sessions, memory, skills, communication, MCP, cron, hooks, and team plans. Each tool serves a distinct purpose, and no obvious redundancy exists.
The tool surface covers most lifecycle operations for agents, sessions, memory, and skills. Notable gaps include lack of agent creation/deletion and team plan creation (only status/list), but core workflows are well-supported.
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
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that enables multi-agent collaboration with task lists, inter-agent messaging, and tmux-based spawning, making Claude Code's agent teams protocol available to any MCP client.281MIT
- AlicenseBqualityFmaintenanceMCP server that exposes OpenClaw Gateway tools to Claude Code and other MCP clients, enabling messaging, session management, scheduling, node control, web search, memory search, and TTS.211414MIT
- FlicenseNot gradedqualityFmaintenanceAn MCP server for coordinating multiple Claude Code sessions across related projects.-
- AlicenseAqualityDmaintenanceThis MCP server enables remote control and management of Claude Code agents, allowing you to execute missions, configure agent personalities, and integrate with other MCP tools.7251MIT
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/cunninglab/mavis-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server