Skip to main content
Glama
raqueljezweb

AnythingLLM MCP Server

by raqueljezweb

AnythingLLM MCP Server

An MCP (Model Context Protocol) server that enables seamless integration between AnythingLLM and MCP-compatible clients like TypingMind, Claude Desktop, and more.

Features

  • 🚀 Complete AnythingLLM API Integration: Access all AnythingLLM features through MCP

  • 💬 Workspace Management: Create, update, delete, list workspaces and manage their settings

  • 🤖 Chat Integration: Send messages, manage chat history, and stream responses

  • 📄 Document Management: Upload, list, delete documents, process URLs, and manage vectors

  • 🔍 Embedding & Search: Embed text/webpages and search within workspaces

  • 👥 User Management: Create, update, delete users and manage permissions

  • 🔑 API Key Management: Programmatically manage API keys

  • ⚙️ System Administration: Configure LLM providers, vector databases, and system settings

  • 🤖 Agent Support: Create and manage AI agents with custom prompts and tools

  • 📊 System Monitoring: Access system information and statistics

  • 🔐 Secure Authentication: API key-based authentication with environment variable support

Related MCP server: ClickUp MCP Server

Prerequisites

  • Node.js 18+ installed

  • AnythingLLM instance running with API access enabled

  • AnythingLLM API key (obtain from your AnythingLLM instance at /settings/api-keys)

Installation

No installation needed! You can run the server directly with npx when configuring your MCP client.

Option 2: Global Installation

npm install -g anythingllm-mcp-server

Option 3: Local Installation

git clone https://github.com/yourusername/anythingllm-mcp-server.git
cd anythingllm-mcp-server
npm install

Configuration

For TypingMind.com

Setup Instructions

  1. Go to TypingMind.com

  2. Click on SettingsMCP Servers

  3. In the MCP configuration editor, add the AnythingLLM server:

    {
     "mcpServers": {
       "anythingllm": {
         "command": "npx",
         "args": ["-y", "anythingllm-mcp-server@2.0.0"]
        }
      }
    }
  4. Click Save - TypingMind will restart the MCP servers

  5. Look for the "Connected" status

First Time Usage

After the server connects, initialize it with your AnythingLLM credentials:

  1. In the chat, type:

    Use the initialize_anythingllm tool with apiKey: "your-api-key" and baseUrl: "http://localhost:3001"
  2. Replace:

    • "your-api-key" with your AnythingLLM API key (get it from AnythingLLM → Settings → API Keys)

    • "http://localhost:3001" with your AnythingLLM instance URL

  3. You'll see: "AnythingLLM client initialized successfully"

Example Commands

After initialization, use natural language to interact with AnythingLLM:

  • "List all my workspaces"

  • "Create a new workspace called 'Project Documentation'"

  • "Chat with the 'research' workspace about the latest findings"

  • "Show me all documents in the 'knowledge-base' workspace"

TypingMind will automatically use the appropriate AnythingLLM tools.

For Claude Desktop

Add to your Claude Desktop configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "anythingllm": {
      "command": "npx",
      "args": ["-y", "anythingllm-mcp-server@1.0.3"]
    }
  }
}

Initialization

When first using the server in your MCP client, you'll need to initialize it with your AnythingLLM credentials by calling the initialize_anythingllm tool:

