Skip to main content
Glama

Msty Admin MCP — v6.1.5

Licence: MIT Python Stars M-Pineapple/msty-admin-mcp MCP server

Unofficial community project. Not affiliated with, or endorsed by, Msty. Msty is a trademark of its owner.

Comprehensive MCP server for administering Msty Studio Desktop 2.9+ with 56 tools across 9 phases: real Studio path/DB detection, entity inventory (Context Studio, Knowledge Stacks, Agent Mode, Turnstiles, …), insights analytics, Nexus bridge, Bloom evaluation, multi-backend local inference, and a handoff from a local model to the Cursor agent on this Mac.

Requirements: Python 3.10+, MCP SDK v1.0.0+, psutil 5.9.0+

macOS ships python3 3.9. This package will not install on that interpreter. Use Homebrew Python 3.12 (or any 3.10+) as shown below.

New to Bloom? Jump to the Bloom Behavioral Evaluation section or read the full Bloom guide.


Installation

Quick Start

Python 3.10 or newer is required. On macOS the system python3 is 3.9, so create the venv with Homebrew Python:

brew install python@3.12
python3.12 -m venv .venv
source .venv/bin/activate
pip install msty-admin-mcp
msty-admin-mcp  # Runs on stdio (default MCP transport)

If you already have Python 3.10+ as python3, python3 -m venv .venv is enough. Then pip install msty-admin-mcp as above.

If pip install msty-admin-mcp cannot find the package, install the release straight from GitHub:

pip install "msty-admin-mcp @ git+https://github.com/M-Pineapple/msty-admin-mcp@v6.1.5"

With HTTP Transport

pip install "msty-admin-mcp[http]"
msty-admin-mcp --transport streamable-http  # Runs on http://localhost:8000

From Source

git clone https://github.com/M-Pineapple/msty-admin-mcp
cd msty-admin-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[test]"
pytest tests/ -v

This server targets the 1.x MCP Python SDK (mcp>=1.0.0,<2).

Claude Desktop and Cursor

After pip install msty-admin-mcp, the console script msty-admin-mcp is on that environment's PATH. Point the host at it.

Claude Desktop — merge into ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "msty-admin": {
      "command": "msty-admin-mcp"
    }
  }
}

Cursor — merge into ~/.cursor/mcp.json:

{
  "mcpServers": {
    "msty-admin": {
      "command": "msty-admin-mcp"
    }
  }
}

If the host cannot see the script, set command to the absolute path of msty-admin-mcp inside the venv (…/bin/msty-admin-mcp). Restart the host after editing.

The Frontier one-tool server is separate. See Hybrid local model and Cursor agent.


Related MCP server: IBM Cloud MCP Server

Usage

Once the server is registered with Msty Studio (or another MCP host), ask in natural language. The host maps your words onto the tools.

Health and install

  • "Detect my Msty installation and show the version."

  • "Analyse Msty health."

  • "What is the MCP server status?"

Studio inventory

  • "List my personas and knowledge stacks."

  • "Show all workspaces."

  • "List the tools in my Toolbox."

  • "Export a workflow pack for my current workspace."

Local models and services

  • "Which local models are available?"

  • "Recommend a model for summarising long documents."

  • "What is the Nexus status and which models does it expose?"

Analytics and Bloom

  • "Show model performance metrics from Studio insights."

  • "Analyse my conversation patterns."

  • "Run a Bloom evaluation for sycophancy on this model."

Frontier handoff

For a local-model chat, use the one-tool Frontier server (see Hybrid local model and Cursor agent):

  • "Ask the Cursor agent on this Mac why this SwiftUI view is not updating."


Configuration

Environment variables (all optional, sensible defaults):

# Msty installation host
MSTY_HOST=127.0.0.1

# Service backend ports (also read from Studio Gifnoc.nosj when present)
MSTY_AI_PORT=11964           # Local AI (Ollama)
MSTY_MLX_PORT=11973          # MLX service
MSTY_LLAMACPP_PORT=11454     # LLaMA.cpp service
MSTY_VIBE_PORT=8317          # Vibe CLI Proxy
MSTY_NEXUS_PORT=11434        # Msty Nexus OpenAI-compatible gateway

# Service timeout
MSTY_TIMEOUT=10              # Seconds

# Bloom integration (required for Phase 6 tools)
ANTHROPIC_API_KEY=sk-...     # Required for Bloom judge model

Architecture

Studio 2.9+ data layout

Msty Studio no longer uses a top-level msty.db. The workspace SQLite lives under the Chromium File System API path, for example:

~/Library/Application Support/MstyStudio/
├── Gifnoc.nosj                          # service config (ports / model paths)
├── models/  models-mlx/
└── File System/000/t/00/00000000        # Drizzle SQLite workspace DB

The MCP auto-detects /Applications/MstyStudio.app, reads the bundle version, resolves the SQLite blob, and opens it read-only.

Service discovery

Msty Studio Desktop
├── Local AI (Ollama) → port 11964
├── MLX → port 11973
├── LLaMA.cpp → port 11454
├── Vibe CLI Proxy → port 8317
└── Msty Nexus (optional) → port 11434

         ↓

MCP Server (stdio / HTTP)
├── Phase 1: Foundational (6)
├── Phase 2: Configuration (4)
├── Phase 3: Service Integration (11)
├── Phase 4: Intelligence (5)
├── Phase 5: Calibration (4)
├── Phase 6: Bloom Evaluation (6)
├── Phase 7: Studio Inventory (15)
├── Phase 8: Nexus Bridge (4)
└── Phase 9: Frontier handoff (1)

Hybrid local model and Cursor agent

A local model does the ordinary work. When a question is past it, that model calls ask_frontier. The tool runs the Cursor agent on this machine and returns the answer in the same Msty chat. A follow-up resumes that Cursor chat.

Use a separate one-tool server for the local-model chat. The full admin server has 56 tools. A small model will call those other tools (GitHub, search, schema, and so on) instead of waiting for the answer.

Fresh install

  1. Install this package and the Cursor agent CLI (cursor-agent). It must be on the PATH seen by Msty, or at ~/.local/bin/cursor-agent. Login and API keys: Cursor CLI authentication.

  2. Create a user API key in Cursor Dashboard → API Keys. An admin key does not work. Do not commit the key and do not put it in this repo.

  3. In Msty, add a toolbox server named Frontier. From a source checkout:

{
  "command": "/absolute/path/to/venv/bin/python",
  "args": ["-m", "src.frontier_main"],
  "env": {
    "PYTHONPATH": "/absolute/path/to/msty-admin-mcp",
    "CURSOR_API_KEY": "your-user-api-key"
  }
}

After pip install, the console script msty-frontier is the same one-tool server. You can set command to that script and omit PYTHONPATH.

  1. Create a toolset that contains only this Frontier server. Do not put GitHub, Brave, Trello, or the full admin server in that toolset.

  2. On the local-model chat, select that toolset in the composer (the active-toolset control). The toolset stored on the chat is not what is sent if the composer still has another toolset selected.

  3. Quit Msty and open it again after any toolbox or environment change.

  4. Ask a question the local model cannot already answer. Success is one ask_frontier card, then the Cursor reply under it. A normal paragraph with no card means the model answered by itself and Cursor was not asked.

Optional project folder

By default the Cursor agent reads an empty folder under ~/.msty-admin/frontier-workspace. It cannot see your repositories. To let it read one project, set:

"MSTY_FRONTIER_WORKSPACE": "/absolute/path/to/that/project"

Ask mode does not send mail, move or delete files, or use trading tools. It can read that folder.

Update from v6.0.0

The admin server is unchanged for Studio inventory and the other 55 tools. Add the Frontier server and the one-server toolset as above. Do not point the local-model chat at the full msty-admin-mcp command.

Caveats

  • The local model must emit a real tool call. Some small models never do, and then no amount of "please call the tool" in the user message will reach Cursor. A model that can call tools will. It may rewrite your question into a search command. That is still a successful handoff if the card is ask_frontier and the text under it came from Cursor.

  • cursor-agent status can say "not logged in" while ask mode still works with CURSOR_API_KEY. The frontier process passes that variable as --api-key. A browser cursor-agent login in your terminal is not always visible to the process Msty starts.

  • Several ask_frontier calls in one reply share the first Cursor answer. They do not each start a new chat.

  • The last Cursor chat id is stored in ~/.msty-admin/frontier-session.json (mode 0600). Delete that file to start a fresh Cursor chat.

  • identify_handoff_triggers only scores past speed and latency. It does not send the question.


Tools Summary (56 Total)

Phase 1: Foundational (6)

  • detect_msty_installation — app, version, DB path, ports

  • read_msty_database — stats / tables / read-only SQL

    • In read-only SQL, credential columns (key, token, secret, password, auth and header names, URL, config/JSON and command-line columns) always read as NULL. Secrets typed into arbitrary free-text columns, such as a chat message or a note, are out of scope for this tool.

  • list_configured_tools — Toolbox MCP tools

  • get_model_providers — services + Studio providers (keys redacted)

  • analyse_msty_health — install + DB + services

  • get_server_status — MCP status

Phase 2: Configuration (4)

  • export_tool_config — export a tool by name/id

  • sync_claude_preferences — Claude ↔ Msty delta report

  • generate_persona — persona JSON for Persona Studio

  • import_tool_config — validate import (live DB writes refused by default)

Phase 3: Service Integration (11)

  • get_service_status, list_available_models, query_local_ai_service

  • chat_with_local_model, recommend_model

  • list_mlx_models, chat_with_mlx_model

  • list_llamacpp_models, chat_with_llamacpp_model

  • get_vibe_proxy_status, query_vibe_proxy

Phase 4: Intelligence (5)

  • get_model_performance_metrics — from Studio insightsLanguageModelUsage

  • analyse_conversation_patterns

  • compare_model_responses

  • optimise_knowledge_stacks — live Next Gen / draft / compose status

  • suggest_persona_improvements

Phase 5: Calibration (4)

  • run_calibration_test, evaluate_response_quality

  • identify_handoff_triggers, get_calibration_history

Phase 6: Bloom Evaluation (6)

  • bloom_evaluate_model, bloom_check_handoff, bloom_get_history

  • bloom_list_behaviors, bloom_get_thresholds, bloom_validate_model

Phase 7: Studio 2.9 Inventory (15)

  • list_studio_catalogue, list_workspaces, list_personas

  • list_shadow_personas, list_crews, list_knowledge_stacks

  • list_turnstiles, list_skills, list_live_contexts, list_prompts

  • list_context_studio, list_agent_plans

  • get_studio_entity (plural keys such as personas, plus singular aliases such as persona), get_schema_migrations, export_workflow_pack

Phase 8: Nexus Bridge (4)

  • detect_nexus, list_nexus_models, query_nexus, get_insights_usage

Phase 9: Frontier handoff (1)

  • ask_frontier — hand one question to the Cursor agent on this machine and return the answer in the Msty chat. Use the one-tool server (msty-frontier or python -m src.frontier_main) for a local-model chat. See Hybrid local model and Cursor agent.


Bloom Behavioral Evaluation

Phase 6 introduces behavioral evaluation powered by Anthropic's Bloom framework. Rather than testing what a model knows, Bloom tests how it behaves — detecting failure modes like sycophancy, hallucination, and overconfidence that standard benchmarks miss.

See the Bloom Knowledge Base Guide.


Testing

pytest tests/ -v

v6 ships unit tests for path resolution, read-only SQL guards, redaction, inventory/analytics, and MCP tool JSON contracts. Live smoke on Studio 2.9.2 was verified during release.


FAQ

Q: How does a local model ask Cursor?

A: Run the one-tool server, put only that server in the chat's toolset, and set CURSOR_API_KEY on that server. Steps and caveats are in Hybrid local model and Cursor agent. The key stays in Msty's toolbox environment. It does not belong in this repository.

Q: Why did detection fail on older MCP versions?

A: v5 looked for ~/Library/Application Support/Msty/msty.db. Studio 2.x stores data under MstyStudio and the Chromium File System SQLite path. v6 fixes this.

Q: Can I use this with Msty &lt; 2.4.0?

A: No. v6 targets Studio 2.9+ (works on 2.4+ layouts when the File System DB is present). Use v4.x for older process-based detection.

Q: Does this write to the Studio database?

A: Inventory and analytics are read-only. import_tool_config refuses live writes by default because Studio may hold locks on the File System DB. Prefer Toolbox JSON import for writes.

Q: What's the Nexus integration?

A: Msty Nexus is the local runtime/gateway. Phase 8 detects it and lists models via its OpenAI-compatible endpoint (MSTY_NEXUS_PORT).


License

MIT License — See LICENSE file

Contributing

Contributions welcome! Please open issues or PRs on GitHub.

More MCP servers by M-Pineapple

Other MCP servers in this portfolio:

💖 Support This Project

If this project has helped enhance your development workflow or saved you time, please support :

Your support helps me:

  • Maintain and improve this project with new features

  • Keep the project open-source and free for everyone

  • Dedicate more time to addressing user requests and bug fixes

  • Explore new terminal integrations and command intelligence

Thank you for considering supporting my work! 🙏

Support

For issues, questions, or feature requests, visit: https://github.com/M-Pineapple/msty-admin-mcp

Available Tools

56 tools
analyse_conversation_patternsC

Analyse conversation patterns from Studio data.

NameRequiredDescriptionDefault
model_idNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no indication of whether this is read-only, whether it triggers long-running analysis, what permissions or Studio data are required, or how results are scoped. For a tool with zero structured behavioral hints, this is a significant gap.

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

Conciseness3/5

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

The single sentence is front-loaded and free of filler, which is good, but it is under-specified rather than genuinely concise — brevity here comes at the cost of meaning rather than through efficient phrasing.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but with no annotations and no parameter documentation the description should at minimum characterize what 'patterns' means and the role of model_id. As written it leaves an agent unable to call the tool correctly or predict its effect.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter model_id, and the description never mentions it, so an agent gets no guidance on whether to supply a model ID, what form it takes, or what omitting it (the default null) does. The schema alone leaves the parameter's meaning opaque.

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

Purpose3/5

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

The description names a verb ('Analyse'), a resource ('conversation patterns'), and a data source ('Studio data'), so the general intent is discernible. However it never says what patterns are detected or what the analysis produces, so an agent cannot confidently distinguish it from siblings like evaluate_response_quality or bloom_evaluate_model.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or which sibling to prefer for related analysis tasks. The agent must infer usage purely from the tool name.

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

analyse_msty_healthB

Comprehensive health report for Studio install, DB, and services.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does not deliver. It never states that this is a read-only diagnostic, whether it is expensive/slow to run, what permissions it needs, or what 'comprehensive' actually entails. For a tool with zero annotation coverage this is a notable gap.

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

Conciseness4/5

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

A single compact sentence with the scope front-loaded and no filler. It is a noun phrase rather than a full sentence, but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and with zero parameters the schema side is trivially covered. However, with no annotations the description should have compensated with at least a note on read-only behavior or cost, which it does not.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate and the schema is complete by definition. Baseline 4 applies for a zero-parameter tool.

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

Purpose4/5

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

Names a specific verb (analyse) and resource (msty health) with an explicit scope: Studio install, DB, and services. An agent can tell it produces a diagnostic report, though the description does not distinguish it from siblings like get_service_status or get_server_status.

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

Usage Guidelines2/5

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

No indication of when to reach for this tool versus the many sibling status/detection tools (get_server_status, get_service_status, detect_msty_installation). No prerequisites or exclusions are stated; the agent must infer usage from the word 'comprehensive' alone.

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

ask_frontierC

Answer a hard question. Call once, then stop.

NameRequiredDescriptionDefault
questionYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It usefully signals a single-shot (non-conversational) call with 'call once, then stop', but discloses nothing about cost, latency, rate limits, or auth needs — notable gaps for what appears to be an external frontier-model call.

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

Conciseness4/5

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

Two short, front-loaded sentences with no filler; the operational rule is stated plainly. It is efficient, though brevity here shades into under-specification.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the 'call once' rule covers the main behavioral risk. However, with no annotations and no parameter documentation, the definition leaves the tool's identity (which model/service) and its relationship to sibling chat tools undefined.

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

Parameters2/5

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

There is one parameter at 0% schema description coverage, and the description adds no meaning beyond the self-evident name 'question'. It does not state format, length limits, or what makes a question 'hard'.

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

Purpose3/5

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

States a verb (answer) and scopes it to 'a hard question', but never defines what 'frontier' refers to (an external frontier model? a service?) and does not differentiate this from the many sibling chat/query tools such as chat_with_local_model or query_nexus.

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

Usage Guidelines2/5

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

'Call once, then stop' is an invocation-cadence rule, not selection guidance. It gives no indication of when this tool is preferable to the numerous chat/query siblings, nor any prerequisites or exclusions.

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

bloom_check_handoffC

Check whether a model should hand off to Claude for a task category.

NameRequiredDescriptionDefault
modelYes
task_categoryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only check but never states this, nor does it disclose side effects, required permissions, or what the decision output looks like. For a query tool with zero annotation coverage, this is a significant gap.

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

Conciseness4/5

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

A single, front-loaded sentence with no wasted words. It is appropriately sized, though brevity here edges toward under-specification rather than genuine conciseness.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but with no annotations, 0% parameter coverage, and no usage guidance, the definition is incomplete for a two-required-parameter tool. An agent lacks enough to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters, so the description must compensate and does not. It never explains what 'model' values are acceptable (model ID? name?) or what 'task_category' enumerates, leaving both parameters semantically opaque.

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

Purpose4/5

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

The description states a specific verb and resource: checking whether a model should hand off to Claude for a task category. It is clear about the operation. However, it does not differentiate from the closely related sibling 'identify_handoff_triggers', leaving ambiguity about which to use.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool, when not to, or how it relates to the sibling 'identify_handoff_triggers' or other bloom_* tools. The agent must infer the usage context entirely.

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

bloom_evaluate_modelC

Run Bloom behavioural evaluation on a model.

NameRequiredDescriptionDefault
modelYes
behaviorYes
max_turnsNo
total_evalsNo
task_categoryNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose cost, runtime, whether it invokes the target model repeatedly (implied by max_turns/total_evals), side effects, or any required setup, so an agent learns almost nothing beyond the one-line purpose.

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

Conciseness3/5

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

It is a single front-loaded sentence with no padding, which is structurally clean. But for a configuration-heavy evaluation tool it is under-specified rather than appropriately concise.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but the description still omits parameter meaning, behavioral traits, and any routing context for a 5-parameter evaluation tool. It is not complete enough for an agent to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, including undefined semantics for behavior, max_turns, total_evals, and task_category. The description only loosely gestures at the 'model' parameter and adds no meaning for the other four, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

The description gives a specific verb (Run) and resource (Bloom behavioural evaluation on a model), so the core purpose is clear. However it offers no differentiation from adjacent siblings like bloom_validate_model or bloom_check_handoff, leaving the agent to guess which evaluation-type tool applies.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no exclusions. With a near-identical sibling (bloom_validate_model) present, the description gives the agent nothing to route on.

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

bloom_get_historyC

Get Bloom evaluation history.

NameRequiredDescriptionDefault
modelNo
behaviorNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must indicate behavioral traits. It states 'Get...' implying a read operation, but does not confirm idempotency, side effects, or data freshness. The description adds no behavioral context beyond the obvious.

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

Conciseness3/5

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

Single sentence, no waste. However, it is overly terse; it could include more information without losing conciseness. Structure is flat but front-loaded.

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

Completeness2/5

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

Given the low complexity and presence of an output schema, the description still fails to mention that output schema or any details about the returned data. It lacks completeness for an agent to understand the tool's exact function.

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

Parameters2/5

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

Schema has 2 optional parameters (model, behavior) with 0% description coverage. The description does not explain what these parameters do, how they filter history, or their expected values. The agent must infer from names alone.

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

Purpose4/5

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

Description clearly states verb+resource: 'Get Bloom evaluation history.' It is specific but does not differentiate from sibling tools like bloom_evaluate_model or bloom_get_thresholds, which also deal with Bloom evaluations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No mention of prerequisites, context, or when not to use it. The description provides no decision support for the agent.

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

bloom_get_thresholdsC

Get quality thresholds for a task category.

NameRequiredDescriptionDefault
task_categoryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility for behavioral disclosure. It fails to mention whether the operation is read-only, requires authentication, or has any side effects. The description is too minimal to inform an agent about behavioral traits.

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

Conciseness4/5

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

The description is a single sentence, front-loaded with the verb and resource, with no extraneous words. It earns its place by being direct, though it could benefit from slightly more detail without becoming verbose.

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

Completeness2/5

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

While the tool has an output schema, the parameter 'task_category' lacks any description. The description does not explain what 'quality thresholds' are or how to interpret the results, making it incomplete for an agent to use effectively.

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

Parameters1/5

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

Schema description coverage is 0% for the only parameter, 'task_category'. The description adds no information about valid values, format, or examples, leaving the agent without guidance on what to input.

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