Use the initialize_anythingllm tool with apiKey: "your-api-key" and baseUrl: "http://localhost:3001"
  • apiKey: Get this from your AnythingLLM instance at /settings/api-keys

  • baseUrl: Your AnythingLLM instance URL (default: http://localhost:3001)

You can also set these as environment variables:

  • ANYTHINGLLM_API_KEY: Your API key

  • ANYTHINGLLM_BASE_URL: Your instance URL

Available Tools

Initialization

Tool

Description

Parameters

initialize_anythingllm

Initialize the AnythingLLM client with API credentials

apiKey (string), baseUrl (optional string)

Workspace Management

Tool

Description

Parameters

list_workspaces

Get all workspaces

None

get_workspace

Get details of a specific workspace

slug (string)

create_workspace

Create a new workspace

name (string)

update_workspace

Update workspace settings

slug (string), updates (object)

delete_workspace

Remove a workspace

slug (string)

get_workspace_settings

Get settings for a specific workspace

slug (string)

update_workspace_settings

Update workspace-specific settings

slug (string), settings (object)

Chat Operations

Tool

Description

Parameters

chat_with_workspace

Send messages to a workspace

slug (string), message (string), mode (optional: "chat" or "query")

get_chat_history

Get chat history for a workspace

slug (string), limit (optional number)

clear_chat_history

Clear all chat history for a workspace

slug (string)

Document Management

Tool

Description

Parameters

list_documents

View all documents in a workspace

slug (string)

delete_document

Remove a document from a workspace

slug (string), documentId (string)

process_document_url

Process a document from a URL

slug (string), url (string)

get_document_vectors

Get vector embeddings for a document

slug (string), documentId (string)

Tool

Description

Parameters

embed_text

Embed text directly into a workspace

slug (string), texts (array of strings)

embed_webpage

Embed a webpage into a workspace

slug (string), url (string)

search_workspace

Search within a workspace

slug (string), query (string), limit (optional number)

User Management

Tool

Description

Parameters

list_users

List all users in the system

None

create_user

Create a new user

username (string), password (string), role (optional string)

update_user

Update an existing user

userId (string), updates (object)

delete_user

Delete a user

userId (string)

API Key Management

Tool

Description

Parameters

list_api_keys

List all API keys

None

create_api_key

Create a new API key

name (string)

delete_api_key

Delete an API key

keyId (string)

System Administration

Tool

Description

Parameters

get_system_settings

View system configuration

None

update_system_settings

Modify system settings

settings (object)

get_system_info

Get general system information

None

get_system_stats

Get system statistics

None

LLM Provider Management

Tool

Description

Parameters

list_llm_providers

List available LLM providers

None

update_llm_provider

Update LLM provider configuration

provider (string), apiKey (optional string), model (optional string)

Vector Database Management

Tool

Description

Parameters

get_vector_database_info

Get vector database configuration

None

update_vector_database

Update vector database configuration

provider (string), config (object)

Agent Management

Tool

Description

Parameters

list_agents

List all available agents

None

create_agent

Create a new agent

name (string), systemPrompt (optional string), tools (optional array)

update_agent

Update an existing agent

agentId (string), updates (object)

delete_agent

Delete an agent

agentId (string)

invoke_agent

Invoke an agent with input

agentId (string), input (string)

Usage Examples

Once configured, you can interact with AnythingLLM through your MCP client:

List all workspaces

"Use the list_workspaces tool to show me all available workspaces"

Create a new workspace

"Create a new workspace called 'Project Documentation' using the create_workspace tool"

Chat with a workspace

"Use chat_with_workspace to ask the 'research' workspace: What are the key findings from the latest report?"

Manage documents

"List all documents in the 'knowledge-base' workspace"
"Delete document with ID 'doc123' from the 'archive' workspace"

API Reference

This MCP server connects to the following AnythingLLM API endpoints:

  • /api/v1/workspaces - Workspace operations

  • /api/v1/workspace/{slug}/chat - Chat functionality

  • /api/v1/workspace/{slug}/documents - Document management

  • /api/v1/system/settings - System configuration

For complete API documentation, visit /api/docs on your AnythingLLM instance.

Troubleshooting

Connection Issues

  • ✅ Ensure your AnythingLLM instance is running and accessible

  • ✅ Verify the API key has proper permissions

  • ✅ Check that the base URL is correct (include http/https)

  • ✅ Make sure the AnythingLLM API is enabled in your instance

API Errors

  • Most errors will include descriptive messages

  • Check AnythingLLM logs for detailed error information

  • Ensure your API key hasn't expired

  • Verify workspace slugs are correct when accessing specific workspaces

Common Issues

"Client not initialized" error:

  • Make sure you've initialized the server with your API key and base URL

"Workspace not found" error:

  • Check that the workspace slug is correct

  • Use list_workspaces to see available workspaces

Connection refused:

  • Verify AnythingLLM is running on the specified port

  • Check firewall settings

Security Notes

  • 🔐 Keep your API key secure and never commit it to version control

  • 🔒 Use environment variables for sensitive configuration in production

  • 🛡️ Restrict API key permissions to only what's needed

  • ⚠️ Never share your API key publicly

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments


Made with ❤️ for the AnythingLLM community

Available Tools

38 tools
chat_with_workspaceC

Send a chat message to a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
messageYesThe message to send
modeNoChat mode (chat or query)chat

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It states the action ('send a chat message') which implies a write operation, but doesn't disclose whether this requires authentication, what happens to the message after sending, whether there are rate limits, or what the expected response format might be. For a communication tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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 maximally concise with a single, clear sentence that front-loads the essential action. Every word earns its place with no redundancy or unnecessary elaboration. The structure immediately communicates the core functionality without requiring the agent to parse through verbose text.

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 communication tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after message sending, whether there's confirmation or response, how errors are handled, or any system constraints. The agent lacks crucial context about the tool's behavior and outcomes despite having full parameter documentation in the schema.

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?

The description adds no parameter-specific information beyond what the schema already provides. With 100% schema description coverage that documents all three parameters (slug, message, mode with enum values), the baseline score of 3 is appropriate. The description doesn't explain what a 'workspace slug' represents, how messages are formatted, or the practical difference between 'chat' and 'query' modes.

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 ('Send a chat message') and target resource ('to a workspace'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'clear_chat_history' or 'search_workspace' by focusing on message sending rather than history management or search. However, it doesn't specify whether this is for human-to-workspace or agent-to-workspace communication, which prevents a perfect score.

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 doesn't mention when to choose 'chat' vs 'query' mode, how this differs from 'invoke_agent' for agent-based interactions, or any prerequisites like workspace availability. The agent must infer usage entirely from the tool name and parameters without explicit direction.

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

clear_chat_historyC

Clear all chat history for a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier

TDQS

C2.9/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 of behavioral disclosure. It states the tool clears history but doesn't specify whether this action is reversible, requires specific permissions, affects system performance, or has rate limits. For a destructive operation, this lack of detail 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.

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 tool's destructive nature and lack of annotations or output schema, the description is insufficient. It doesn't cover behavioral aspects like irreversibility or permissions, nor does it explain what 'clear' entails (e.g., permanent deletion, archiving). For a mutation tool with no structured safety hints, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'slug' documented in the schema. The description doesn't add any parameter-specific details beyond implying the workspace context, so it meets the baseline of 3 where the schema handles the heavy lifting.

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 ('Clear') and resource ('all chat history for a workspace'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish from sibling tools like 'delete_document' or 'delete_workspace', which might also remove data but target different resources.

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 doesn't mention prerequisites, consequences, or related tools like 'get_chat_history' for viewing history before clearing, leaving the agent with minimal context for decision-making.

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

create_agentC

Create a new agent

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the agent
systemPromptNoSystem prompt for the agent
toolsNoList of tools the agent can use

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 full burden. It states 'Create a new agent' which implies a write/mutation operation, but doesn't disclose behavioral traits such as required permissions, whether creation is idempotent, what happens on failure, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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 'Create a new agent' is extremely concise—three words that directly convey the core action. It's front-loaded with no unnecessary elaboration, making it efficient for quick understanding. Every word earns its place by specifying the verb 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?

Given the tool's complexity (a mutation operation with 3 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions or error handling, and while parameters are documented in the schema, the description adds no context about the creation process or result. For a creation tool, more guidance is needed.

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

Parameters3/5

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

Schema description coverage is 100%, with all parameters (name, systemPrompt, tools) documented in the schema. The description adds no additional meaning beyond the schema, such as explaining parameter interactions or constraints. Baseline is 3 since the schema does the heavy lifting, but no extra value is provided.

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 'Create a new agent' clearly states the action (create) and resource (agent), making the purpose immediately understandable. It distinguishes from siblings like 'update_agent' or 'list_agents' by specifying creation. However, it doesn't specify what type of agent (e.g., AI agent, workspace agent) or domain, leaving some ambiguity compared to more specific descriptions.

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 doesn't mention prerequisites (e.g., needing system access), when not to use it (e.g., for updating existing agents), or refer to sibling tools like 'update_agent' or 'list_agents' for related operations. Usage is implied by the name but not explicitly stated.

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

create_api_keyC

Create a new API key

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the API key

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 burden of behavioral disclosure. 'Create a new API key' implies a write operation that likely requires specific permissions and may have side effects (e.g., generating a secret key), but the description doesn't mention authentication needs, rate limits, whether the key is immediately usable, or what happens on failure. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and easy to parse. Every word earns its place by conveying essential purpose.

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 that this is a mutation tool with no annotations, no output schema, and minimal parameter guidance, the description is incomplete. It doesn't address key contextual aspects like what the tool returns (e.g., the generated key value), error conditions, or system-specific details. For a tool that creates security credentials, this lack of information is significant.

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?

The input schema has 100% description coverage, with the single parameter 'name' documented as 'Name for the API key'. The description adds no additional semantic context beyond what the schema provides, such as naming conventions or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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 'Create a new API key' clearly states the action (create) and resource (API key), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_api_keys' or 'delete_api_key' beyond the obvious verb difference, missing an opportunity to specify what kind of API key or for what system.

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 doesn't mention prerequisites (e.g., authentication level), when not to use it (e.g., if you need to list existing keys first), or how it relates to siblings like 'list_api_keys' or 'delete_api_key'. This leaves the agent without context for decision-making.

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

create_userC

Create a new user

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesUsername for the new user
passwordYesPassword for the new user
roleNoUser role (admin, user, etc.)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Create a new user' implies a write/mutation operation but doesn't specify what happens after creation (e.g., whether the user becomes active immediately), permission requirements, potential side effects, or error conditions. This leaves significant gaps for a mutation tool.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential information without redundancy.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what the tool returns (e.g., user ID, success confirmation), error handling, or system context. The agent lacks crucial information about how to interpret results or handle failures.

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 100%, so parameters are fully documented in the schema. The description adds no additional parameter information beyond what's in the schema (username, password, role). This meets the baseline expectation when schema coverage is complete, but doesn't provide extra context like format constraints or examples.

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 'Create a new user' clearly states the verb (create) and resource (user), making the purpose immediately understandable. It distinguishes from sibling tools like 'update_user' and 'delete_user' by specifying creation rather than modification or deletion. However, it doesn't specify what system or context this user is created in, which prevents a perfect score.

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 doesn't mention prerequisites (like admin permissions), when not to use it (e.g., for existing users), or direct alternatives like 'update_user' for modifying users. The agent must infer usage from the tool name alone.

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

create_workspaceC

Create a new workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new workspace

TDQS

C2.9/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 of behavioral disclosure. 'Create a new workspace' implies a write operation but doesn't specify what happens upon creation (e.g., default settings, permissions, or whether it's reversible). It lacks details on error conditions, rate limits, or authentication requirements, leaving significant gaps for an agent to understand the tool's 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?

The description is extremely concise with just three words, front-loading the core action and resource. There's no wasted language or unnecessary elaboration, making it efficient for quick comprehension.

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 complexity of a creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., workspace ID, success confirmation), error handling, or behavioral nuances. For a tool that likely modifies system state, more context is needed to be complete.

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?

The input schema has 100% description coverage, with the 'name' parameter clearly documented as 'Name of the new workspace'. The description doesn't add any additional meaning beyond this, such as constraints on the name (e.g., length, uniqueness) or context about other implicit parameters. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description 'Create a new workspace' clearly states the verb ('Create') and resource ('workspace'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'update_workspace' or 'get_workspace', which would require more specificity about what distinguishes creation from modification or 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., permissions needed), when not to use it (e.g., if a workspace already exists), or refer to sibling tools like 'list_workspaces' for checking existing workspaces or 'update_workspace' for modifications.

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

delete_agentC

Delete an agent

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Delete' implies a destructive, irreversible mutation, but the description doesn't specify consequences (e.g., whether associated data is removed, if deletion is permanent, or what permissions are required). For a destructive tool with zero annotation coverage, this leaves critical behavioral traits unaddressed.

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 extremely concise at three words, with zero wasted language. It's front-loaded with the core action and resource. While it may be too brief for completeness, it earns full marks for conciseness and structure efficiency.

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 destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens upon deletion, potential side effects, error conditions, or return values. Given the complexity and risk of deletion operations, more context is needed to make this tool description complete enough for safe use.

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 100% description coverage, with agentId clearly documented as 'ID of the agent to delete'. The description doesn't add any parameter details beyond this, but with full schema coverage and only one parameter, the baseline is high. No additional semantic value is needed from the description.

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 'Delete an agent' clearly states the action (delete) and resource (agent), but it's quite basic and doesn't differentiate from sibling tools like delete_api_key, delete_user, or delete_workspace. It doesn't specify what type of agent or provide any additional context about what deletion entails.

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 about when to use this tool versus alternatives. While sibling tools like list_agents and update_agent exist, the description doesn't mention prerequisites (e.g., needing an agent ID from list_agents) or warn against misuse. It's a bare statement with no contextual usage information.

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

delete_api_keyC

Delete an API key

ParametersJSON Schema
NameRequiredDescriptionDefault
keyIdYesID of the API key to delete

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 burden of behavioral disclosure. 'Delete an API key' implies a destructive, irreversible mutation, but it doesn't specify consequences (e.g., loss of access, permanent removal), authentication requirements, or error handling. This is a significant gap for a mutation tool with zero annotation coverage.

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, efficient sentence with zero waste—'Delete an API key' is front-loaded and directly conveys the core action. Every word earns its place, making it highly concise and well-structured for quick understanding.

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 tool's complexity (a destructive mutation), lack of annotations, and no output schema, the description is incomplete. It doesn't address critical aspects like what happens after deletion, error cases, or return values. For a tool that permanently removes resources, more context is needed to ensure safe and correct usage.

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?

The input schema has 100% description coverage, with 'keyId' clearly documented as 'ID of the API key to delete'. The description adds no additional parameter semantics beyond what the schema provides. According to the rules, with high schema coverage (>80%), the baseline is 3 even without param info in the 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?

The description 'Delete an API key' clearly states the action (delete) and resource (API key), making the purpose immediately understandable. It distinguishes from siblings like 'create_api_key' and 'list_api_keys' by specifying deletion. However, it doesn't explicitly mention what 'delete' entails (permanent removal vs. deactivation), keeping it from a perfect score.

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 doesn't mention prerequisites (e.g., needing an existing API key), exclusions, or comparisons to sibling tools like 'create_api_key' or 'list_api_keys'. Without such context, the agent must infer usage based on the tool name alone.

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

delete_documentC

Delete a document from a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
documentIdYesThe document ID to delete

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 burden of behavioral disclosure. While 'Delete' implies a destructive operation, the description doesn't specify critical details such as whether deletion is permanent, requires specific permissions, has confirmation prompts, or returns any output. This is a significant gap for a mutation tool with zero annotation coverage.

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, direct sentence that efficiently conveys the core action without unnecessary words. It's front-loaded with the verb 'Delete' and avoids redundancy, making it highly concise and well-structured for quick comprehension.

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 tool's destructive nature, lack of annotations, and absence of an output schema, the description is incomplete. It fails to address important contextual aspects like safety warnings, error handling, or what happens post-deletion (e.g., confirmation message). This leaves the agent under-informed for a high-stakes operation.

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?

The input schema has 100% description coverage, with clear documentation for both required parameters ('slug' and 'documentId'). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for adequate but unenhanced parameter information.

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 ('Delete') and resource ('a document from a workspace'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'delete_workspace' or 'delete_user' beyond the resource type, which is why it doesn't reach a perfect score.

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. For example, it doesn't mention prerequisites (e.g., document must exist), exclusions (e.g., cannot delete system documents), or related tools like 'list_documents' for verification. This leaves the agent with insufficient context for optimal tool selection.

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

delete_userC

Delete a user

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesID of the user to delete

TDQS

C2.9/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 of behavioral disclosure. 'Delete a user' implies a destructive, irreversible operation, but it doesn't specify permissions required, whether deletion is permanent, what happens to associated data, or error conditions. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.

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 destructive tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'delete' entails (e.g., permanent removal, soft delete), return values, or error handling. Given the complexity and risk of user deletion, more context is needed.

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

Parameters3/5

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

The input schema has 100% description coverage, with 'userId' clearly documented as 'ID of the user to delete'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

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 'Delete a user' clearly states the action (delete) and resource (user), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'delete_agent' or 'delete_workspace' beyond the resource type, so it's not a perfect 5, but it's unambiguous about what the tool does.

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 like 'update_user' or 'list_users', nor does it mention prerequisites (e.g., user must exist) or consequences. It's a bare statement with no contextual usage information.

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

delete_workspaceC

Delete a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier

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 full burden. 'Delete' implies a destructive mutation, but it doesn't disclose critical behaviors: whether deletion is permanent, requires specific permissions, affects associated data (e.g., documents, agents), or has confirmation steps. This is inadequate for a destructive operation.

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

Conciseness5/5

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

The description is extremely concise—three words—and front-loaded with the core action. There's zero waste or redundancy, making it easy to parse quickly. It's appropriately sized for a simple tool.

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 this is a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral risks, side effects, or result format. For a delete operation, more context on implications and outcomes is necessary for safe use.

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?

Schema description coverage is 100% for the single parameter 'slug', which is documented as 'The workspace slug/identifier'. The description adds no parameter information beyond the schema, but with only one well-documented parameter, the baseline is high. No compensation is needed.

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 'Delete a workspace' clearly states the action (delete) and resource (workspace), but it's very basic and doesn't differentiate from sibling tools like 'delete_agent', 'delete_api_key', or 'delete_user'. It lacks specificity about what constitutes a workspace or the scope of deletion.

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. It doesn't mention prerequisites (e.g., workspace must exist), exclusions (e.g., cannot delete if active), or related tools like 'delete_user' or 'update_workspace'. The agent must infer usage from the name alone.

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

embed_textC

Embed text directly into a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
textsYesArray of text strings to embed

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Embed text directly' implies a write operation, but there's no information about permissions required, whether this is idempotent, rate limits, what happens to existing embeddings, or the expected response format. This is inadequate for a mutation tool with zero annotation coverage.

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 extremely concise with just 5 words, front-loading the core action and target. There's zero wasted language or redundancy, making it easy to parse while conveying the essential purpose.

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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'embedding' means in this context, what format the embeddings take, whether there are size/quantity limits, or what happens after embedding. The agent would need to guess about important behavioral aspects of this write operation.

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 100%, so both parameters are documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions. It doesn't explain what a 'workspace slug' represents in context or provide examples of appropriate text content for embedding.

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 ('embed') and target ('into a workspace'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'embed_webpage' or 'process_document_url', which also involve embedding content into workspaces through different methods.

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 like 'embed_webpage' or 'process_document_url'. There's no mention of prerequisites, limitations, or appropriate contexts for direct text embedding versus other embedding methods available in the sibling tool set.

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

embed_webpageC

Embed a webpage into a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
urlYesURL of the webpage to embed

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a write operation ('embed') but doesn't disclose permissions required, whether it's idempotent, rate limits, or what happens on failure. For a tool that likely modifies workspace content, this lack of transparency 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.

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resources. Every word earns its place by conveying the essential purpose without redundancy or fluff.

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 no annotations, no output schema, and a likely mutation operation, the description is incomplete. It doesn't explain what 'embed' means operationally, what the result looks like, or error conditions. For a tool with two required parameters and potential side effects, more context is needed to guide effective use.

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 100%, so parameters 'slug' and 'url' are documented in the schema. The description adds no additional meaning beyond implying these parameters are used for embedding. Baseline is 3 since the schema handles parameter documentation adequately, but the description doesn't enhance understanding of how parameters interact.

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 'Embed a webpage into a workspace' clearly states the action (embed) and target resources (webpage, workspace). It distinguishes from sibling tools like 'embed_text' by specifying webpage vs. text, but doesn't fully differentiate from 'process_document_url' which might have overlapping functionality. The purpose is specific but could be more precise about what 'embed' entails.

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 like 'embed_text' or 'process_document_url'. The description lacks context about prerequisites, such as whether the workspace must exist or if authentication is needed. It simply states what it does without indicating appropriate scenarios or exclusions.

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

get_chat_historyC

Get chat history for a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
limitNoMaximum number of chats to return

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 burden of behavioral disclosure. It states the tool retrieves chat history but doesn't describe what 'chat history' includes (e.g., messages, timestamps, users), whether it's paginated, rate-limited, or requires specific permissions. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence earns its place, and there's no redundancy or fluff.

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 tool's complexity (a read operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the return value includes (e.g., list of chats, metadata), potential errors, or behavioral constraints. For adequate context, it should provide more details about the output and usage scenarios.

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?

The input schema has 100% description coverage, with 'slug' and 'limit' clearly documented in the schema. The description adds no additional meaning about parameters beyond implying a workspace context for 'slug'. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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') and resource ('chat history for a workspace'), making the purpose immediately understandable. It distinguishes this from siblings like 'chat_with_workspace' (interactive chat) and 'clear_chat_history' (deletion), though it doesn't explicitly mention these distinctions. The description is specific but lacks explicit sibling differentiation for a perfect score.

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 doesn't mention prerequisites (e.g., needing a valid workspace slug), exclusions, or related tools like 'search_workspace' for filtered queries. Usage is implied by the name and purpose, but no explicit context or alternatives are provided.

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

get_document_vectorsC

Get vector embeddings for a document

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
documentIdYesID of the document

TDQS

C2.9/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 of behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information on permissions required, rate limits, whether it's idempotent, what the output format looks like (e.g., vector dimensions, metadata), or error conditions. For a tool that retrieves embeddings—a potentially compute-intensive operation—this lack of behavioral context 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.

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple retrieval tool and front-loaded with the core action. Every word earns its place, making it easy to parse quickly.

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 complexity (retrieving embeddings likely involves computational resources) and the absence of both annotations and an output schema, the description is incomplete. It doesn't explain what 'vector embeddings' entail (e.g., model used, dimensionality), return format, or any behavioral constraints. For a tool with no structured safety or output documentation, the description should provide more context to compensate.

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?

The input schema has 100% description coverage, with clear documentation for both 'slug' and 'documentId'. The description adds no additional parameter semantics beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline score is 3 even with no param info in the description, which applies here.

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 'Get vector embeddings for a document' clearly states the action ('Get') and resource ('vector embeddings for a document'), making the purpose immediately understandable. It distinguishes from siblings like 'embed_text' (which embeds text strings) and 'list_documents' (which lists documents), though it doesn't explicitly mention this differentiation. The description is specific but lacks explicit sibling comparison.

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 doesn't mention prerequisites (e.g., needing a document to exist), exclusions, or comparisons to similar tools like 'embed_text' or 'search_workspace'. The agent must infer usage from the tool name and parameters alone, which is insufficient for optimal selection.

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

get_system_infoC

Get general system information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 burden. It implies a read-only operation ('Get'), but doesn't disclose behavioral traits such as authentication requirements, rate limits, or what 'general system information' includes (e.g., performance metrics, configuration details). This leaves significant gaps for an agent to understand how to use it effectively.

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, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying the essential purpose.

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 complexity (a read operation with no parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'general system information' entails or what the return values might be, which is crucial for an agent to interpret results. This gap makes it inadequate for full contextual understanding.

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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's appropriate here. A baseline of 4 is assigned as it adequately handles the lack of parameters without introducing confusion.

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 'Get general system information' states what the tool does with a clear verb ('Get') and resource ('system information'), but it's vague about what specific information is retrieved. It doesn't distinguish from siblings like 'get_system_settings' or 'get_system_stats', which suggests similar purposes but potentially different scopes.

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. With siblings like 'get_system_settings' and 'get_system_stats', there's no indication of what makes this tool unique or when it should be preferred, leaving usage context unclear.

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

get_system_settingsC

Get system settings

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.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 full burden. 'Get' implies a read operation, but it doesn't disclose behavioral traits like authentication needs, rate limits, or what 'system settings' encompasses. The description is minimal and lacks essential context for safe invocation.

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 description is extremely concise with 'Get system settings', but it's under-specified rather than efficiently structured. While brief, it fails to provide necessary context, making it feel incomplete 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?

Given the tool's simplicity (0 parameters, no output schema), the description is incomplete. It lacks details on what 'system settings' includes, how it differs from sibling tools, or behavioral aspects. Without annotations or output schema, more context is needed for adequate understanding.

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 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but this is acceptable given the absence of parameters, aligning with the baseline score for zero-parameter tools.

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 'Get system settings' is a tautology that restates the tool name without adding specificity. It mentions the verb 'Get' and resource 'system settings' but doesn't distinguish what type of settings or differentiate from sibling tools like 'get_system_info' or 'get_system_stats'.

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?

No guidance is provided about when to use this tool versus alternatives. With siblings like 'get_system_info', 'get_system_stats', and 'get_workspace_settings', the description offers no context on appropriate use cases or exclusions.

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

get_system_statsC

Get system statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden. It only states the action without disclosing behavioral traits such as required permissions, rate limits, response format, or whether it's a read-only operation. This leaves critical gaps for safe and effective use.

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 extremely concise with a single, front-loaded sentence: 'Get system statistics.' It wastes no words and directly communicates the core purpose without unnecessary elaboration.

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 complexity (a read operation with no parameters but no output schema) and lack of annotations, the description is incomplete. It doesn't explain what statistics are returned, their format, or any behavioral context, making it inadequate for informed tool invocation.

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

Parameters4/5

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

With 0 parameters and 100% schema description coverage, the input schema fully documents that no parameters are needed. The description doesn't add parameter details, but this is acceptable as there are no parameters to explain, aligning with the baseline for zero parameters.

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 'Get system statistics' clearly states the verb ('Get') and resource ('system statistics'), but it's vague about what specific statistics are included. It doesn't distinguish from siblings like 'get_system_info' or 'get_system_settings', leaving ambiguity about scope.

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. With siblings like 'get_system_info' and 'get_system_settings', the description lacks any context about differences, prerequisites, or appropriate scenarios for selection.

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

get_vector_database_infoC

Get vector database configuration

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it 'gets' configuration without disclosing behavioral traits. It doesn't mention if this is read-only, requires permissions, has rate limits, or what the response includes (e.g., format, data types), leaving significant gaps for a tool that likely returns system-level info.

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, efficient sentence with no wasted words, front-loading the key action and resource. It's appropriately sized for a simple tool with no parameters, making it easy to scan and understand quickly.

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 no annotations and no output schema, the description is incomplete for a configuration retrieval tool. It doesn't explain what 'configuration' entails (e.g., settings, status, details) or the return format, leaving the agent unsure of what to expect, which is inadequate for this context.

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 0 parameters with 100% schema description coverage, so no parameter info is needed. The description doesn't add param details, but this is appropriate as there are none to document, aligning with the baseline for zero parameters.

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 'Get vector database configuration' clearly states the action (get) and resource (vector database configuration), making the purpose understandable. However, it doesn't differentiate from siblings like 'get_system_info' or 'get_system_settings' that also retrieve configuration data, leaving ambiguity about scope.

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 like 'get_system_info' or 'update_vector_database'. The description lacks context on prerequisites, timing, or exclusions, offering no help for selection among similar tools.

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

get_workspaceC

Get details of a specific workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier

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 burden of behavioral disclosure. 'Get details' implies a read-only operation, but the description doesn't specify authentication requirements, rate limits, error conditions, or what 'details' encompasses (e.g., metadata, settings, or content). For a tool with no annotation coverage, this leaves significant gaps in understanding its 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('Get details'), making it easy to parse. Every part of the sentence contributes meaning, achieving ideal conciseness for a simple tool.

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 tool's simplicity (1 parameter, no output schema, no annotations), the description is minimal but incomplete. It lacks context on what 'details' include, error handling, or usage compared to siblings. While concise, it doesn't provide enough information for an agent to fully understand the tool's behavior and application in context.

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?

The input schema has 100% description coverage, with the 'slug' parameter clearly documented. The description doesn't add any semantic details beyond what the schema provides (e.g., format examples or where to find the slug). According to the rules, with high schema coverage, the baseline is 3 even without param info in the description, which fits here.

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 ('Get') and resource ('details of a specific workspace'), making the purpose unambiguous. It distinguishes from sibling tools like 'list_workspaces' (which lists multiple) and 'get_workspace_settings' (which focuses on settings), though it doesn't explicitly name these alternatives. The description is specific but could be more precise about what 'details' includes.

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 doesn't mention prerequisites (e.g., needing a workspace slug), when-not-to-use scenarios (e.g., for listing all workspaces), or refer to sibling tools like 'list_workspaces' or 'search_workspace'. The agent must infer usage from the tool name and schema alone.

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

get_workspace_settingsC

Get settings for a specific workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier

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 of behavioral disclosure. It states this is a 'get' operation, implying it's read-only and non-destructive, but doesn't confirm this explicitly or describe other behaviors like error handling, authentication needs, rate limits, or response format. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action without unnecessary elaboration. This is an example of optimal conciseness for a simple tool.

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 tool's simplicity (1 parameter, no output schema, no annotations), the description is minimal but adequate for basic understanding. However, it lacks context about what 'settings' includes, how they differ from workspace metadata, and behavioral details. With no output schema, it doesn't describe return values, and with no annotations, it misses safety or operational context, making it incomplete for reliable agent use.

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?

The input schema has 100% description coverage, with the 'slug' parameter fully documented as 'The workspace slug/identifier'. The description doesn't add any meaning beyond this, such as explaining what a 'slug' is or providing examples. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting for parameter documentation.

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 'Get settings for a specific workspace' clearly states the action (get) and resource (workspace settings), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_workspace' (which likely retrieves workspace metadata) or 'get_system_settings' (which retrieves system-level settings), leaving ambiguity about what exactly 'settings' encompasses compared to these alternatives.

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 doesn't mention when to choose 'get_workspace_settings' over 'get_workspace' or 'get_system_settings', nor does it specify prerequisites or contexts for usage. This lack of differentiation leaves the agent to infer usage from tool names alone.

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

initialize_anythingllmC

Initialize the AnythingLLM client with API credentials

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesYour AnythingLLM API key
baseUrlNoAnythingLLM base URL (default: http://localhost:3001)

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 full burden. It states this initializes a client, implying a setup/mutation operation, but doesn't disclose behavioral traits like whether this persists credentials across sessions, what happens on re-initialization, error conditions, or authentication requirements beyond the parameters. The description is minimal and lacks operational context.

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, efficient sentence with zero waste. It's appropriately sized for a simple initialization tool and front-loads the key information. Every word earns its place.

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 no annotations and no output schema, this is a mutation tool (initialization) with incomplete context. The description doesn't explain what 'initialize' entails operationally, what the tool returns, or error handling. For a 2-parameter setup tool, it should provide more guidance on usage and effects.

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 100%, so the schema fully documents both parameters (apiKey and baseUrl). The description adds no additional meaning beyond implying these are for initialization, which is already clear from the tool name and schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('Initialize') and resource ('AnythingLLM client') with specific context ('with API credentials'). It distinguishes this as a setup/configuration tool rather than an operational tool, though it doesn't explicitly differentiate from all siblings (like 'update_system_settings' which might also involve configuration).

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, prerequisites, or sequencing. It doesn't mention if this must be called before other tools, or if it's optional when credentials are already set. No exclusions or sibling comparisons are provided.

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

invoke_agentC

Invoke an agent with input

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to invoke
inputYesInput to send to the agent

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 full burden for behavioral disclosure. 'Invoke an agent with input' hints at a non-destructive operation but lacks details on permissions, rate limits, response format, or side effects. For a tool with no annotation coverage, this is a significant gap in transparency about how it behaves 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.

Conciseness5/5

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

The description is extremely concise with a single sentence ('Invoke an agent with input'), front-loaded with the core action. There is zero waste or redundancy, making it efficiently structured despite its brevity, though this conciseness contributes to gaps in other dimensions.

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 complexity of invoking an agent, lack of annotations, no output schema, and vague purpose, the description is incomplete. It doesn't explain what 'invoke' means operationally, what the expected output is, or how it differs from sibling tools. For a tool with no structured behavioral data, this minimal description fails to provide adequate context for effective use.

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 100%, with clear parameter descriptions for 'agentId' and 'input'. The description adds no additional meaning beyond the schema, such as explaining what constitutes valid input or agent IDs. Given high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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 'Invoke an agent with input' states the basic action (invoke) and resource (agent), but is vague about what 'invoke' entails compared to siblings like 'chat_with_workspace' or 'create_agent'. It doesn't specify whether this triggers execution, returns a response, or initiates a conversation, leaving the purpose ambiguous beyond the minimal verb+resource pairing.

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. With siblings like 'chat_with_workspace' or 'create_agent', it's unclear if 'invoke_agent' is for one-off interactions, agent execution, or another purpose. There are no explicit when/when-not instructions or named alternatives, leaving usage context implied at best.

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

list_agentsB

List all available agents

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden for behavioral disclosure. 'List all available agents' implies a read-only operation but doesn't specify permissions required, pagination behavior, format of returned data, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence with zero wasted words. It's appropriately sized for a simple list tool and front-loads the essential information. Every word earns its place.

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 the tool's simplicity (zero parameters, no output schema), the description is minimally adequate. However, without annotations or output schema, it doesn't explain what 'available agents' means, what data is returned, or how results are structured. For a list operation, more context about the return format would be helpful.

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, and schema description coverage is 100% (empty schema is fully described). The description doesn't need to explain parameters, and it correctly doesn't mention any. With no parameters to document, this meets expectations for parameter semantics.

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 'List all available agents' clearly states the action (list) and resource (agents). It's specific enough to understand the tool's function, though it doesn't explicitly differentiate from sibling tools like 'get_workspace' or 'list_users' which also list resources. The purpose is unambiguous but lacks sibling distinction.

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. With sibling tools like 'get_workspace' and 'list_users' that also retrieve resources, there's no indication of context, prerequisites, or exclusions. The agent must infer usage from the tool name alone.

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

list_api_keysB

List all API keys

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden for behavioral disclosure. 'List all API keys' implies a read-only operation but doesn't specify whether it requires authentication, returns paginated results, includes metadata, or has any side effects. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential information without redundancy.

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 list operation with no parameters and no output schema, the description is minimally adequate. However, without annotations or output schema, it doesn't address what the return format looks like (e.g., array of keys, pagination, metadata). The description meets basic requirements but leaves room for improvement regarding output expectations.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the absence of inputs. The description doesn't need to compensate for any parameter gaps. A baseline of 4 is appropriate since there are no parameters to explain beyond what the schema provides.

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 'List all API keys' clearly states the verb ('List') and resource ('API keys'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'create_api_key' or 'delete_api_key', but the verb 'List' inherently distinguishes it from creation/deletion operations. The purpose is specific and unambiguous.

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

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. While the verb 'List' implies retrieval rather than mutation, there's no mention of prerequisites, permissions needed, or comparison to other list operations like 'list_users' or 'list_workspaces'. The agent must infer usage from context alone.

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

list_documentsB

List all documents in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation but doesn't describe return format, pagination, sorting, error conditions, or performance characteristics. For a tool with no annotation coverage, this leaves significant behavioral gaps.

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, clear sentence with zero wasted words. It's appropriately sized for a simple list operation and front-loads the essential information without unnecessary elaboration.

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 list tool with one parameter and no output schema, the description covers the basic purpose adequately. However, without annotations or output schema, it should ideally provide more behavioral context about what 'list all documents' returns and any limitations.

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 100%, so the schema already documents the single 'slug' parameter. The description adds no additional parameter information beyond what's in the schema, maintaining the baseline score for high schema coverage.

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 ('List') and resource ('documents in a workspace'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'search_workspace' or 'get_document_vectors', which would require more specificity about scope or filtering capabilities.

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 like 'search_workspace' or 'get_document_vectors'. There's no mention of prerequisites, limitations, or typical use cases beyond the basic functionality stated.

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

list_llm_providersB

List available LLM providers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden for behavioral disclosure. 'List available LLM providers' implies a read-only operation but doesn't specify whether this returns all providers, requires authentication, includes rate limits, or provides structured data. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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, efficient sentence that communicates the core purpose without any wasted words. It's perfectly front-loaded and appropriately sized for a simple listing operation with no parameters.

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 parameterless listing tool with no output schema, the description provides the minimum viable information about what the tool does. However, without annotations or output details, it doesn't fully address what 'available' means, what format the list returns, or how this differs from related tools. The simplicity of the operation keeps it from being inadequate, but more context would be helpful.

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 with 100% schema description coverage, so the schema already fully documents the absence of inputs. The description appropriately doesn't mention parameters, maintaining focus on the tool's purpose without redundancy. A baseline of 4 is appropriate for parameterless tools.

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 ('List') and target resource ('available LLM providers'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'list_agents' or 'list_workspaces', but the specificity of 'LLM providers' provides adequate clarity for this simple operation.

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. With siblings like 'update_llm_provider' and 'get_system_info' that might overlap in context, there's no indication of prerequisites, timing, or comparative use cases for this listing operation.

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

list_usersB

List all users in the system

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden. It states 'List all users' but doesn't disclose behavioral traits such as pagination, sorting, filtering capabilities, authentication requirements, rate limits, or what 'all users' entails (e.g., active vs. inactive). For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place by conveying essential information without redundancy.

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

Completeness2/5

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

Given the tool's simplicity (0 parameters, no output schema), the description is minimal but adequate for basic understanding. However, without annotations or output schema, it lacks details on return values, error handling, or system-specific behaviors. For a tool that might return a list of users, more context on format or limitations would be helpful, making it incomplete for optimal agent use.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. A baseline of 4 is given since the schema fully handles parameters, and the description doesn't need to compensate.

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 ('List') and resource ('all users in the system'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_workspace' or 'list_workspaces', but the specificity of 'users' provides adequate distinction. This is not tautological as it adds context beyond the tool name.

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 doesn't mention prerequisites, context for usage, or compare it to sibling tools like 'get_user' (if it existed) or 'search_workspace' for user-related queries. The agent must infer usage from the tool name alone.

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

list_workspacesB

List all available workspaces in AnythingLLM

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 of behavioral disclosure. It states it's a list operation but doesn't mention any behavioral traits such as pagination, rate limits, authentication requirements, or what 'available' means (e.g., active vs. archived workspaces). This leaves significant gaps for a tool that likely returns multiple items.

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, efficient sentence that directly states the tool's purpose with no wasted words. It's front-loaded and appropriately sized for a simple list operation, making it easy for an agent to parse quickly.

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 the tool's simplicity (0 parameters, no output schema), the description is adequate as a basic overview. However, without annotations or output schema, it fails to address behavioral aspects like return format or limitations, which are important for a list operation. This results in a minimal viable score.

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 0 parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately focuses on the tool's purpose without redundant parameter information, earning a high baseline score for this context.

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 ('List') and resource ('all available workspaces in AnythingLLM'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_workspace' or 'search_workspace', which prevents a perfect score.

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 like 'get_workspace' (for a single workspace) or 'search_workspace' (for filtered results). It lacks any context about prerequisites, timing, or exclusions, leaving the agent with minimal usage direction.

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

process_document_urlC

Process a document from a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
urlYesURL of the document to process

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 full burden but only states the action without behavioral details. It doesn't disclose whether this is a read/write operation, permission requirements, side effects, or processing behavior, which is inadequate for a tool with potential implications.

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, efficient sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 no annotations, no output schema, and a vague action like 'process', the description is incomplete. It fails to explain what processing entails, the result format, or behavioral context, leaving significant gaps for agent understanding.

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 100%, so parameters are documented in the schema. The description adds no additional meaning beyond implying 'url' is for a document, which is already clear from schema descriptions. Baseline 3 is appropriate as the schema handles parameter semantics.

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 ('process') and resource ('document from a URL'), making the purpose understandable. However, it doesn't specify what 'process' entails or differentiate from siblings like 'embed_webpage' or 'delete_document', preventing a perfect score.

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. The description lacks context about prerequisites, appropriate scenarios, or exclusions, leaving the agent without usage direction.

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

search_workspaceC

Search within a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
queryYesSearch query
limitNoMaximum number of results

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. It doesn't disclose behavioral traits such as whether this is a read-only operation, what permissions are needed, how results are returned (e.g., pagination, format), or any rate limits. 'Search' implies reading, but details are missing.

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

Conciseness5/5

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

The description is extremely concise with a single sentence 'Search within a workspace', which is front-loaded and wastes no words. It's appropriately sized for a simple tool, though this conciseness comes at the cost of 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?

Given no annotations, no output schema, and a search tool with 3 parameters, the description is incomplete. It doesn't explain what is searched, the return format, or behavioral aspects. For a tool that likely returns results, more context is needed to be fully helpful.

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 100%, so the schema already documents all parameters (slug, query, limit) with descriptions. The description adds no additional meaning beyond what the schema provides, such as search scope or result types. Baseline 3 is appropriate as the schema handles parameter documentation.

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 'Search within a workspace' states a clear verb ('Search') and resource ('workspace'), but it's vague about what exactly is being searched (e.g., documents, agents, users) and doesn't distinguish from siblings like 'get_workspace' or 'list_documents'. It provides a basic purpose but lacks specificity.

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. It doesn't mention prerequisites (e.g., workspace existence), exclusions, or compare to siblings like 'list_documents' or 'get_workspace'. The description offers no usage context.

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

update_agentC

Update an existing agent

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to update
updatesYesObject containing fields to update

TDQS

C2.7/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 of behavioral disclosure. It states it's an update operation, implying mutation, but doesn't cover permissions needed, whether changes are reversible, error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with no wasted words. It's front-loaded with the core action, making it easy to scan and understand quickly, which is ideal for 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?

Given the tool's complexity as a mutation operation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, return values, or error cases, making it insufficient for safe and effective use by an AI agent.

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 100%, with parameters 'agentId' and 'updates' clearly documented in the schema. The description doesn't add any meaning beyond this, such as examples of updatable fields or constraints, so it meets the baseline for high schema coverage without compensating value.

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 'Update an existing agent' clearly states the verb ('update') and resource ('agent'), but it's vague about what specific aspects can be updated. It doesn't differentiate from sibling tools like 'update_user' or 'update_workspace' beyond the resource name, nor does it specify what fields are updatable.

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. It doesn't mention prerequisites (e.g., needing an existing agent ID), exclusions, or comparisons to siblings like 'create_agent' or 'delete_agent', leaving the agent to infer usage from context alone.

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

update_llm_providerC

Update LLM provider configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesProvider name (openai, anthropic, etc.)
apiKeyNoAPI key for the provider
modelNoModel to use

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but it doesn't specify whether this requires admin permissions, if changes are persistent or reversible, what happens to existing configurations, or potential side effects. For a configuration tool with zero annotation coverage, this leaves critical behavioral aspects unclear.

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, efficient sentence with zero wasted words. It's appropriately sized for a simple update operation and front-loads the essential information. Every word earns its place.

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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what 'configuration' entails beyond the parameters, what the update affects (e.g., default model, authentication), or what success/failure looks like. Given the complexity of updating provider settings, more context is needed for the agent to use this tool effectively.

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 100%, with clear descriptions for all three parameters (provider, apiKey, model). The description adds no additional parameter semantics beyond what's in the schema, such as format examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description 'Update LLM provider configuration' clearly states the action (update) and resource (LLM provider configuration), which is better than a tautology. However, it doesn't specify what aspects of configuration are updated or distinguish this tool from sibling tools like 'update_system_settings' or 'update_workspace_settings' that might also involve configuration changes.

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. There's no mention of prerequisites (e.g., needing existing provider setup), exclusions, or comparisons to related tools like 'list_llm_providers' or 'update_system_settings'. The agent must infer usage from the name alone.

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

update_system_settingsC

Update system settings

ParametersJSON Schema
NameRequiredDescriptionDefault
settingsYesSettings object to update

TDQS

C2/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers none. It doesn't mention whether this requires admin permissions, if changes are reversible, what happens to unspecified settings, potential side effects, or any rate limits. For a system-level mutation tool, this lack of behavioral information is critically inadequate.

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 extremely concise at just two words. While this represents severe under-specification rather than ideal conciseness, according to the scoring rules, it's not penalized for being too brief. Every word earns its place, and there's no redundant information.

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?

For a system-level mutation tool with no annotations, no output schema, and complex nested parameters, the description is completely inadequate. It doesn't explain what system settings are, what can be updated, the expected response format, or any behavioral characteristics. The description fails to provide the necessary context for safe and effective tool invocation.

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?

The description adds no parameter information beyond what the schema provides. However, with 100% schema description coverage (the 'settings' parameter has a description), the baseline is 3. The description doesn't compensate with additional details about the structure or content of the settings object.

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 'Update system settings' is a tautology that essentially restates the tool name 'update_system_settings'. While it clearly indicates a write operation on system settings, it doesn't specify what kind of settings or what aspects can be updated, nor does it differentiate from sibling tools like 'update_workspace_settings' or 'update_agent'.

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 absolutely no guidance about when to use this tool versus alternatives. There's no mention of prerequisites, appropriate contexts, or comparisons to sibling tools like 'get_system_settings' (for reading) or other update tools for different resource types.

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

update_userC

Update an existing user

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesID of the user to update
updatesYesObject containing fields to update

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose required permissions, whether updates are reversible, what fields can be modified, error conditions, or side effects. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for the tool's complexity, making it easy to parse quickly.

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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as what fields are updatable, authentication requirements, success/error responses, and how it differs from sibling update tools. The high schema coverage doesn't compensate for these behavioral gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters ('userId' and 'updates'). The description adds no additional meaning beyond implying these parameters exist, matching the baseline for high schema coverage. It doesn't clarify the structure of 'updates' or provide examples.

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 ('Update') and target resource ('an existing user'), which is specific and unambiguous. However, it doesn't differentiate this tool from sibling tools like 'update_agent' or 'update_workspace' beyond the resource name, missing explicit distinction about what makes user updates unique.

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 doesn't mention prerequisites (e.g., needing an existing user ID), compare to 'create_user' for new users, or specify scenarios where user updates are appropriate versus other update tools like 'update_workspace_settings'.

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

update_vector_databaseC

Update vector database configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesVector database provider
configYesConfiguration object for the provider

TDQS

C2.7/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 of behavioral disclosure. It states 'update' which implies a mutation operation, but doesn't describe what happens during the update (e.g., whether it overwrites existing configuration, merges with existing settings, or requires specific permissions). No information about side effects, error conditions, or response format is provided.

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 extremely concise at just three words, with zero wasted language. It's front-loaded with the essential information (verb + resource) and contains no unnecessary elaboration.

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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, what happens on success/failure, or provide any context about the update operation's scope or limitations. The agent would need to guess about important behavioral aspects.

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?

The schema description coverage is 100%, so the schema already documents both parameters ('provider' and 'config') adequately. The description adds no additional meaning beyond what the schema provides about parameter purpose or usage, meeting the baseline for high schema coverage.

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 the action ('update') and resource ('vector database configuration'), which gives a basic understanding of purpose. However, it lacks specificity about what aspects of configuration can be updated and doesn't differentiate from sibling tools like 'update_system_settings' or 'update_workspace_settings' that might also involve configuration changes.

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 doesn't mention prerequisites, appropriate contexts, or exclusions, leaving the agent to infer usage from the tool name alone without any explicit direction.

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

update_workspaceC

Update an existing workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
updatesYesObject containing fields to update

TDQS

C2.9/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 of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't disclose what permissions are required, whether the update is reversible, what happens to unspecified fields, or any rate limits or constraints. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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 extremely concise at just three words ('Update an existing workspace'), which efficiently communicates the core purpose without any wasted language. It's appropriately sized for a straightforward update operation.

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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what fields can be updated in the 'updates' object, what the response looks like, or any error conditions. Given the complexity of updating a workspace and the lack of structured behavioral information, the description should provide more context about the operation's scope and 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?

The schema description coverage is 100%, with both parameters ('slug' and 'updates') having clear descriptions in the schema. The tool description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline expectation but doesn't provide extra 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?

The description clearly states the verb ('Update') and resource ('an existing workspace'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar sibling tools like 'update_workspace_settings' or 'update_agent', which would require more specific language about what exactly gets updated in a workspace.

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. With sibling tools like 'update_workspace_settings' and 'get_workspace' available, there's no indication whether this is for general workspace metadata updates versus specific settings, or what prerequisites might be needed before calling this tool.

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

update_workspace_settingsC

Update settings for a specific workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe workspace slug/identifier
settingsYesSettings object to update

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't mention permission requirements, whether changes are reversible, what happens to unspecified settings, or potential side effects. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for a straightforward update operation and front-loads the essential 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?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what settings can be updated, what the response looks like, or potential error conditions. Given the complexity of workspace settings and the lack of structured documentation, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('slug' and 'settings'). The description adds no additional meaning about parameter usage, format expectations, or constraints beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.

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 ('Update') and target resource ('settings for a specific workspace'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'update_workspace' or 'update_system_settings', but the focus on 'settings' provides some distinction.

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 like 'update_workspace' (which might update workspace metadata) or 'update_system_settings' (which affects system-wide settings). There's no mention of prerequisites, constraints, or typical use cases.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 38 tool updatesv1.0.0
    • First observedchat_with_workspace
    • First observedclear_chat_history
    • First observedcreate_agent
    • First observedcreate_api_key
    • First observedcreate_user
    • First observedcreate_workspace
    • First observeddelete_agent
    • First observeddelete_api_key
    • First observeddelete_document
    • First observeddelete_user
    • First observeddelete_workspace
    • First observedembed_text
    • First observedembed_webpage
    • First observedget_chat_history
    • First observedget_document_vectors
    • First observedget_system_info
    • First observedget_system_settings
    • First observedget_system_stats
    • First observedget_vector_database_info
    • First observedget_workspace
    • First observedget_workspace_settings
    • First observedinitialize_anythingllm
    • First observedinvoke_agent
    • First observedlist_agents
    • First observedlist_api_keys
    • First observedlist_documents
    • First observedlist_llm_providers
    • First observedlist_users
    • First observedlist_workspaces
    • First observedprocess_document_url
    • First observedsearch_workspace
    • First observedupdate_agent
    • First observedupdate_llm_provider
    • First observedupdate_system_settings
    • First observedupdate_user
    • First observedupdate_vector_database
    • First observedupdate_workspace
    • First observedupdate_workspace_settings

TDQS

B3/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific resources (e.g., workspaces, agents, users) and actions (CRUD operations). However, some potential overlap exists between workspace/document embedding tools (embed_text, embed_webpage, process_document_url) and between various 'get_' information tools (system_info, system_stats, vector_database_info), which could cause minor confusion.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case exclusively. Examples include create_workspace, delete_user, update_agent, list_documents, get_system_info, and embed_text. This predictability makes the toolset easy to navigate and understand.

Tool Count3/5

With 38 tools, the count feels heavy for a single server, bordering on excessive. While the domain (AnythingLLM management) is broad, many tools could potentially be consolidated (e.g., multiple embedding methods) or grouped into subservers. This may overwhelm agents with choice complexity.

Completeness5/5

The toolset provides comprehensive coverage for the AnythingLLM domain, including full CRUD operations for core resources (workspaces, agents, users, documents), system configuration (settings, LLM providers, vector database), workspace interactions (chat, search, embedding), and administrative functions. No obvious gaps are present for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    MCP server for AnythingLLM that enables AI document chat platform interaction with tools for workspaces, chat, documents, threads, and system operations.
    17
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables interaction with an Airbyte instance through natural language, supporting workspaces, sources, destinations, connections, jobs, logs, tags, streams, and connector definitions.
    36
    4
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP-compatible clients to interact with AnythingLLM, providing tools for workspace management, chat and thread operations, document operations, vector search, and system inspection.
    34
    6
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raqueljezweb/anythingllm-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server