Purpose4/5

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

The description clearly states the action ('Get'), the resource ('quality thresholds'), and the context ('for a task category'). It distinguishes from siblings like bloom_evaluate_model or bloom_validate_model, which involve evaluation or validation rather than retrieval.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as bloom_get_history or bloom_list_behaviors. An agent receives no hints about prerequisites or exclusions.

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

bloom_list_behaviorsB

List available Bloom behaviours.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it supplies almost nothing. The verb "List" weakly implies a read-only, non-destructive operation, but there is no statement about permissions, scoping, 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.

Conciseness4/5

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

A single short sentence with no filler, appropriately front-loaded. It is terse rather than bloated; the brevity borders on under-specification for a domain-specific term, but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and with zero parameters the schema side is fully covered. What is missing is any behavioral framing (read-only nature, scope of "Bloom behaviours") that would let an agent confidently choose this tool over its many siblings.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter-related content is missing or misleading.

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

Purpose4/5

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

States a clear verb+resource ("List ... Bloom behaviours"), which is unambiguous as an operation. However, it does not distinguish itself from sibling Bloom tools such as bloom_get_history, bloom_get_thresholds, or bloom_evaluate_model, and the domain term "behaviours" is left undefined, so an agent cannot tell exactly what class of objects is returned.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the other Bloom tools, no prerequisites, and no indication of what context makes a behaviour list relevant. The agent must infer usage entirely from the name.

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

bloom_validate_modelC

Validate model suitability for Bloom evaluation.

NameRequiredDescriptionDefault
modelYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden, and it discloses almost nothing: not whether validation is a read-only check, whether it requires the model to be loaded/installed, what constitutes a pass/fail, or whether it can fail. An output schema exists, so return-value detail is partly excused, but the behavioral gaps are substantial.

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

Conciseness4/5

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

A single short sentence, front-loaded with the verb, with no filler. Its problem is under-specification rather than verbosity.

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

Completeness2/5

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

For a tool with no annotations and zero parameter documentation, the description should explain what validation entails and when it applies. The presence of an output schema excuses explaining return values, but the agent still lacks the context needed to call this confidently alongside bloom_evaluate_model.

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

Parameters2/5

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

The single 'model' parameter has 0% schema description coverage, and the description adds no format information (model ID vs. display name vs. provider-qualified string) to compensate. It is only mildly self-evident from the parameter name.

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

Purpose3/5

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

States a verb (Validate) plus the resource (model suitability for Bloom evaluation), which is slightly more than a restatement of the name. However, it never says what 'suitability' means (existence, capability, threshold compatibility) and does not distinguish itself from the close sibling bloom_evaluate_model.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of when to prefer this over bloom_evaluate_model or the other bloom_* tools. The agent must infer the routing entirely from the name.

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

chat_with_llamacpp_modelC

Chat with a Llama.cpp model.

NameRequiredDescriptionDefault
modelYes
messagesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call is stateful, streaming, or stateless; not whether a local server must be running; not whether the model must be preloaded; not what errors or latency to expect. A one-line restatement of the name is inadequate for an unannotated chat/mutation-style call.

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

Conciseness3/5

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

It is a single front-loaded sentence with zero filler, which is structurally clean, but the brevity comes from under-specification rather than efficiency, so it cannot score higher.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but with zero annotations, 0% parameter coverage, and a dense set of sibling chat tools, the definition omits everything an agent needs to invoke it correctly. The missing pieces are substantial rather than cosmetic.

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

Parameters1/5

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

Schema description coverage is 0% and both required parameters (model, messages) are undocumented. The description adds nothing about how to specify the model identifier or the expected shape/roles of message objects, so an agent must guess at both.

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

Purpose3/5

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

The description names a verb (chat) and a resource (Llama.cpp model), so the surface action is clear, but it is essentially the tool name with underscores removed and does not distinguish this tool from close siblings such as chat_with_mlx_model, chat_with_local_model, or ask_frontier. An agent cannot tell from the text which chat endpoint to pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no named alternative despite several competing chat tools in the sibling list. The only signal an agent gets is the backend name embedded in the tool name itself.

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

chat_with_local_modelC

Chat with a Local AI model.

NameRequiredDescriptionDefault
modelYes
messagesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: no statement about statefulness, streaming, latency, cost, or permissions. 'Local' is the only faint signal (local inference), which is minimal for an interactive chat tool.

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

Conciseness3/5

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

It is a single front-loaded sentence with no waste, which is structurally clean. The brevity, however, tips into under-specification rather than genuine conciseness for a two-parameter tool with no other documentation.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with zero annotation coverage, zero parameter documentation, and no differentiation from sibling chat tools, the definition is insufficient for reliable invocation. A minimal line on backend/locality and message format would close the gap.

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

Parameters2/5

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

Both required parameters ('model' and 'messages') have 0% schema description coverage, and the description adds no meaning beyond the generic word 'Chat'. It neither explains the accepted model identifiers nor the expected shape/content of the messages array, leaving the schema gap entirely uncompensated.

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

Purpose3/5

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

The description names a clear verb and resource ('Chat with a Local AI model'), so an agent knows the general action. However, it does nothing to distinguish this from sibling chat tools such as chat_with_llamacpp_model, chat_with_mlx_model, or ask_frontier, which is the critical selection question here.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many near-identical chat/query siblings. The word 'Local' implies a backend constraint but never states what qualifies as local or when a caller should prefer this over the llamacpp/MLX variants.

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

chat_with_mlx_modelC

Chat with an MLX model.

NameRequiredDescriptionDefault
modelYes
messagesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations provided; description fails to disclose any behavioral traits (e.g., streaming, rate limits, authentication). Minimal text adds no transparency beyond the basic action.

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

Conciseness2/5

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

Extremely short but under-specified; lacks essential information for an agent to use the tool correctly. Conciseness is not appropriate given the complexity.

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

Completeness1/5

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

Description is severely incomplete; does not mention role of model parameter, message format, or output behavior, despite having an output schema and sibling chat tools.

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

Parameters1/5

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

Schema coverage is 0% and description does not explain the two parameters (model, messages). No added meaning beyond the schema field names.

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

Purpose4/5

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

Description clearly identifies verb 'chat' and resource 'MLX model', distinguishing from sibling tools like chat_with_llamacpp_model. However, it lacks specificity about functionality or behavior.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives (e.g., chat_with_llamacpp_model). Sibling tools exist but description provides no context selection criteria.

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

compare_model_responsesC

Compare responses from multiple local models (best-effort).

NameRequiredDescriptionDefault
modelsYes
promptYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, yet it only offers the vague '(best-effort)' caveat. It does not disclose whether missing/failed models are skipped, whether comparison is synchronous or slow, how many models can be passed, whether the local models need to be pre-loaded, or what the response contains beyond the output schema.

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

Conciseness3/5

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

A single front-loaded sentence with no bloat, but it is under-specified rather than appropriately concise. The '(best-effort)' aside occupies space without conveying actionable meaning.

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

Completeness2/5

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

For a tool that fans one prompt out across multiple models with no annotations, no parameter documentation, and 0% schema coverage, the description is far too thin. The output schema excuses it from describing return values, but model-selection and failure semantics are left entirely unexplained.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters, so the description must compensate and largely does not. It weakly implies that 'prompt' is a single shared prompt and 'models' is a list of model identifiers, but adds no naming conventions, list limits, or validation rules beyond that inference.

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

Purpose4/5

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

The description gives a concrete verb ('Compare') and a specific resource ('responses from multiple local models'), which is enough to separate it from the single-model siblings like chat_with_local_model or chat_with_llamacpp_model. It stops short of naming any sibling or stating the comparison output explicitly, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says when to prefer this over parallel chat_with_* calls, evaluate_response_quality, or bloom_evaluate_model, and no prerequisites are given. The parenthetical '(best-effort)' hints at a limitation but never explains the condition under which results are degraded.

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

detect_msty_installationB

Detect Msty Studio installation, version, database, and service ports.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Detect' implies a safe read-only probe, but the description never states whether it fails when Msty is absent, whether it touches the local filesystem or network ports, or what the side effects are. Only the list of detection targets adds substance.

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

Conciseness5/5

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

A single front-loaded sentence that names the verb and every detection target with no filler. Nothing could be removed without losing information.

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

Completeness3/5

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

An output schema exists, so return structure need not be explained, and the empty parameter schema needs no coverage. Still, for a zero-annotation detection tool the description is thin on failure modes and operating preconditions, leaving it merely adequate.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool applies. No misleading parameter claims are made.

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

Purpose4/5

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

The description states a specific verb (detect) and enumerates the concrete targets: installation, version, database, and service ports. That is well beyond a tautology. It does not, however, distinguish itself from nearby diagnostics like detect_nexus, get_service_status, get_server_status, or analyse_msty_health, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no preconditions (e.g. whether Msty must be installed/running locally), and no named alternative. With several overlapping status/detection siblings, the lack of routing cues is a real gap.

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

detect_nexusC

Detect Msty Nexus local gateway.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but discloses almost nothing: it does not say whether detection is a local network probe, how long it may block, what happens on failure, or whether any state is mutated. 'Detect' implies a read-only check but that is left to inference.

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

Conciseness4/5

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

A single short sentence with no filler, and the resource is front-loaded. It is appropriately sized for a zero-parameter tool, though it is terse to the point of ambiguity rather than genuinely dense with information.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and a zero-parameter signature keeps the surface small. Still, with no annotations and no usage context, the agent lacks the minimum needed to know when this detection is preferable to the numerous sibling status/detection tools.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies; there are no parameter semantics for the description to clarify. Nothing in the description misrepresents the empty argument object.

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

Purpose3/5

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

The description gives a verb plus a resource ('Detect Msty Nexus local gateway'), which is more informative than the bare name 'detect_nexus'. However, 'detect' is left undefined — the agent cannot tell whether this performs a port/network probe, checks a config file, or reads a running process. It also does not differentiate itself from the sibling 'detect_msty_installation'.

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

Usage Guidelines2/5

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

There is no guidance on when this detection should be run, what precondition triggers it, or how it relates to alternatives such as detect_msty_installation, get_vibe_proxy_status, or get_server_status. The agent must infer all routing decisions.

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

evaluate_response_qualityC

Evaluate response quality with heuristic rubric.

NameRequiredDescriptionDefault
promptYes
categoryNogeneral
responseYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not say whether the evaluation is deterministic, what the rubric scores, what the score range is, or that the third parameter is optional — all of which matter for interpreting the result.

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

Conciseness4/5

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

A single short sentence with no filler and the core action front-loaded. It is efficient, though the brevity is partly under-specification rather than disciplined concision.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but with zero annotations and zero schema coverage the description is too thin for a tool whose whole value is the rubric it applies. Nothing tells the agent what 'quality' means here or how 'category' changes the evaluation.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters, and the description adds no parameter information at all. 'prompt' and 'response' are self-explanatory by name, but 'category' with its 'general' default and its effect on the rubric is completely undocumented.

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

Purpose3/5

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

States a specific verb+resource ('Evaluate response quality'), which is clearer than a tautology, but 'heuristic rubric' is left vague — the agent cannot tell what criteria are applied or how this differs from siblings like bloom_evaluate_model or run_calibration_test. Names a sibling-adjacent concept without differentiating itself.

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

Usage Guidelines2/5

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

No when-to-use guidance, no when-not-to, and no named alternative. Given the crowded sibling list containing several evaluation/calibration tools, the agent is left to guess when this tool is the right choice.

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

export_tool_configC

Export a Studio tool configuration by name or toolId.

NameRequiredDescriptionDefault
tool_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the verb. It does not say whether the export is read-only, what format it produces, whether the output is a file or inline payload, or whether it can fail for unknown names. Only the presence of an output schema relieves it of explaining the return shape.

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

Conciseness4/5

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

A single tight sentence with the verb and resource front-loaded and no filler. It is efficient, though slightly under-specified rather than padded.

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

Completeness3/5

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

For a simple one-parameter export with an output schema covering returns, the description is minimally adequate. Gaps remain around identifier format and the nature of the exported artifact, which matter because schema coverage is 0% and no annotations backstop the behavior.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for the single undocumented parameter. It adds real meaning by stating the identifier can be a name or a toolId, but gives no format, case-sensitivity, or failure behavior for an unrecognized value.

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

Purpose4/5

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

States a specific verb (Export) and resource (Studio tool configuration), which cleanly separates it from import_tool_config and list_configured_tools. The phrase 'by name or toolId' is clear, though it slightly conflicts with the schema's single tool_name field.

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

Usage Guidelines2/5

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

No guidance on when to export versus when to list or inspect a tool, and no mention of the inverse tool (import_tool_config) despite it being an obvious sibling. The agent must infer the workflow entirely.

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

export_workflow_packC

Export a read-only workflow pack (personas, tools, turnstiles, stacks, …).

NameRequiredDescriptionDefault
limitNo
includeNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Read-only' hints at a non-mutating artifact and the parenthetical lists contents, but the description omits permissions, side effects (such as whether it writes a file), and any rate or size limits.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. The trailing ellipsis makes it slightly vague, but it is otherwise efficient.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, with no annotations and 0% parameter description coverage, the description leaves the agent without guidance on include/limit behavior or export scope, which is too thin for a tool with two filter parameters.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions 'limit' or 'include'. The parenthetical categories may loosely hint at valid include values, but syntax, default behavior, and the limit parameter remain unexplained.

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

Purpose4/5

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

States a specific verb ('Export') and resource ('workflow pack'), with a parenthetical enumerating what's included. It is distinguishable from export_tool_config by resource scope, though it does not explicitly name the alternative.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives are mentioned (e.g., export_tool_config). Usage is only implied by the verb 'Export'.

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

generate_personaC

Generate a persona definition JSON suitable for Persona Studio import.

NameRequiredDescriptionDefault
nameYes
modelYes
system_promptYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no statement about whether anything is persisted, whether the output is a file/string, permissions, or side effects. It only hints at the output artifact ('JSON suitable for Persona Studio import').

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, but the terseness leaves the definition under-specified rather than optimally concise.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a generation tool with three undocumented required parameters and zero annotations, the description omits essential context such as input expectations, output format/constraints, and relationship to sibling persona tools.

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

Parameters2/5

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

Schema description coverage is 0% for three required parameters (name, model, system_prompt), and the description adds no meaning to any of them — e.g. what values model accepts or how system_prompt is used. The names are largely self-explanatory, which earns slight credit over the fully opaque case, but the description does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (generate) and resource (a persona definition JSON) and names the intended destination (Persona Studio import). It is distinguishable from sibling tools like suggest_persona_improvements or list_personas, though it doesn't explicitly contrast itself with them.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as suggest_persona_improvements or list_personas. The agent is left to infer that this creates a brand-new persona rather than editing an existing one.

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

get_calibration_historyC

Get calibration history from ~/.msty-admin metrics DB.

NameRequiredDescriptionDefault
limitNo
model_idNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses the data source path, which is useful, but says nothing about permissions, result volume, ordering, or pagination behavior for a history query that defaults to 50 rows.

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

Conciseness4/5

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

A single efficient sentence with the source front-loaded and no wasted words. It is terse rather than bloated, though the brevity costs it some completeness.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and this is a straightforward read tool. However, with no annotations and zero parameter documentation, the description leaves meaningful gaps an agent would need to guess at.

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

Parameters2/5

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

Schema description coverage is 0% and the description is silent on both 'limit' and 'model_id'. It does not explain that limit caps history rows or that model_id filters to a specific model, so it fails to compensate for the documentation gap.

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

Purpose4/5

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

States a specific verb + resource ('Get calibration history') and even names the data source (~/.msty-admin metrics DB), so the agent knows exactly what is retrieved. It does not, however, distinguish this from similarly named siblings such as bloom_get_history or run_calibration_test.

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

Usage Guidelines2/5

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

There is no statement of when to reach for this tool versus the many history/calibration siblings (bloom_get_history, run_calibration_test, query_vibe_proxy). The source is named but no usage condition or exclusion is given.

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

get_insights_usageD

Alias for insights-backed usage analytics.

NameRequiredDescriptionDefault
model_idNo
timeframeNo7d

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations, the description carries the entire behavioral burden and supplies nothing: no auth requirements, no rate limits, no indication of whether it reads or mutates, nor any note about the default timeframe behavior. The single sentence is purely a name restatement.

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

Conciseness2/5

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

The sentence is short and front-loaded, but its brevity reflects under-specification rather than efficiency — every sentence here fails to earn its place because it conveys no actionable information beyond the name.

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

Completeness1/5

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

Although an output schema exists (so return values need not be described), the description leaves the two parameters undefined, provides no usage context, and supplies nothing to offset the absent annotations. For a tool with an ambiguous 'alias' identity, this is inadequate.

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

Parameters1/5

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

Schema description coverage is 0% and the description says nothing about the two parameters. It gives no hint at valid timeframe formats ('7d' default) or what model_id accepts, so an agent must guess both.

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

Purpose2/5

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

The description ('Alias for insights-backed usage analytics') essentially restates the tool name without stating what the tool actually does or what it returns. It names no specific verb or scope, and gives no basis for distinguishing it from siblings like get_model_performance_metrics or query_vibe_proxy.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no exclusions, and no named alternative. Calling it an 'alias' hints that another tool provides the same functionality, but the description never identifies that tool, so an agent has no way to decide between them.

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

get_model_performance_metricsC

Performance metrics from Studio insightsLanguageModelUsage.

NameRequiredDescriptionDefault
model_idNo
timeframeNo7d

Output Schema

NameRequiredDescription
resultYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost nothing: it does not state that this is a read-only operation, whether data is live or cached, what the default timeframe means, or how the nullable model_id behaves (all models vs. an error). The presence of an output schema covers return values, but the operational behavior remains undisclosed.

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

Conciseness2/5

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

It is a single fragment, so there is no padding, but that brevity comes at the cost of under-specification rather than efficient communication. The one clause present earns little of its place because it clarifies almost nothing.

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

Completeness2/5

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

The output schema means return values need not be described, but the definition is still incomplete for a two-parameter analytics tool with no annotations: timeframe syntax, model_id default behavior, and the relationship to get_insights_usage are all absent.

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

Parameters2/5

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

Schema description coverage is 0% across both parameters. The description adds no meaning for model_id (nullable, default null - presumably meaning 'all models') or timeframe (default '7d', no accepted format or units). With coverage this low, the description is required to compensate and does not.

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

Purpose2/5

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

The description largely restates the tool name ('Performance metrics') and appends a source attribution ('from Studio insightsLanguageModelUsage'), which is a garbled identifier rather than a clarifying noun. There is no distinct verb beyond the implied 'get', and no differentiation from the sibling get_insights_usage, which likely overlaps in purpose.

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

Usage Guidelines2/5

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

No when-to-use guidance is given, no mention of alternatives, and no prerequisites. The sibling set contains get_insights_usage and get_model_providers, but the description gives no signal for choosing among them.

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

get_model_providersA

List local service backends and Studio-configured providers (keys redacted).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It usefully discloses that API keys are redacted in the output, which is non-obvious behavior, but adds nothing about whether the listed backends are live/reachable or any ordering, and read-only status is only implied by "List".

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

Conciseness5/5

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

A single front-loaded sentence with no filler. The scope and the redaction caveat are both delivered efficiently, and every clause earns its place.

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

Completeness4/5

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

An output schema exists, so return structure need not be explained, and a zero-parameter read tool has few behavioral requirements. The main gap is the absence of routing guidance against the many sibling listing tools, but nothing essential for invoking it correctly is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there are no arguments whose semantics the description would need to cover. Nothing in the description contradicts the empty schema.

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

Purpose4/5

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

Specific verb ("List") plus a well-defined resource (local service backends and Studio-configured providers), with the parenthetical clarifying the scope. It is distinguishable from sibling list tools by its provider-focused scope, though it does not explicitly name or contrast with them.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of alternatives such as list_available_models, list_mlx_models, or list_studio_catalogue, which sit in the same namespace. The agent must infer the selection context from the resource name alone.

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

get_schema_migrationsB

Show recent Drizzle schema migrations from the Studio database.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. "Show" and "recent" imply a safe, bounded read limited to recent entries and name the source database, which is useful. However, ordering, pagination interaction with 'recent', and auth requirements are unstated.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the scope ('recent') and source ('Studio database') are stated immediately. It is efficient, though slightly terse given the lack of supporting detail.

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

Completeness3/5

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

An output schema exists, so return-shape explanation is not required, and for a one-parameter read tool the description is minimally serviceable. The absence of annotations and 0% parameter coverage still leaves gaps around the limit behavior and when to reach for this tool.

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

Parameters2/5

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

There is exactly one parameter, limit, with 0% schema description coverage, and the description never mentions it. The word "recent" hints at a bounded result but does not explain the limit parameter's role, default of 20, or semantics of ordering.

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

Purpose4/5

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

The description states a specific verb ("Show") and resource ("recent Drizzle schema migrations") plus the data source ("the Studio database"), so an agent knows exactly what it retrieves. It does not differentiate from any sibling, but no sibling name suggests migration inspection, so the risk of confusion is low.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus other status/diagnostic tools, no prerequisites, and no mention of the alternative paths for inspecting Studio state. Usage must be inferred entirely from the tool name.

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

get_server_statusB

MCP server status and tool inventory summary.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It never states that this is a side-effect-free read, whether it is cheap or expensive, whether it hits auth, or anything about freshness of the status snapshot. For a zero-parameter diagnostic that may be polled, this is a meaningful omission.

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

Conciseness4/5

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

One short, front-loaded phrase with no padding — appropriate size for a no-argument status call. It is a fragment rather than a full statement, which slightly limits how much it conveys per unit of text.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the zero-parameter surface is simple. What is missing is routing context: with many overlapping status and inventory tools in the sibling list, the description does not say when this one is the right choice.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate. Baseline for a zero-parameter tool is 4.

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

Purpose4/5

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

States a clear resource and content: MCP server status plus a tool inventory summary. The 'tool inventory' half adds information beyond the name, which only implies status. However, it does nothing to distinguish itself from close siblings such as get_service_status or get_vibe_proxy_status, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite ~46 sibling tools including several other status/telemetry queries. The agent must guess whether this or get_service_status is the right call.

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

get_service_statusB

Status of Local AI, MLX, Llama.cpp, Vibe, and Nexus ports.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but 'Status of...' clearly implies a read-only probe, so the safety profile is inferable. It adds no detail on whether this performs live network checks, aggregation behavior, or partial-failure handling, which are the behaviors an agent would actually want disclosed.

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

Conciseness4/5

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

A single efficient sentence with the resource front-loaded. Slightly list-heavy but no wasted words.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the zero-parameter surface is trivial. What is missing is the routing context against the numerous sibling status tools, leaving the agent to guess which status endpoint it actually wants.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to document and the baseline of 4 applies.

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

Purpose3/5

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

The description names the resource (ports for Local AI, MLX, Llama.cpp, Vibe, Nexus) and implies a status read, which is reasonably specific. However, it does not differentiate from close siblings such as get_server_status or get_vibe_proxy_status, which an agent could easily confuse with this tool.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the many sibling status/query tools (get_server_status, get_vibe_proxy_status, list_configured_tools). An agent is left to infer that 'status across the whole stack' is the distinguishing condition.

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

get_studio_entityA

Fetch a single Studio entity by type and id.

entity is a catalogue key. Plural names are canonical (personas, crews, knowledge_stacks, …). Singular aliases (persona, crew, knowledge_stack) are accepted. Hyphens are treated as underscores. Unknown values return the allowed list.

NameRequiredDescriptionDefault
entityYes
entity_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful behaviour: plural canonical keys, singular aliases, hyphen-to-underscore normalisation, and that unknown values return the allowed list (a soft-fail rather than an error). It does not state permissions, read-only nature, or any failure mode beyond unknown keys.

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

Conciseness4/5

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

Short, front-loaded, and every detail about key naming earns its place by preventing a real class of invocation errors. The prose is slightly fragmented across lines but wastes no words.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description still covers the tricky input semantics and the unknown-value fallback. The remaining gap is the undocumented `entity_id` contract and lack of any permission/side-effect note for a tool whose annotations are absent.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it does well for `entity` — catalog key naming rules, alias handling, and normalisation are all spelled out. However, `entity_id` gets no explanation at all (format, source, example), so only half the parameters gain meaning beyond the bare schema.

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

Purpose4/5

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

States a specific verb and resource ('Fetch a single Studio entity') plus the lookup keys (type and id), which cleanly separates it from the many list_* siblings that return collections. It does not name those siblings explicitly, so the differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

The description explains the catalogue-key input convention but never says when to reach for this tool instead of list_studio_catalogue, list_personas, or list_crews. Usage must be inferred from 'single' versus the list-oriented siblings; there are no explicit exclusions or prerequisites.

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

get_vibe_proxy_statusB

Check Vibe CLI proxy status.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

The description is minimal and does not disclose any behavioral traits such as side effects, authentication requirements, or rate limits. Since no annotations are provided, the description carries the full burden, which it fails to meet.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the tool's purpose without any extraneous information. It is appropriately sized for a straightforward status check.

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

Completeness4/5

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

Given the tool's simplicity (no parameters and an output schema), the description is nearly complete. However, it could benefit from a brief hint about what the status includes (e.g., 'returns connection state and latency'), but the output schema likely covers that.

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

Parameters4/5

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

The tool has no parameters, so the input schema is fully covered. According to the guidelines, 0 parameters warrants a baseline of 4. The description does not need to add parameter meaning since there are none.

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

Purpose4/5

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

The description clearly states the verb 'Check' and the resource 'Vibe CLI proxy status', which directly reflects the tool's name. However, it does not differentiate its purpose from sibling tools like 'query_vibe_proxy', leaving ambiguity about the distinction between checking status and querying.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It simply states what it does without indicating prerequisites, when it is appropriate, or when another tool might be better.

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

identify_handoff_triggersB

Identify handoff patterns from insights + calibration heuristics.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it doesn't say what data it reads, whether it is read-only, whether it needs a prior calibration run, or what heuristics it applies. 'insights + calibration heuristics' is suggestive but not a behavioral disclosure.

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

Conciseness4/5

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

A single compact sentence with the verb and the data sources front-loaded and no filler. It is efficient, though arguably under-specified rather than genuinely concise.

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

Completeness3/5

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

With no parameters and an output schema present, the description needn't explain return values, which lowers the bar. But with no annotations and several overlapping siblings, the description leaves the agent without enough to decide when this tool is the right one.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to clarify about inputs. No additional meaning is required or added.

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

Purpose4/5

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

The description names a specific verb ('Identify') and resource ('handoff patterns'), and hints at the inputs ('insights + calibration heuristics'), so the agent knows roughly what the tool produces. It does not, however, distinguish itself from the closely related sibling bloom_check_handoff, so an agent could confuse the two.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or which sibling to prefer. Given that bloom_check_handoff, run_calibration_test, and analyse_conversation_patterns all sit adjacent, the absence of any routing guidance is a real gap.

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

import_tool_configA

Validate a tool config payload for Toolbox import.

Live SQLite writes are refused unless confirm=true (still not recommended while Studio is open).

NameRequiredDescriptionDefault
confirmNo
tool_dataYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose the critical trait: live SQLite writes are refused unless confirm=true. It also adds an operational warning (not recommended while Studio is open). It stops short of stating whether validation is the default no-write path or what happens on validation failure.

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

Conciseness4/5

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

Two short sentences, front-loaded with the validation purpose and immediately followed by the write-gating constraint. Slightly redundant with the tool name but no wasted prose.

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

Completeness4/5

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

An output schema exists, so return-value documentation is not required, and the description covers the key risk (destructive write gating). The one notable gap is the undocumented shape of tool_data, which matters given it is a required nested object.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate and it only partially does. It explains confirm's gating semantics, which the schema does not, but tool_data — a nested object with additionalProperties — is left entirely undefined as to expected shape.

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

Purpose4/5

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

The description states a specific verb+resource: validating a tool config payload for Toolbox import. It implicitly distinguishes itself from the sibling export_tool_config by naming the direction (import). However it does not explicitly call out that sibling, and the name 'import' versus the description's 'validate' framing takes a moment to reconcile.

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

Usage Guidelines3/5

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

Usage is implied by 'for Toolbox import', and the confirm=true condition is stated. But there is no explicit when-to-use guidance relative to siblings like export_tool_config or list_configured_tools, and no statement of prerequisites or when a user should prefer a pure validation run.

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

list_agent_plansD

List Agent Mode plans.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The verb 'List' weakly implies a read-only, non-destructive operation, but nothing is said about pagination, default result size, required permissions, or ordering. For a tool with zero annotation coverage, this is a substantial gap.

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

Conciseness2/5

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

The description is a single short sentence with no wasted words, but it is under-specified rather than genuinely concise, so it does not earn its place. Brevity here reflects a lack of content, not efficient front-loading of useful information.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, the description supplies nothing on usage, no annotation-backed safety profile, and no parameter semantics, leaving the agent with an almost content-free definition for a one-parameter tool.

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

Parameters1/5

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

Schema description coverage is 0%, and the single parameter 'limit' (default 100) is undocumented in both schema and description. With low coverage the description is supposed to compensate, but it says nothing about the limit, its units, or whether results are truncated. No parameter meaning is added at all.

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

Purpose2/5

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

The description 'List Agent Mode plans' essentially restates the tool name, adding no information about what an 'Agent Mode plan' actually is or what shape the results take. It fails to distinguish this tool from the dozens of sibling list_* tools (list_workspaces, list_personas, list_crews, etc.). Only a bare verb+resource is present, so it reads as a tautology.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives among the many sibling list tools, and no prerequisites. The agent is given no basis for choosing this tool over list_workspaces or any other list_* sibling. It is simply absent rather than misleading.

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

list_available_modelsB

List models across local services.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it discloses nothing about failure modes when a local service is down, whether results are cached, latency, or whether the call is read-only and side-effect free. 'Across local services' is the only behavioral signal offered.

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

Conciseness5/5

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

A single five-word sentence with no padding, and the scope qualifier is placed front and center where an agent will read it first.

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

Completeness3/5

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

The tool is low-complexity and an output schema exists, so return values need not be explained. However, against a sibling set crowded with overlapping list_* tools, the description is too thin to route the agent correctly, and with no annotations it leaves the safety and failure profile unspecified.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate beyond what the empty schema already conveys. Baseline 4 applies.

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

Purpose3/5

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

The verb+resource pair is clear ('List models') and the scope qualifier 'across local services' hints at aggregation, but it never distinguishes itself from the many provider-specific siblings such as list_mlx_models, list_llamacpp_models, and list_nexus_models. An agent cannot confidently tell whether this is a superset or a distinct third thing without guessing.

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

Usage Guidelines2/5

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

There is no when-to-use statement, no when-not-to-use, and no named alternative among the four or more sibling listing tools. The agent is left to infer routing entirely on its own.

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

list_configured_toolsA

List MCP/Toolbox tools configured in Msty Studio.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It implies a safe, read-only enumeration, but says nothing about scope (whole Studio vs. current workspace), permissions, or result size; the risk is low for a zero-parameter list, so this is adequate rather than rich.

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

Conciseness5/5

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

A single front-loaded sentence with no filler. The verb and resource lead, and every word earns its place.

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

Completeness4/5

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

With an output schema present and zero input parameters, the description need not explain return values. The only remaining gap is scope (which tools, from where), which is minor for a simple listing tool.

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

Parameters4/5

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

The tool takes no parameters, so per the baseline this dimension is satisfied. The schema confirms an empty argument object and there is nothing further for the description to explain about inputs.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('MCP/Toolbox tools configured in Msty Studio'), so the agent knows exactly what it enumerates. It is clear on its own, but it does not distinguish itself from related siblings such as export_tool_config or list_studio_catalogue.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the tool to call when it needs an inventory of configured tools. There is no explicit when-to-use guidance, no exclusions, and no mention of the alternative tool-config tools the agent might otherwise pick.

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

list_context_studioC

List Context Studio attachments and folders (Studio 2.9).

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only listing and pins a version (Studio 2.9), but says nothing about pagination, default result volume, auth requirements, or ordering, despite there being a limit parameter that governs behaviour.

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

Conciseness4/5

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

A single short sentence with the resource front-loaded and no filler. The '(Studio 2.9)' parenthetical adds minor version context but is the only non-essential element.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the tool is simple (one optional param). Still, the description omits pagination behaviour and any scoping detail for 'attachments and folders', leaving the agent to guess at result size and filters.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions the limit parameter, its default of 100, or what it constrains. The single parameter is effectively undocumented in both schema and description.

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

Purpose4/5

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

States a specific verb (List) and resource (Context Studio attachments and folders), which is enough for an agent to know what comes back. However, it gives no differentiation from siblings like list_studio_catalogue, list_live_contexts, or list_workspaces, which all share the 'list' verb.

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

Usage Guidelines2/5

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

The description offers no when-to-use context, no prerequisites, and no named alternative among the many sibling list_* tools. The agent must infer usage purely from the resource name.

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

list_crewsC

List Crew Mode crews.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'List', which implies a read-only operation, but gives no information about pagination, default limits, authentication needs, or rate limits. This is minimal behavioral context for a tool that returns a collection.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. While it is extremely terse, the structure itself is clean and directly states the tool's action and resource.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for a tool with one undocumented parameter, no annotations, and no usage guidance, the description is incomplete. It should at least clarify the behaviour of the 'limit' parameter and any paging semantics.

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

Parameters1/5

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

The schema has 0% description coverage for the single 'limit' parameter, so the description must compensate. It does not mention the parameter at all, leaving its meaning and default value (100) entirely undocumented outside the schema type.

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

Purpose4/5

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

The description states a clear verb ('List') and resource ('Crew Mode crews'), so the agent knows what the tool does. However, it does not differentiate this from the many other list_* sibling tools (e.g., list_personas, list_workspaces, list_skills), leaving the agent to infer the distinction from the resource name alone.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives, nor are any prerequisites or exclusions mentioned. Usage is only implied by the generic list operation, which is insufficient given the large set of sibling list tools.

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

list_knowledge_stacksC

List Knowledge Stacks (including Next Gen).

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it falls short. It does not state that this is a read-only operation, whether results are paginated or capped, what the default ordering is, or what the response contains. The safety profile is only weakly implied by the verb 'List'.

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

Conciseness4/5

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

A single short sentence with no wasted words, and the core purpose is front-loaded. It is arguably too sparse rather than too long, but structurally it is efficient.

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

Completeness3/5

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

Because an output schema exists, the description needn't explain return values, which covers the main potential gap. However, the unexplained 'limit' parameter and the total absence of usage context leave the definition only partially complete for a tool sitting among many similar list tools.

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

Parameters2/5

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

Schema description coverage is 0% and there is one parameter ('limit', default 100) that the description never mentions. Since the parameter is undocumented in both schema and description, an agent must guess whether limit is a page size, a total cap, or something else, and what the maximum is.

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

Purpose4/5

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

States a clear verb+resource ('List Knowledge Stacks') and adds a scope hint ('including Next Gen') that clarifies what the listing covers. It does not, however, differentiate itself from sibling list tools such as list_personas or list_studio_catalogue, nor from optimise_knowledge_stacks, leaving some ambiguity about the relationship between them.

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

Usage Guidelines2/5

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

The description gives no indication of when to call this tool, when not to, or what the alternative is. With ~40 sibling list_* tools, an agent would benefit from knowing which listing is appropriate here, but nothing in the text provides that guidance.

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

list_live_contextsC

List Live Contexts.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the implied read-only nature of a 'list' verb. Pagination, result ordering, and any auth or scope requirements for 'live' contexts are unstated.

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

Conciseness2/5

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

Three words of text that restate the name is under-specification rather than conciseness. Nothing is front-loaded because nothing is said.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but with zero annotations and zero parameter documentation the description leaves the agent without enough context to use the tool confidently. It should at minimum say what a live context is and what the limit controls.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate and does not. The single 'limit' parameter is intuitive from its name and default of 100 in the schema, which prevents a 1, but the description adds no meaning such as max value or paging semantics.

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

Purpose2/5

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

The description restates the tool name verbatim ('List Live Contexts.'), which is a tautology rather than an explanation. It never defines what a 'Live Context' is or how it differs from the many sibling list tools such as list_context_studio or list_workspaces, so an agent cannot disambiguate it.

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

Usage Guidelines2/5

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

There is no guidance on when to call this tool, when not to, or which sibling to prefer for related data. The agent is left to infer usage purely from the name.

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

list_llamacpp_modelsC

List Llama.cpp models.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses essentially nothing: not whether llama.cpp must be running, whether the list is cached or live, or what happens when no models are configured. It only implies a read-only listing.

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

Conciseness4/5

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

A single short sentence with no filler, appropriately front-loaded, though it is under-specified rather than genuinely tight.

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

Completeness3/5

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

An output schema exists so return values need no explanation, and a parameterless read tool needs little description. Still, with no annotations and a crowded field of list_* siblings, the definition leaves the agent without enough to select it confidently.

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

Parameters4/5

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

The tool takes zero parameters, so per the baseline there is nothing for the description to explain. Schema coverage is 100% regardless.

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

Purpose3/5

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

The description states a clear verb+resource (list Llama.cpp models), but it is essentially an expansion of the tool name and offers no differentiation from overlapping siblings such as list_mlx_models, list_available_models, or list_nexus_models. An agent cannot tell from the text which model-listing tool applies to which backend.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or named alternative is given. Given that at least three sibling tools also list models, the absence of routing guidance is a real gap.

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

list_mlx_modelsC

List MLX models from the MLX service.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, and it says nothing about whether results are paginated, filtered, cached, or authenticated. For a read-only list operation on a service this is a real gap, though the operation is inherently simple.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is efficiently sized, though the 'from the MLX service' clause is mildly redundant given the tool name already says MLX.

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

Completeness3/5

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

An output schema exists so return values need not be described, and there are no parameters to document. However, with no annotations and no behavioral or sibling-routing context, the definition is only minimally adequate for the agent to confidently choose it.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. The empty schema is self-explanatory and there is nothing for the description to disambiguate.

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

Purpose3/5

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

States a verb (list) and resource (MLX models), but 'from the MLX service' adds little and the definition never distinguishes it from the many sibling listing tools such as list_llamacpp_models, list_available_models, or list_nexus_models. An agent cannot tell from the text alone which of these model-listing tools to pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the obvious alternatives (chat_with_mlx_model, list_llamacpp_models, list_available_models). The phrase 'from the MLX service' weakly implies context but offers no selection criteria.

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

list_nexus_modelsB

List models exposed by the Nexus OpenAI-compatible endpoint.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It does not state that this is a read-only operation, whether authentication is required, or what the response contains beyond a list; only 'List' hints at read-only behavior.

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

Conciseness5/5

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

Single sentence, front-loaded with verb and resource, with no wasted words. It is appropriately sized for a simple list tool.

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

Completeness4/5

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

Given the simple zero-parameter listing and the presence of an output schema, the description covers the core operation and source endpoint. It omits read-only/auth context and sibling differentiation, but the output schema handles return values.

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

Parameters4/5

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

The tool has zero parameters, so the schema cannot provide parameter details and the baseline is 4. The description appropriately does not invent parameter semantics for a no-arg tool.

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

Purpose4/5

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

States a specific verb ('List') and resource ('models'), scoped to the 'Nexus OpenAI-compatible endpoint'. However, it does not distinguish this tool from sibling model-listing tools such as list_available_models, list_mlx_models, or list_llamacpp_models.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are given. The phrase 'exposed by the Nexus OpenAI-compatible endpoint' implies the source, but it does not tell the agent when to choose this over sibling listing tools.

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

list_personasC

List personas from Persona Studio.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'List' implies a safe read, but the description says nothing about pagination, how 'limit' behaves, ordering, or result caps — all relevant for a listing tool with a default limit of 100.

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

Conciseness3/5

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

One short, front-loaded sentence with no filler, which is structurally clean. But the terseness is under-specification rather than economical writing — it omits information an agent needs rather than trimming excess.

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

Completeness2/5

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

An output schema exists, so return shape need not be described. Still, with no annotations, an undocumented limit parameter, and no sibling differentiation, the definition leaves key agent decisions unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter (limit, default 100) is not mentioned or explained in the description. Since coverage is far below 50%, the description was expected to compensate and does not.

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

Purpose4/5

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

States a specific verb ('List') and resource ('personas') plus the source system ('Persona Studio'), so the agent knows exactly what it returns. However, it offers no differentiation from close siblings such as list_shadow_personas or list_studio_catalogue, leaving ambiguity about which persona-listing tool to pick.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many other list_* siblings (list_shadow_personas, list_crews, list_workspaces, etc.). No prerequisites, no exclusions, no alternatives are named; usage must be fully inferred.

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

list_promptsC

List Prompts Studio library entries.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the bare action. It says nothing about ordering, pagination, the default limit, whether entries are scoped to a workspace, or permission requirements — all of which matter for a library-listing operation.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler. It is efficient, though the terseness borders on under-specification rather than deliberate concision.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. Still, for a list tool with a limit parameter, the description omits pagination and scoping behavior, leaving an agent unable to predict result size or boundaries.

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

Parameters2/5

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

The single 'limit' parameter has 0% schema description coverage and is not mentioned in the description at all, so the agent gets no guidance on its meaning, default behavior, or maximum. The description fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (List) and a specific resource scope (Prompts Studio library entries), which is enough to distinguish it from the many other list_* siblings such as list_personas and list_skills. However, it does not explicitly contrast itself with those siblings, so an agent must infer the boundary rather than being told it.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives among the numerous sibling list tools. Usage is only implied by the verb 'List'.

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

list_shadow_personasD

List Shadow Personas.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: not read/write semantics, not pagination behavior implied by the limit parameter, not 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.

Conciseness2/5

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

The single sentence is short but not concise in any useful sense — it is under-specification, not economy. Nothing is front-loaded because there is nothing to front-load.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but with no annotations and 0% parameter coverage the definition is still far too thin for an agent to invoke this list tool confidently alongside its many siblings.

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

Parameters2/5

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

Schema description coverage is 0% for the single 'limit' parameter, and the description says nothing about it. An agent cannot tell from either source whether limit caps results, what the default 100 means for pagination, or whether ordering is deterministic.

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

Purpose2/5

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

The description merely restates the tool name ('List Shadow Personas'), which is the textbook tautology case. It does convey a verb (list) and resource (shadow personas), but gives no hint of what a 'shadow persona' is or how it differs from the sibling list_personas or generate_persona.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives such as list_personas or generate_persona. No prerequisites, no exclusions, no context is provided.

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

list_skillsC

List Skills Studio preferences and folders.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden and does not meet it. It does not disclose pagination behaviour despite a limit parameter, nor auth requirements, rate limits, or result scope for this listing.

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

Conciseness4/5

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

A single short sentence, front-loaded with the verb, with no wasted words. It is efficiently sized, though its brevity reflects under-specification rather than disciplined economy.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and this is a simple one-parameter read. However, the undocumented limit parameter and the absence of any usage or behavioural context leave the definition only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0% and the sole parameter (limit, default 100) is undocumented in both schema and description. The description never explains that results can be capped or how the limit behaves, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

States a clear verb (List) and resource (Skills Studio preferences and folders), so an agent knows this is a read of skill-related settings. It does not differentiate itself from the many sibling list_* tools (list_studio_catalogue, list_workspaces, list_prompts, etc.), so it lands just short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusion criteria, and no mention of alternatives among the crowded list_* family. The agent must infer usage purely from the tool name.

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

list_studio_catalogueB

Summary counts for all known Studio entity types.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no read-only confirmation, no indication of cost/scope ('all known' could be expensive), and no note on whether counts are cached or live. The presence of an output schema covers the return shape, which is the only reason this is not a 1.

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

Conciseness4/5

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

One front-loaded sentence with no filler or redundancy. It is appropriately terse for a zero-parameter tool, though the brevity borders on under-specification given how vague 'known Studio entity types' is.

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

Completeness4/5

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

With zero parameters and an output schema that documents the return structure, little else is strictly required. The remaining gap is scoping — what 'all known' entity types are and how this aggregate relates to the sibling catalogue tools — but the definition is complete enough to invoke correctly.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There is no parameter meaning to add or omit, and the description correctly implies a no-argument, whole-catalogue call.

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

Purpose4/5

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

The description states a clear resource ('all known Studio entity types') and the shape of the output ('summary counts'), which distinguishes it from sibling entity-listing tools like list_context_studio or list_workspaces that return records rather than counts. However, it never names a sibling or clarifies what 'Studio entity types' actually encompasses, so differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the many sibling list/get tools (list_workspaces, get_studio_entity, list_context_studio, etc.). With zero parameters there is no prerequisite or sequencing information either, leaving the agent to guess the use case from the description alone.

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

list_turnstilesC

List Turnstiles / Turnstiles vNext definitions.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. 'List' implies a read-only enumeration, but there is no mention of pagination behavior for the limit parameter, scope of results, or any auth/permission requirements beyond the eventual output schema.

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

Conciseness4/5

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

The description is a single short sentence with no filler and the purpose is front-loaded. Its brevity is appropriate in form, though it borders on under-specification rather than being genuinely tight.

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

Completeness2/5

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

With an output schema and no annotations, the description needn't explain return values, but it still leaves the single input parameter and the usage context entirely unaddressed. For a listing tool with a pagination-relevant parameter, this is too thin.

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

Parameters2/5

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

Schema description coverage is 0% and there is one parameter (limit, default 100), so the schema alone leaves the parameter undocumented. The description never mentions the limit parameter, its default, or pagination semantics, failing to compensate for the coverage gap.

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

Purpose3/5

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

The description names a verb ('List') and a resource ('Turnstiles / Turnstiles vNext definitions'), so the agent knows it enumerates turnstile definitions. However, it largely restates the tool name, and the ' / Turnstiles vNext' phrasing is ambiguous about whether two distinct entity types are returned. It gives no differentiation from the many sibling list_* tools.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the alternatives, nor any prerequisites or context (e.g., in what scenario an agent should enumerate turnstiles). The agent must infer usage entirely from the name.

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

list_workspacesC

List Studio workspaces.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses almost nothing: not that it is a read-only operation, not whether the result set is paginated or bounded, not what happens when more workspaces exist than the default limit. For a list endpoint returning an arbitrary collection, this is a significant behavioral gap.

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

Conciseness3/5

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

A single four-word sentence with no wasted clauses, which is efficient, but it is so terse that it reads as a label rather than a definition. There is no verbosity to trim, yet the length is under-serving rather than appropriately sized.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but nothing else is covered: no usage context, no annotation substitute for the read-only/pagination profile, and no parameter semantics. For a list tool in a large sibling set the definition is incomplete.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not mention the single 'limit' parameter at all, so its semantics (max results returned? default 100 means what?) are documented nowhere. With one undocumented parameter and no compensating text, this falls below the schema-covers-it baseline of 3.

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

Purpose4/5

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

The description states a clear verb+resource pair ('List' + 'Studio workspaces') and the 'Studio' qualifier scopes it within this server's domain. It does not distinguish itself from the many sibling list_* tools (list_personas, list_crews, list_knowledge_stacks) beyond the resource noun, but an agent can still tell what entity is returned.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the other 50+ sibling tools, no prerequisites, and no indication of what a 'workspace' is relative to e.g. list_studio_catalogue or get_studio_entity. The description offers context-free capability with no routing information.

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

optimise_knowledge_stacksB

Suggest Knowledge Stack optimisations from live Studio data.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully clarifies that the tool only *suggests* (rather than applies) changes, and that suggestions derive from live Studio data, which counters the imperative name "optimise_*". However it says nothing about permissions, scope of the scan, latency, 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.

Conciseness4/5

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

A single eight-word sentence with no filler, front-loading the verb and outcome. It is appropriately sized, though the extreme brevity leaves little room to earn its place beyond restating the core action.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and a zero-parameter tool has no argument semantics to cover. Still missing is the scope of the analysis (all stacks vs. a workspace) and what "live Studio data" concretely includes, which limits how confidently an agent can predict the result.

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

Parameters4/5

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

The input schema has zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies; the description does not contradict or confuse the empty parameter set.

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

Purpose4/5

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

The description names a specific verb ("Suggest") and resource ("Knowledge Stack optimisations") plus the data source ("live Studio data"), which distinguishes it from sibling list_knowledge_stacks and analyse_* tools. It is clear what the tool does, though it never explicitly contrasts itself with any sibling.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternatives are named. An agent must infer that this is the tool to call when it wants improvement suggestions for knowledge stacks; nothing states prerequisites or what to call first (e.g. list_knowledge_stacks).

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

query_local_ai_serviceD

Query Local AI (Ollama-compatible) service.

NameRequiredDescriptionDefault
dataNo
methodNoGET
endpointYes

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: not what gets queried, whether the call mutates state, auth requirements, or rate limits. The only context is the 'Ollama-compatible' protocol hint.

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

Conciseness2/5

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

One short sentence is technically compact, but this is under-specification rather than conciseness. The line fails to earn its place by omitting any actionable detail.

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

Completeness2/5

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

An output schema exists so return values needn't be explained, but the definition is far too thin for a 3-param tool with zero annotation and schema-description coverage. The agent has no basis for constructing a correct call.

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

Parameters1/5

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

Schema description coverage is 0% for 3 parameters, and the description compensates for none of it. It says nothing about the required 'endpoint' format, the meaning of 'method' or its GET default, or the shape of 'data'.

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

Purpose2/5

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

'Query Local AI (Ollama-compatible) service' essentially restates the tool name. The 'Ollama-compatible' qualifier adds a small hint about the protocol, but the description offers no distinction from the many sibling query tools (query_vibe_proxy, query_nexus, chat_with_local_model), so an agent cannot tell them apart.

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

Usage Guidelines2/5

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

No when-to-use guidance and no alternatives named, despite a crowded sibling set of query/chat tools. The agent gets no signal about when this is preferable to chat_with_local_model or query_vibe_proxy.

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

query_nexusC

Query the Nexus gateway with an arbitrary path.

NameRequiredDescriptionDefault
dataNo
pathNo/v1/models
methodNoGET

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it omits auth requirements, rate limits, and the fact that method defaults to GET but can be set to a mutating verb via the free-form method/data parameters. It also says nothing about error behavior for an invalid path. The single useful hint is that the path is caller-supplied and unrestricted.

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

Conciseness3/5

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

A single short sentence that is front-loaded and wastes no words, which is structurally good. However, the brevity here reads as under-specification rather than economy, since the sentence cannot support the tool's generic surface area.

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

Completeness2/5

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

An output schema exists, so return values need not be described. But for a three-parameter, untyped gateway passthrough with no annotations and 0% schema coverage, the description is far too thin — an agent has no basis for choosing a path, method, or payload shape.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only alludes to the path parameter ("arbitrary path"). The method and data parameters — including that method is a free-form string defaulting to GET and data is an untyped passthrough object — are left completely unexplained.

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

Purpose4/5

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

States a clear verb ("Query") and resource ("the Nexus gateway"), with the key qualifier that the path is arbitrary, signaling a raw passthrough rather than a typed endpoint. It does not differentiate itself from siblings like query_vibe_proxy or list_nexus_models, which an agent could plausibly confuse it with.

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

Usage Guidelines2/5

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

There is no statement of when to reach for this generic gateway call versus the more specific sibling tools (list_nexus_models, query_vibe_proxy, detect_nexus). The only implied guidance is the word "arbitrary," which suggests an escape hatch but never says so explicitly or names an alternative.

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

query_vibe_proxyD

Query Vibe CLI proxy.

NameRequiredDescriptionDefault
queryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations provided, the description must fully disclose behavioral traits. It fails to mention whether the tool is read-only, has side effects, or any limitations. The agent has no insight into behavior.

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

Conciseness1/5

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

At 4 words, the description is under-specified rather than concise. It omits essential details and does not earn its place as a complete explanation.

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

Completeness1/5

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

Despite the tool having an output schema, the description provides no context about inputs, outputs, or behavior. It is nearly useless for selecting or invoking the tool correctly.

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

Parameters1/5

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

The single parameter 'query' has no schema description (0% coverage) and the tool description adds no meaning beyond its name. The agent receives no explanation of what the query string represents or how to format it.

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

Purpose2/5

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

The description 'Query Vibe CLI proxy' is a vague restatement of the tool name. It indicates a query action but fails to clarify what 'Vibe CLI proxy' is or what kind of querying is performed. Among sibling tools like 'query_local_ai_service' and 'get_vibe_proxy_status', it offers no differentiation.

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

Usage Guidelines1/5

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. There is no mention of preconditions, context, or recommended use cases.

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

read_msty_databaseB

Query the Studio workspace database.

Use query='stats' for overview, query='tables' for table list, or a read-only SQL SELECT/WITH/PRAGMA statement.

NameRequiredDescriptionDefault
limitNo
queryNostats

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that only read-only SELECT/WITH/PRAGMA statements are permitted, which tells the agent mutations are rejected. It does not mention the default limit behavior, permissions, or error/truncation semantics.

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

Conciseness4/5

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

Three short lines, front-loaded with the core action before the query-value enumeration. Efficient with no filler, though the special-value list could be slightly tightened.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, for a query tool with two parameters and no annotations, the omission of the limit parameter's meaning and default behavior leaves a meaningful gap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains the query parameter well by enumerating its special values, but the limit parameter (default 100) is entirely unmentioned in both schema and description, leaving half the parameters undocumented.

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

Purpose4/5

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

States a specific verb+resource ('Query the Studio workspace database'), which is clear and distinguishable from the other query tools (query_nexus, query_vibe_proxy) that target different systems. It does not explicitly name or differentiate from siblings, but the resource scope is unambiguous.

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

Usage Guidelines3/5

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

The description gives useful routing hints for the query parameter (stats for overview, tables for list, SQL for ad-hoc reads), which implies usage. However, it never states when to prefer this tool over the sibling list/get tools (e.g. list_workspaces, get_studio_entity), leaving the choice to inference.

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

recommend_modelC

Recommend a model using Studio insights when available.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses only that the tool conditionally uses 'Studio insights,' but says nothing about what happens when those insights are absent, whether the recommendation is cached or deterministic, or what the output contains.

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

Conciseness4/5

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

A single short sentence with the core action front-loaded and no wasted words. It is appropriately sized, though the brevity comes partly from under-specification rather than tight editing.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. Still, for a zero-param tool whose whole value proposition hinges on when 'Studio insights' are or aren't available, the description leaves a meaningful gap about its conditional behavior.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond what the empty schema already conveys.

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

Purpose3/5

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

The description states a verb (recommend) and a resource (a model), so the basic action is clear. However, 'using Studio insights when available' is vague about what the recommendation is based on, and nothing distinguishes it from siblings like list_available_models, compare_model_responses, or bloom_evaluate_model.

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

Usage Guidelines2/5

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

The phrase 'when available' hints at a conditional fallback path but never explains what that fallback is or when an agent should prefer this over the numerous other model-related tools. There is no explicit when-to-use, when-not-to-use, or named alternative.

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

run_calibration_testC

Run calibration test on a local model.

NameRequiredDescriptionDefault
categoryNogeneral
model_idNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, yet it discloses nothing about side effects, whether the run mutates state, expected duration, or permissions. The only useful clue is the "local model" scope, which is thin.

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

Conciseness3/5

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

One sentence, front-loaded and free of waste. The problem is under-specification rather than verbosity, so it earns only a middling score on structure alone.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but for a tool with two fully undocumented parameters and zero annotations the description is far too thin to let an agent invoke it confidently.

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

Parameters2/5

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

Schema description coverage is 0%, and the description never mentions the two parameters. It does not clarify what "category" values are valid or how "model_id" is resolved, so it fails to compensate for the undocumented schema.

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

Purpose3/5

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

The description names a verb ("Run") and a resource ("calibration test") scoped to a local model, so the intent is broadly legible. However, it does not explain what a "calibration test" actually measures, and it gives no differentiation from related siblings like get_calibration_history or bloom_evaluate_model.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is left to infer entirely when this tool is appropriate versus the many evaluation- and history-related siblings.

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

suggest_persona_improvementsC

Suggest persona improvements from live Studio personas.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It never states whether this is a read-only analysis or whether suggestions are persisted/applied, what permissions or live-Studio state are required, or what happens if no live personas exist. 'Suggest' weakly implies non-mutating behavior but nothing is confirmed.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity comes partly from under-specification rather than from tight editing.

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

Completeness2/5

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

Complexity is low (zero arguments) and an output schema exists, so return values need not be explained. Even so, the description omits all usage context, source-data scope, and side-effect disclosure, leaving the agent with a one-line label rather than a usable definition.

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

Parameters4/5

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

The tool takes zero parameters and the schema is empty, so there is nothing to document; the baseline for a parameterless tool is 4. The description could have noted that all live Studio personas are implicitly in scope, which is the one parameter-like decision an agent faces.

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

Purpose3/5

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

The description names a verb (suggest) and a resource (persona improvements) and a data source (live Studio personas), which is more than a tautology. However, it never clarifies what an 'improvement' is, whether suggestions are applied or merely returned, or how this differs from siblings like generate_persona or list_personas. Purpose is implied but not pinned down.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. With ~57 siblings including several persona-related ones, an agent is left to guess whether this is the right entry point versus generate_persona or list_personas.

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

sync_claude_preferencesB

Report Claude Desktop MCP sync candidates (read-only inventory).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that the operation is a read-only inventory, ruling out mutation, but it does not address permissions, execution prerequisites, or whether any state is affected; the output schema helps with return format but not with operational behavior.

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

Conciseness5/5

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

A single front-loaded sentence with no wasted words. The key scoping information ('read-only inventory') is included alongside the purpose, so the agent can parse it immediately.

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

Completeness3/5

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

Given zero parameters and a present output schema, the description only needs to communicate purpose and safety context, and it does that minimally. It remains incomplete on usage context and on what 'sync candidates' means, which matters for selecting this tool among the many sibling inventory/query tools.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to document. The description adds no parameter detail, which is appropriate here, and the baseline for a no-parameter tool is high.

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

Purpose4/5

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

The description states a specific verb and resource: 'Report Claude Desktop MCP sync candidates,' and adds the qualifier '(read-only inventory).' This distinguishes the operation from a write/sync action and makes the read-only nature explicit, though it does not name a sibling alternative or clarify what a 'sync candidate' actually is.

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

Usage Guidelines2/5

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

The description provides no when-to-use guidance, prerequisites, or comparison to alternatives such as list_configured_tools or other inventory tools. The only implied usage comes from the read-only inventory framing, which is too weak to qualify as actual guidance.

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

Tool Schema Changelog

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

  1. 22 tool updatesv6.1.5
    • Addedask_frontier
    • Addeddetect_nexus
    • Addedexport_workflow_pack
    • Addedget_insights_usage
    • Addedget_schema_migrations
    • Addedget_studio_entity
    • Changedimport_tool_config1 field changed
      • addedInput schema / properties / confirm
        Added value: +{
        +  "default": false,
        +  "title": "Confirm",
        +  "type": "boolean"
        +}
    • Addedlist_agent_plans
    • Addedlist_context_studio
    • Addedlist_crews
    • Addedlist_knowledge_stacks
    • Addedlist_live_contexts
    • Addedlist_nexus_models
    • Addedlist_personas
    • Addedlist_prompts
    • Addedlist_shadow_personas
    • Addedlist_skills
    • Addedlist_studio_catalogue
    • Addedlist_turnstiles
    • Addedlist_workspaces
    • Addedquery_nexus
    • Changedread_msty_database2 fields changed
      • addedInput schema / properties / query / default
        Added value: +"stats"
      • removedInput schema / required
        Removed value: -[
        -  "query"
        -]
  2. 36 tool updatesv5.0.0
    • First observedanalyse_conversation_patterns
    • First observedanalyse_msty_health
    • First observedbloom_check_handoff
    • First observedbloom_evaluate_model
    • First observedbloom_get_history
    • First observedbloom_get_thresholds
    • First observedbloom_list_behaviors
    • First observedbloom_validate_model
    • First observedchat_with_llamacpp_model
    • First observedchat_with_local_model
    • First observedchat_with_mlx_model
    • First observedcompare_model_responses
    • First observeddetect_msty_installation
    • First observedevaluate_response_quality
    • First observedexport_tool_config
    • First observedgenerate_persona
    • First observedget_calibration_history
    • First observedget_model_performance_metrics
    • First observedget_model_providers
    • First observedget_server_status
    • First observedget_service_status
    • First observedget_vibe_proxy_status
    • First observedidentify_handoff_triggers
    • First observedimport_tool_config
    • First observedlist_available_models
    • First observedlist_configured_tools
    • First observedlist_llamacpp_models
    • First observedlist_mlx_models
    • First observedoptimise_knowledge_stacks
    • First observedquery_local_ai_service
    • First observedquery_vibe_proxy
    • First observedread_msty_database
    • First observedrecommend_model
    • First observedrun_calibration_test
    • First observedsuggest_persona_improvements
    • First observedsync_claude_preferences

TDQS

C2.3/5.0

Scored across 56 tools

Disambiguation3/5

Many tools target distinct resources (Bloom evaluations, Studio entities, model services, Nexus), but several clusters overlap: get_service_status vs analyse_msty_health vs get_server_status, multiple chat_with_*_model variants, and multiple list_*_models tools. Descriptions help, but boundaries remain fuzzy for status/health and model-selection tasks.

Naming Consistency4/5

Names are predominantly snake_case with verb_noun or verb_entity order, and spelling is consistently British (analyse, optimise). Minor deviations exist: bloom_* prefixes some Bloom tools, and retrieval verbs vary across get, read, and query.

Tool Count1/5

With 56 tools, the set is far beyond the typical 3-15 well-scoped range. The breadth includes many niche, overlapping, and read-only inspection tools, making the surface difficult for an agent to navigate efficiently.

Completeness3/5

The server covers a wide read-only surface: installation health, databases, services, models, Bloom evaluations, Studio entities, migrations, and Nexus. However, mutation operations (create/update/delete) are largely absent for Studio entities, and import/sync tools only validate or report rather than perform changes, creating admin dead ends.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers