Skip to main content
Glama

Anam MCP Server

Official MCP (Model Context Protocol) server for Anam AI - manage AI personas, avatars, voices, and sessions directly from Claude or any MCP client.

Installation

uvx anam-mcp

Using pip

pip install anam-mcp

Related MCP server: Arcanna Input MCP Server

Configuration

Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "anam": {
      "command": "uvx",
      "args": ["anam-mcp"],
      "env": {
        "ANAM_API_KEY": "<your-api-key>"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "anam": {
      "type": "stdio",
      "command": "uvx",
      "args": ["anam-mcp"],
      "env": {
        "ANAM_API_KEY": "<your-api-key>"
      }
    }
  }
}

Getting Your API Key

  1. Sign up at Anam Lab

  2. Navigate to the API Keys page

  3. Click "Create API key" and save it securely

Available Tools

Persona Management

Tool

Description

list_personas

List all personas in your account

get_persona

Get details of a specific persona

create_persona

Create a new persona with avatar, voice, and personality

update_persona

Update an existing persona

delete_persona

Delete a persona

Avatar Management

Tool

Description

list_avatars

List all available avatars

search_avatars

Search avatars by name or description

get_avatar

Get details of a specific avatar

create_avatar

Create custom avatar from image (enterprise/pro)

update_avatar

Update an avatar's metadata

delete_avatar

Delete a custom avatar

Voice Management

Tool

Description

list_voices

List all available voices (400+ in 50+ languages)

search_voices

Search voices by name, language, or gender

get_voice

Get details of a specific voice

create_voice

Create a custom voice

update_voice

Update a voice's metadata

delete_voice

Delete a custom voice

Tool Management

Tool

Description

list_tools

List all tools in your organization

get_tool

Get details of a specific tool

create_webhook_tool

Create a webhook tool for API integrations

create_knowledge_tool

Create a knowledge/RAG tool

update_tool

Update a tool's configuration

delete_tool

Delete a tool

Session Management

Tool

Description

create_session_token

Generate a session token for the client SDK

list_sessions

List all sessions with optional filters

get_session

Get details of a specific session

get_session_recording

Download a session recording

Knowledge Folders

Tool

Description

list_knowledge_folders

List knowledge folders

get_knowledge_folder

Get details of a specific folder

create_knowledge_folder

Create a new folder for documents

update_knowledge_folder

Update a folder's metadata

delete_knowledge_folder

Delete a knowledge folder

search_knowledge_folder

Search within a knowledge folder

Knowledge Documents

Tool

Description

list_knowledge_documents

List documents in a folder

get_knowledge_document

Get details of a specific document

upload_knowledge_document

Upload a document to a folder

update_knowledge_document

Update document metadata

delete_knowledge_document

Delete a document

get_knowledge_document_download

Download a document

LLM Management

Tool

Description

list_llms

List all LLM configurations

get_llm

Get details of a specific LLM

create_llm

Create a new LLM configuration

update_llm

Update an LLM configuration

delete_llm

Delete an LLM configuration

Tool

Description

list_share_links

List all share links

get_share_link

Get details of a specific share link

create_share_link

Create a share link for a persona

update_share_link

Update a share link

delete_share_link

Delete a share link

Text-to-Avatar (Early Access)

Internal Testing - This feature is in early access. Contact support@anam.ai for access.

Tool

Description

generate_avatar_video

Generate an MP4 video of an avatar speaking a script

Meeting Avatars (Recall Integration)

Add AI avatars to video meetings (Zoom, Google Meet, Microsoft Teams). Requires a Recall AI API key.

Tool

Description

add_avatar_to_meeting

Add an Anam avatar to a video meeting

get_meeting_bot_status

Check the status of a meeting bot

remove_avatar_from_meeting

Remove an avatar from a meeting

list_meeting_bots

List all active meeting bots

Configuration: Set RECALL_API_KEY environment variable alongside your ANAM_API_KEY.

Example Usage

Once configured, you can ask Claude:

  • "List all my Anam personas"

  • "Create a new persona named 'Sales Assistant' with a friendly personality"

  • "What avatars are available?"

  • "Generate a session token for my customer support persona"

  • "Add an avatar to my Google Meet call at meet.google.com/abc-defg-hij"

Default IDs

For quick testing, you can use these default IDs:

Resource

ID

Avatar (Cara)

30fa96d0-26c4-4e55-94a0-517025942e18

Voice (Cara)

6bfbe25a-979d-40f3-a92b-5394170af54b

Default LLM

0934d97d-0c3a-4f33-91b0-5e136a0ef466

Environment Variables

Variable

Description

Default

ANAM_API_KEY

Your Anam API key (required)

-

ANAM_API_URL

API base URL (for staging)

https://api.anam.ai

RECALL_API_KEY

Recall AI API key (for meeting avatars)

-

MEET_PAGE_URL

Avatar meet page URL

https://meet.anam.ai

TEXT_TO_AVATAR_URL

Text-to-avatar service URL (early access)

https://anam-org--text-to-avatar-api.modal.run

Documentation

License

MIT License - see LICENSE for details.

Available Tools

54 tools
add_avatar_to_meetingA

Add an Anam avatar to a video meeting (Zoom, Google Meet, Teams).

Creates an ephemeral session and deploys a Recall bot that shows the avatar as its camera feed. The avatar can hear and respond to meeting participants.

Args: meeting_url: Video conference URL (e.g., https://meet.google.com/abc-defg-hij) avatar_id: Anam avatar ID. Use search_avatars to find one. voice_id: Anam voice ID. Use search_voices to find one. system_prompt: Instructions for the avatar's personality and behavior. bot_name: Name shown in the meeting participant list (default: "Anam Avatar") llm_id: Optional LLM ID. Defaults to GPT-4o-mini. avatar_model: Avatar model ("cara-2" or "cara-3", default: cara-3)

Returns: Bot ID and status information

ParametersJSON Schema
NameRequiredDescriptionDefault
meeting_urlYes
avatar_idYes
voice_idYes
system_promptYes
bot_nameNoAnam Avatar
llm_idNo
avatar_modelNocara-3

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses creating an ephemeral session, deploying a Recall bot, and the avatar's ability to hear and respond. It mentions defaults for bot_name, llm_id, and avatar_model. It does not mention costs, rate limits, permissions, or session duration, but is fairly transparent.

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 concise and well-structured, with a short summary followed by a clear Args list and a returns line. Every sentence is useful, and the information is front-loaded.

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

Completeness4/5

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

Given the complexity (7 parameters, 4 required) and the presence of an output schema, the description is fairly complete. It explains the tool's purpose, parameter details, and behavior. However, it could mention lifecycle or how to remove the avatar (e.g., using sibling tool), which would improve completeness.

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

Parameters5/5

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

Schema description coverage is 0%, so the description compensates by explaining all seven parameters in the Args section, including meeting_url with example, avatar_id and voice_id with search tips, system_prompt for behavior, and defaults for optional parameters. This adds significant meaning beyond the schema types.

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

Purpose5/5

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

The description clearly states 'Add an Anam avatar to a video meeting (Zoom, Google Meet, Teams)', specifying the verb (add), resource (Anam avatar), and context (video meeting). It distinguishes from siblings like 'remove_avatar_from_meeting' and other creation tools.

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

Usage Guidelines4/5

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

The description implicitly guides usage by explaining that the tool creates an ephemeral session and deploys a Recall bot that shows the avatar as camera feed. It mentions using 'search_avatars' and 'search_voices' to find IDs, providing context. However, it does not explicitly state when not to use or provide exclusions.

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

create_avatarA

Create a custom avatar from an image URL.

Note: This feature is only available for enterprise and pro plans.

Args: name: Display name for the avatar image_url: URL of the image to use

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
image_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

The description adds a plan restriction note but otherwise only repeats the basic action. With no annotations, more behavioral context (e.g., required permissions, side effects, rate limits) would improve transparency, though the core operation is straightforward.

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

Conciseness4/5

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

The description is concise, using a note for important context and a bullet list for parameters. It avoids redundancy and is well-organized, though the structure could be slightly more formal.

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

Completeness4/5

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

Given the presence of an output schema and the simple nature of the tool, the description is reasonably complete. It covers the purpose, plan limitation, and parameters. It could mention return value or error cases, but these are not critical for 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 description provides brief but clear explanations for both parameters ('name: Display name for the avatar', 'image_url: URL of the image to use'), which compensates for the 0% schema coverage. It adds meaning beyond the raw schema properties, though constraints like URL format or name length are missing.

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

Purpose5/5

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

The description clearly states the tool's function: creating a custom avatar from an image URL. It is distinct from sibling tools like delete_avatar or update_avatar, leaving no ambiguity about the primary action.

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 lacks guidance on when to use this tool versus alternatives. It only mentions a plan restriction (enterprise/pro) but does not compare with other avatar-related tools like add_avatar_to_meeting or update_avatar, leaving the agent to infer context.

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

create_knowledge_folderB

Create a new knowledge folder for documents.

After creating, upload documents via Anam Lab UI or API.

Args: name: Folder name (e.g., "Product Documentation") description: Optional description

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states the action and a follow-up step, but omits key details such as whether creation is idempotent, required permissions, or error conditions. This minimal disclosure fails to compensate for the lack of annotations.

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 concise with three sentences plus a bullet list of parameters. Each sentence contributes: purpose, follow-up instructions, and parameter details. No extraneous information is present, making it efficient for an agent to parse.

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

Completeness4/5

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

Given the presence of an output schema and the simplicity of creating a folder, the description is mostly complete. It covers the creation action and subsequent document uploads. One missing aspect is naming constraints or uniqueness rules, but for a basic CRUD tool, it is adequate.

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

Parameters3/5

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

Schema description coverage is 0%, so the description adds value by providing examples and clarifying the description parameter as optional. However, it does not elaborate on constraints like uniqueness or allowed characters. The added context is helpful but not comprehensive.

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

Purpose5/5

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

The description clearly states 'Create a new knowledge folder for documents,' providing a specific verb and resource. It distinguishes from sibling tools like create_knowledge_tool by focusing on folders rather than tools. The additional step of uploading documents after creation further clarifies its role.

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 only implies usage by mentioning document uploads afterward, but it does not explicitly state when to use this tool versus alternatives like create_knowledge_tool. No when-not or exclusion criteria are given, leaving the agent with insufficient guidance for tool selection.

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

create_knowledge_toolA

Create a knowledge tool for RAG (document search).

Args: name: Tool name in snake_case (e.g., "search_product_docs") description: When the LLM should use this tool folder_ids: List of knowledge folder UUIDs to search

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
folder_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states 'create' without detailing side effects, required permissions, idempotency, or uniqueness constraints. For a creation tool, more context is needed to avoid misuse.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose, followed by a compact arg list. Every sentence serves a purpose, though structuring the args more formally could improve readability.

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 creation tool with no annotations and an output schema, the description covers the core inputs but omits return value details, limits, or potential errors. It is adequate but leaves gaps for an agent.

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 0%, so the description must explain parameters. It does so: name format (snake_case), description purpose (when to use), and folder_ids (list of UUIDs). This meaningfully augments the schema's bare types.

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

Purpose5/5

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

The description clearly states 'Create a knowledge tool for RAG (document search),' specifying the verb (create) and resource (knowledge tool) with its purpose (RAG/document search). This distinguishes it from sibling tools like create_webhook_tool or create_llm.

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

Usage Guidelines3/5

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

The description includes a note on the 'description' parameter ('When the LLM should use this tool'), which provides implicit guidance on when the resulting tool will be used, but lacks explicit instructions on when to use this creation tool versus alternatives (e.g., update_tool) or prerequisites (e.g., needing existing knowledge folders).

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

create_llmB

Create a custom LLM configuration.

Args: name: Display name for the LLM provider: LLM provider (e.g., "openai", "anthropic") model: Model name (e.g., "gpt-4", "claude-3") api_key: API key for the provider base_url: Custom base URL (for self-hosted models) temperature: Sampling temperature max_tokens: Maximum output tokens

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
providerYes
modelYes
api_keyNo
base_urlNo
temperatureNo
max_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It states the tool creates a configuration but does not mention side effects, idempotency, error behavior, or any constraints beyond parameter descriptions. The description merely repeats parameter info without adding behavioral context.

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

Conciseness4/5

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

The description is concise with a single introductory sentence and a documented list of args. It is front-loaded with the purpose. The list could be more compact, but it is clear and well-structured.

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

Completeness3/5

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

The description covers all 7 parameters with basic explanations, which is adequate for a creation tool. However, it lacks context on error cases, uniqueness constraints, or return value format (though an output schema exists). Behavioral aspects like idempotency are missing, making it moderately complete.

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% schema description coverage, the description adds meaning to all parameters (e.g., 'Display name for the LLM', 'Custom base URL'). However, some explanations are minimal (e.g., 'Sampling temperature' lacks range or default). Overall, it compensates well for the missing schema descriptions.

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

Purpose5/5

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

The description clearly states the action 'Create' and the resource 'custom LLM configuration'. It distinguishes from sibling tools like 'update_llm' and other 'create_*' tools that create different entity types (e.g., avatar, persona).

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 implies that the tool is used to create an LLM configuration but provides no explicit guidance on when to use it versus alternatives (e.g., update_llm, other creation tools). There are no when-not-to-use conditions or examples.

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

create_personaA

Create a new Anam persona with specified avatar, voice, and personality.

Args: name: Display name for the persona (e.g., "Customer Support Agent") avatar_id: UUID of the avatar. Use list_avatars or search_avatars to find one. voice_id: UUID of the voice. Use list_voices or search_voices to find one. system_prompt: Instructions defining the persona's personality and behavior. llm_id: UUID of the LLM. Defaults to Anam's standard LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
avatar_idYes
voice_idYes
system_promptYes
llm_idNo0934d97d-0c3a-4f33-91b0-5e136a0ef466

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as side effects, required permissions, rate limits, or confirmation. It only lists parameters without discussing behavior beyond creation.

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 concise with one introductory sentence followed by a structured bullet list for arguments, front-loading the purpose and providing necessary details without redundancy.

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

Completeness4/5

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

Given the existence of an output schema and the description's thorough parameter explanations, it is mostly complete. However, it lacks mention of default behavior or prerequisites beyond finding IDs.

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

Parameters5/5

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

With 0% schema description coverage, the description adds substantial meaning by explaining each parameter with examples and references to sibling tools (e.g., 'Use list_avatars or search_avatars to find one'), greatly aiding the agent.

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

Purpose5/5

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

The description clearly states the action ('Create') and resource ('a new Anam persona'), and it distinguishes from sibling tools like create_avatar and create_voice by specifying the persona components (avatar, voice, personality).

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

Usage Guidelines3/5

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

The description implies a workflow by referencing list_avatars and list_voices to find IDs, but it does not explicitly state when to use this tool versus alternatives like update_persona or when not to use it.

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

create_session_tokenA

Create a session token for the Anam client SDK.

Use EITHER persona_id (for saved personas) OR individual config fields (ephemeral).

Args: persona_id: UUID of a saved persona (recommended for production) name: Persona name (ephemeral mode) avatar_id: Avatar UUID (ephemeral). Use search_avatars to find one. voice_id: Voice UUID (ephemeral). Use search_voices to find one. system_prompt: Personality instructions (ephemeral) llm_id: LLM UUID (ephemeral, defaults to GPT-4o-mini) avatar_model: Avatar model ("cara-2" or "cara-3", default: cara-3) max_session_length_seconds: Session timeout skip_greeting: Skip the initial greeting (default: False)

ParametersJSON Schema
NameRequiredDescriptionDefault
persona_idNo
nameNo
avatar_idNo
voice_idNo
system_promptNo
llm_idNo
avatar_modelNocara-3
max_session_length_secondsNo
skip_greetingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description fully covers behavioral aspects: it explains the two creation modes, lists defaults (e.g., avatar_model defaults to cara-3, llm_id defaults to GPT-4o-mini), and notes optional parameters. It could mention that the token is used for client SDK authentication, but the current level is adequate.

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 concise and well-structured: a one-sentence purpose, a usage note, then a clear Args list. Each sentence adds value without redundancy. It is front-loaded with the core action and mode distinction.

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

Completeness4/5

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

For a tool with 9 optional parameters and an output schema, the description covers all parameters, explains their roles, and notes defaults. However, it does not mention constraints like max length for system_prompt or enums for avatar_model (it lists two options inline). Still, the completeness is high.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must add meaning for parameters. It does so thoroughly with an Args section explaining each parameter, its purpose in ephemeral mode, and providing defaults (e.g., 'ephemeral, defaults to GPT-4o-mini'). This far exceeds the raw schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Create a session token for the Anam client SDK.' It specifies the verb (create), resource (session token), and context (for Anam client SDK). It distinguishes between two modes (persona_id vs individual config fields), which helps the agent understand the two usage scenarios.

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

Usage Guidelines5/5

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

The description explicitly advises when to use each parameter set: 'Use EITHER persona_id (for saved personas) OR individual config fields (ephemeral).' It recommends persona_id for production and references sibling tools search_avatars and search_voices for finding appropriate IDs. This provides clear guidance on tool usage.

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

create_voiceB

Create a custom voice configuration.

Args: display_name: Display name for the voice provider: Voice provider (e.g., "cartesia", "elevenlabs") provider_voice_id: The voice ID from the provider gender: Gender of the voice ("MALE" or "FEMALE") country: Country code (e.g., "US", "GB") description: Optional description

ParametersJSON Schema
NameRequiredDescriptionDefault
display_nameYes
providerYes
provider_voice_idYes
genderNo
countryNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only states the action and lists parameters, but does not disclose behavioral traits such as permissions needed, whether it overwrites existing voices, what happens on duplicate provider_voice_id, or what the response contains (despite an output schema existing).

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

Conciseness4/5

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

The description is concise and front-loaded with the main action. The 'Args:' formatting is a Python convention that may add unnecessary structure for an MCP description, but it remains clear and efficient. Every sentence contributes value.

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 no annotations, low schema coverage, and the presence of an output schema (which is not explained), the description covers the basic action and parameters but lacks return value description, behavior on duplicates, and when to use other voice-related siblings. It is minimally complete for a simple creation tool but leaves 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 0%, so the description must compensate. It provides brief explanations for each parameter (e.g., 'Display name for the voice', 'Voice provider (e.g., "cartesia", "elevenlabs")'), adding meaning beyond the schema's titles. However, it lacks format constraints or allowed values beyond the examples, making it adequate but not detailed.

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

Purpose5/5

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

The description clearly states 'Create a custom voice configuration' with a specific verb ('Create') and resource ('voice configuration'). It distinguishes itself from sibling tools like 'update_voice', 'delete_voice', and 'search_voices' by the action word.

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

Usage Guidelines3/5

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

The description implies usage (when you need to create a new voice) but provides no explicit guidance on when to use this tool versus alternatives (e.g., update_voice for modifications, search_voices for retrieval). No exclusions or prerequisites are mentioned.

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

create_webhook_toolA

Create a webhook tool for personas to call external APIs.

Args: name: Tool name in snake_case (e.g., "check_order_status") description: When the LLM should call this tool. Be specific. url: The HTTP endpoint to call method: HTTP method (GET, POST, PUT, PATCH, DELETE) await_response: Wait for response (False for fire-and-forget)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
urlYes
methodNoPOST
await_responseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral disclosure. It identifies the operation as creation (write) but omits side effects, validation, permissions, or whether creation is synchronous. This is insufficient 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 very concise: one explanatory sentence followed by a labeled list. Every sentence is informative with no redundancy.

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

Completeness4/5

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

Given an output schema exists (not shown), the description reasonably omits return values. However, it could briefly explain what a webhook tool is in this context or how it will be invoked by personas, but overall adequate for a creation tool.

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

Parameters4/5

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

With 0% schema description coverage, the description adds substantial value by explaining each parameter's purpose, format (e.g., snake_case for name), and enumeration for method. Lacks default values or explicit constraints on url.

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

Purpose5/5

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

The description clearly states the tool creates a webhook tool for personas to call external APIs, uses a specific verb ('Create'), and targets a distinct resource ('webhook tool'), differentiating it from siblings like 'create_llm' or 'create_persona'.

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

Usage Guidelines3/5

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

The description implies usage (for external API calls by personas) but does not explicitly state when to use this tool versus alternatives (e.g., create_tool for other tool types) or provide exclusion criteria.

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

delete_avatarA

Delete a custom avatar by ID. Cannot delete stock avatars.

Args: avatar_id: The UUID of the avatar to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
avatar_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 must fully disclose behavior. It states 'Delete' (destructive) and 'Cannot delete stock avatars', but lacks details on side effects (e.g., impact on meetings), permissions, or reversibility. This is minimal disclosure 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 extremely concise with two front-loaded sentences and a clear Args section. Every word adds value, and no extraneous information is present.

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 tool with one required parameter, the description covers core purpose and constraints. However, it lacks return value details (though an output schema exists), permissions, and error handling information. Minimal but adequate.

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?

With 0% schema description coverage, the description adds 'The UUID of the avatar to delete' for the avatar_id parameter. This provides type (UUID) and context, but omits where to obtain the ID or format requirements. It is helpful but not highly detailed.

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

Purpose5/5

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

The description clearly states 'Delete a custom avatar by ID' which specifies the verb (delete) and resource (custom avatar), and distinguishes from sibling tools like update_avatar or create_avatar. The added constraint 'Cannot delete stock avatars' further clarifies the tool's scope.

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

Usage Guidelines4/5

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

The description explicitly says 'Cannot delete stock avatars', indicating when not to use the tool. While it does not mention alternative tools for deletion (since there is no sibling delete avatar tool), the negative condition provides clear usage guidance.

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

delete_knowledge_documentB

Delete a knowledge document by ID.

Args: document_id: The UUID of the document to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

The description indicates deletion but provides no details on side effects, like whether associated resources are affected, or if the operation is idempotent. No annotations exist to fill this gap.

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

Conciseness4/5

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

The description is very short and to the point, with no unnecessary words. However, it could be slightly more concise while still adding critical 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 simple one-parameter delete operation, the description lacks behavioral context such as idempotency, error handling, or return value. An output schema exists, but its content is not described.

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 only defines document_id as a string with no description, resulting in 0% schema coverage. The tool description adds that it should be a UUID, providing minimal semantic value beyond the schema.

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

Purpose5/5

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

The description clearly states the action ('Delete') and the resource ('knowledge document'), with the identifier method ('by ID'). It is distinct from sibling tools like delete_avatar or delete_knowledge_group.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as other delete operations or update_knowledge_document. No prerequisites or restrictions are mentioned.

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

delete_knowledge_groupA

Delete a knowledge group by ID. This will also delete all documents in the group.

Args: group_id: The UUID of the knowledge group to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses a key behavioral trait: deleting a group also deletes all documents in it (cascading delete). Since no annotations are provided, the description carries the full burden, and it meets expectations for a delete tool, though it could mention irreversibility or required permissions.

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 very concise with two sentences plus a parameter explanation. Every word adds value, and the key information is front-loaded.

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

Completeness4/5

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

The description covers the main action and cascading effect. Given the single parameter and existence of an output schema, it is fairly complete. However, it could mention error conditions or confirmation behavior for a delete operation.

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 schema has 0% description coverage, with only type and title for group_id. The description's Args section adds the crucial detail that group_id is 'The UUID of the knowledge group to delete,' which clarifies its purpose beyond the schema.

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

Purpose5/5

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

The description clearly states the action: delete a knowledge group by ID, and explicitly notes that it cascades to delete all documents in the group. This distinguishes it from siblings like delete_knowledge_document and update_knowledge_group.

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

Usage Guidelines3/5

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

The description implies usage when you want to delete a knowledge group, but does not provide explicit guidance on when to use this tool vs alternatives (e.g., delete_knowledge_document) or mention any prerequisites or caveats.

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

delete_llmB

Delete an LLM by ID.

Args: llm_id: The UUID of the LLM to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
llm_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It does not disclose whether the deletion is permanent, whether it cascades to related entities, or any authentication/authorization requirements. Critical behavioral details are omitted.

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

Conciseness4/5

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

The description is extremely concise and front-loaded with the purpose. It could benefit from a brief note on irreversibility or side effects, but it is efficient for a simple delete.

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 a single parameter and an output schema present, the description covers the basic operation but lacks insights into return values or error conditions. It is minimally adequate but leaves behavioral gaps.

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 description adds meaning by specifying that llm_id is a UUID and that it identifies the LLM to delete. With 0% schema parameter descriptions, this clarification is valuable.

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

Purpose5/5

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

The description clearly states the action (Delete) and the resource (LLM), and specifies the required parameter llm_id. It effectively distinguishes from siblings like create_llm, get_llm, list_llms, and update_llm.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., deleting via a batch operation or soft delete options). No context about prerequisites or prohibitions.

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

delete_personaA

Delete a persona by ID. This action cannot be undone.

Args: persona_id: The UUID of the persona to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
persona_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the disclosure that the action cannot be undone adds critical behavioral context, though it does not cover potential side effects like cascading deletions.

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 two short sentences that front-load the primary action, leaving no unnecessary information.

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

Completeness5/5

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

For a single-parameter delete tool with an output schema, the description is complete enough; it covers the core action and irreversibility without needing elaboration.

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 context by identifying persona_id as a UUID and its purpose, but with 0% schema coverage, more detail about constraints (e.g., UUID format) would be beneficial.

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

Purpose5/5

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

The description clearly states the verb 'Delete' and the resource 'persona', distinguishing it from sibling tools like create_persona and update_persona.

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

Usage Guidelines3/5

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

The description mentions irreversibility but does not explicitly state when to use this tool versus alternatives, such as when to delete vs. update a persona.

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

delete_toolC

Delete a tool by ID.

Args: tool_id: The UUID of the tool to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden of behavioral disclosure. It states the destructive action ('delete') but omits side effects, permission requirements, reversibility, or error behavior. This is insufficient for safe operation.

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

Conciseness4/5

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

The description is very concise with two lines, front-loading the action. Every word earns its place, but the extreme brevity sacrifices completeness. It is efficient yet arguably under-specified.

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 delete operation with one parameter, the description covers the basic action. However, it does not explain return values (despite an output schema existing) or error states. Given the context, it is minimally complete but could benefit from more detail.

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?

With 0% schema description coverage, the description partially compensates by stating 'The UUID of the tool to delete' for the sole parameter 'tool_id'. This adds meaning beyond the schema's type-only definition but remains minimal without format or constraints.

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 'Delete a tool by ID,' specifying the verb (delete) and resource (tool). While it explicitly distinguishes from sibling delete tools like 'delete_avatar', it lacks additional detail to differentiate further. The purpose is clear but minimally stated.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus other delete operations or alternatives. There is no mention of prerequisites, conditions, or exclusions. The agent is left without context for appropriate invocation.

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

delete_voiceB

Delete a voice by ID.

Args: voice_id: The UUID of the voice to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
voice_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

Does not disclose whether deletion is permanent, reversible, or requires specific permissions; no annotations compensate for this lack of information.

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

Conciseness4/5

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

The description is brief and to the point, with a clear structure, but the args section could be integrated more concisely to reduce 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?

Lacks important behavioral details such as idempotency, error handling, or response format; output schema exists but description does not leverage it.

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?

With schema description coverage at 0%, the description adds that voice_id is a UUID and its purpose, but lacks details on format constraints or allowed values.

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

Purpose5/5

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

The description clearly states the action (delete) and the resource (voice by ID), distinguishing it from sibling tools like create_voice, update_voice, get_voice, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool, no mention of prerequisites, alternatives, or when not to use it.

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

generate_avatar_videoA

Generate an avatar video from a text script.

INTERNAL TESTING ONLY - This feature is in early access. Contact support@anam.ai for access.

Creates an MP4 video of an avatar speaking the provided script. The video generation runs asynchronously and may take 30-120 seconds depending on script length.

Args: script: The text for the avatar to speak persona_id: Use a saved persona (provide this OR avatar_id + voice_id) avatar_id: Avatar ID for ephemeral session (requires voice_id) voice_id: Voice ID for ephemeral session (requires avatar_id) avatar_model: Avatar model to use (default: cara-3) poll_interval: Seconds between status checks (default: 3.0) max_wait: Maximum seconds to wait for completion (default: 600.0)

Stock Avatars (use with voice_id): Female: - Liv: 071b0286-4cce-4808-bee2-e642f1062de3 - Mia: edf6fdcb-acab-44b8-b974-ded72665ee26 - Sophie: 6dbc1e47-7768-403e-878a-94d7fcc3677b - Bella: dc9aa3e1-32f2-499e-9921-ecabac1076fc - Julia: edcb8f1a-334f-4cdb-871c-5c513db806a7 - Anne: 27e12daa-50fc-4384-93c2-ebca73f1f78d - Layla: ae2ea8c1-db28-47e3-b6ea-493e4ed3c554 Male: - Gabriel: 6cc28442-cccd-42a8-b6e4-24b7210a09c5 - Finn: 8a339c9f-0666-46bd-ab27-e90acd0409dc - Hunter: ecfb2ddb-80ec-4526-88a7-299a4738957c - Kevin: ccf00c0e-7302-455b-ace2-057e0cf58127 - Richard: 19d18eb0-5346-4d50-a77f-26b3723ed79d - William: 81b70170-2e80-4e4b-a6fb-e04ac110dc4b

Recommended Voices: Female: Jessica - b138c2a2-ba66-4887-95d5-1a57093fc92d Male: Adam - e54745c7-9439-44c3-b61a-193b42cce5bd

Returns: Download URL for the generated video, or error message

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYes
persona_idNo
avatar_idNo
voice_idNo
avatar_modelNocara-3
poll_intervalNo
max_waitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Without annotations, the description details asynchronous processing (30-120 seconds), polling parameters, and return value (download URL/error). It lacks permissions or side effects but covers key behavioral aspects adequately.

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

Conciseness4/5

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

The description is well-structured with headings, lists, and front-loaded purpose. It is lengthier than minimal but each sentence adds value given the parameter complexity.

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

Completeness4/5

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

Given 7 parameters, required script only, and no formal output schema, the description covers inputs, async behavior, and return. It misses explicit permissions but is otherwise complete for a generative video tool.

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

Parameters5/5

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

With 0% schema coverage, the description compensates fully by explaining each parameter's role, mutual exclusivity, defaults, and providing concrete stock avatar/voice IDs. This adds meaning beyond the schema.

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

Purpose5/5

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

The description clearly states it generates an avatar video from a text script, creating an MP4. It distinguishes from sibling tools focusing on avatar creation or meetings, as it specifically generates video content.

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

Usage Guidelines4/5

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

The description provides context on when to use (for video generation) and includes internal testing note with support contact. It guides parameter usage (persona_id vs avatar_id+voice_id) but does not explicitly compare to alternative sibling tools.

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

get_avatarB

Get details of a specific avatar by ID.

Args: avatar_id: The UUID of the avatar to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
avatar_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only states 'Get details' and parameter info. It does not explicitly confirm read-only nature, mention required permissions, or describe side effects. The return format is also not mentioned.

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

Conciseness4/5

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

The description is brief at one sentence plus an Args section. It is well-structured and avoids fluff, though the Args list duplicates schema information, which could be considered redundant but not harmful.

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 tool with one required parameter and an output schema, the description is adequate but leaves gaps. It does not explain what the output contains or any usage constraints, though the output schema partially compensates.

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

Parameters2/5

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

The schema has 0% description coverage, and the description only adds 'The UUID of the avatar to retrieve', which minimally clarifies the parameter beyond the schema's type and title. It could include format constraints or examples.

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

Purpose5/5

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

The description clearly states 'Get details of a specific avatar by ID' with a specific verb and resource. It distinguishes itself from sibling tools like 'list_avatars' and 'search_avatars' by focusing on a single avatar retrieval.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'list_avatars' for fetching all avatars or 'search_avatars' for filtering. The agent is left without context on selecting this tool.

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

get_knowledge_documentA

Get details of a specific knowledge document by ID.

Args: document_id: The UUID of the document to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or error conditions. The verb 'Get' implies a read operation, but additional context is 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 two sentences, front-loading the purpose and parameter. No wasted words.

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

Completeness4/5

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

Given the simple nature of the tool (retrieve by ID) and the existence of an output schema, the description is mostly complete. However, it could briefly mention that the document must exist or that it returns details.

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 0%, but the description adds a meaningful explanation of the parameter (UUID of the document to retrieve), which compensates for the lack of schema details.

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

Purpose5/5

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

The description clearly states the action (get details) and resource (a specific knowledge document by ID), distinguishing it from siblings like list_knowledge_documents and get_knowledge_document_download.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool or alternatives, but the purpose is clear enough that an agent can infer usage when needing details of a specific document by ID.

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

get_knowledge_document_downloadC

Get download URL for a knowledge document.

Args: document_id: The UUID of the document

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action without mentioning side effects, read-only nature, error cases, or authentication needs. This is insufficient.

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

Conciseness4/5

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

The description is very concise (two sentences) and front-loaded. However, the brevity sacrifices completeness, which is a trade-off. Still, it earns high marks for structure.

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 a single parameter, the description is too sparse. It omits behavioral details like return value format (though output schema exists) and prerequisites. More context is needed.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning. It merely repeats the parameter name and type ('document_id: The UUID of the document'), adding no format constraints or context beyond the schema.

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

Purpose5/5

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

The description clearly states 'Get download URL for a knowledge document,' which is a specific verb-resource pair. Among siblings like get_knowledge_document or upload_knowledge_document, this tool's purpose is distinct 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?

No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or contexts mentioned. The description lacks any usage direction.

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

get_knowledge_groupA

Get details of a specific knowledge group by ID.

Args: group_id: The UUID of the knowledge group to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states 'Get details' implying a read operation, but does not mention error handling, permissions, rate limits, or side effects. This is minimal for a 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.

Conciseness4/5

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

The description is concise, using one sentence and an Args list. It avoids unnecessary detail. The structure is clear, though the Args section could be integrated more naturally. No wasted words.

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

Completeness4/5

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

The tool has an output schema, so return values are defined elsewhere. The description adequately explains the input parameter and purpose. For a simple retrieval tool with one parameter, this is sufficient, though it could mention that the group_id is required (already in schema).

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 no parameter descriptions, but the description includes 'group_id: The UUID of the knowledge group to retrieve' in the Args section, adding meaning beyond the schema. It specifies the expected format (UUID) and purpose, compensating for the 0% schema coverage.

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

Purpose5/5

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

The description clearly states 'Get details of a specific knowledge group by ID', specifying the verb (get), resource (knowledge group), and identifier (by ID). This distinguishes it from siblings like 'search_knowledge_group' (search) and 'update_knowledge_group' (update).

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 does not mention prerequisites, context, or when not to use it. For a simple retrieval tool, some context could be provided about the necessity of having the group ID beforehand.

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

get_llmB

Get details of a specific LLM by ID.

Args: llm_id: The UUID of the LLM to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
llm_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Get details' but does not disclose that this is a read-only operation, nor does it describe error behavior (e.g., what happens if the ID does not exist). The presence of an output schema partially compensates, but the description itself lacks behavioral 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 exceptionally concise: two sentences and a single argument line. Every part is essential, with no redundant information. It is efficiently front-loaded with the action and resource.

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 (single parameter, one required field) and the existence of an output schema, the description is minimally adequate. However, it lacks contextual elements such as error handling, prerequisites, or typical usage patterns, which would be helpful for a complete 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?

The schema has 0% description coverage, so the description must add meaning. It explains the 'llm_id' parameter as 'The UUID of the LLM to retrieve', which adds context beyond the schema's type-only definition. However, it does not specify format constraints or additional details, making it adequate but not highly informative.

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

Purpose5/5

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

The description clearly states the tool's action ('Get details') and the resource ('specific LLM by ID'). It directly distinguishes from sibling tools like 'list_llms' (list) and 'create_llm' (create), making its purpose unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It neither mentions when not to use it nor suggests other tools for different scenarios. Given the large set of sibling tools, this omission hinders correct selection.

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

get_meeting_bot_statusA

Check the status of a Recall meeting bot.

Args: bot_id: The Recall bot ID returned by add_avatar_to_meeting

Returns: Bot status including meeting URL, join status, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description fully bears the responsibility. It indicates a read-only operation ('Check status') and outlines the return fields (meeting URL, join status, etc.), but lacks details on error handling, rate limits, or what happens if the bot_id is invalid.

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 two introductory sentences and a clear Args/Returns structure. Every sentence adds value, and the core purpose is front-loaded in the first sentence.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema present, so the description is adequate but not comprehensive. It mentions return fields vaguely ('etc.'), and could specify more about the output schema details for full completeness.

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% coverage, and the description provides crucial context for the sole parameter 'bot_id' by specifying it is 'returned by add_avatar_to_meeting', which adds meaning beyond the schema's bare 'string' type.

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

Purpose5/5

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

The description clearly states the verb 'Check' and the resource 'status of a Recall meeting bot', distinguishing it from sibling tools like 'list_meeting_bots' (which lists all bots) and 'add_avatar_to_meeting' (which creates a bot).

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

Usage Guidelines3/5

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

The description mentions that 'bot_id' is returned by 'add_avatar_to_meeting', implying typical usage after creating a bot, but it does not explicitly state when not to use this tool or suggest alternatives like 'list_meeting_bots' for multiple bots.

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

get_personaA

Get details of a specific persona by ID.

Args: persona_id: The UUID of the persona to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
persona_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description must cover behavior. It only says 'Get details' with no mention of error handling (missing ID), permissions, or idempotency, leaving significant 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?

Two short sentences, front-loaded with purpose, no unnecessary words.

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

Completeness3/5

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

Tool is simple with one param and output schema exists. Description is minimally adequate but lacks info on return value, errors, or edge cases.

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 has 0% description coverage, but description adds 'The UUID of the persona to retrieve', clarifying format (UUID) beyond schema's plain 'string' type.

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

Purpose5/5

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

Description clearly states 'Get details of a specific persona by ID', specifying verb (get) and resource (persona by ID), distinct from siblings like list_personas.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives mentioned. Usage is implied (when you have an ID), but no guidance against using for listing or comparison with list_personas.

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

get_sessionA

Get details of a specific session by ID.

Args: session_id: The UUID of the session to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only, error responses, or rate limits. It only repeats the parameter info from the schema.

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

Conciseness4/5

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

The description is short and front-loaded with the main purpose. It is concise, though lacking a structured breakdown of returns or usage notes.

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

Completeness3/5

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

The tool has a simple interface with one parameter and an output schema. The description covers the basic purpose and parameter, but lacks behavioral context. An output schema is present, so return values need not be described.

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 schema has 0% description coverage, but the description adds semantic meaning to the parameter 'session_id' by calling it 'The UUID of the session to retrieve', which goes beyond the schema's type-only definition.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'session', and specifies identification by ID. This distinguishes it from sibling tools like list_sessions and other get_* tools.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives. It only describes what it does, leaving the agent to infer usage from context and sibling names.

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

get_session_recordingB

Get recording information for a session.

Args: session_id: The UUID of the session

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description only states 'Get recording information', implying a read operation, but does not disclose any additional behavioral traits such as permissions, data format, or limitations.

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?

Extremely concise with two sentences; no wasted words. The structure is direct and front-loaded with the main purpose.

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?

Adequate for a simple retrieval tool with one parameter and an output schema. However, missing context about what 'recording information' includes (e.g., metadata, URL) could lead to incomplete 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?

The description includes 'session_id: The UUID of the session', adding that it expects a UUID format, which is not in the schema. However, schema coverage is 0% and the description only slightly enhances understanding.

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

Purpose5/5

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

The description clearly states 'Get recording information for a session', using a specific verb and resource. It distinguishes itself from sibling tools like 'get_session' by specifying 'recording information'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives. The description does not mention prerequisites or context for selection.

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

get_toolA

Get details of a specific tool by ID.

Args: tool_id: The UUID of the tool to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

The verb 'Get' implies a read-only operation with no side effects. Although annotations are absent, the description is consistent with a safe retrieval. No contradictions.

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?

Extremely concise: two sentences, each earning its place. The purpose is front-loaded and clear.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to detail return values. It covers the essential input. Minor omission of error conditions, but adequate for basic retrieval.

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 single parameter 'tool_id' is described as 'The UUID of the tool to retrieve', adding format and purpose beyond the schema's just 'Tool Id'. This compensates for 0% schema coverage.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'tool', and the scope 'by ID'. It distinguishes from sibling tools like list_tools (list all) and delete_tool (delete).

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. However, the context of 'get_tool' vs siblings like list_tools makes usage implied. No alternatives mentioned.

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

get_voiceA

Get details of a specific voice by ID.

Args: voice_id: The UUID of the voice to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
voice_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 states 'get details' which implies a read operation, but it does not explicitly disclose that the tool is non-destructive, has no side effects, or require specific auth. More transparency would be beneficial.

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 two sentences. It front-loads the purpose and provides the parameter explanation in a structured 'Args:' format. No extraneous information.

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

Completeness5/5

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

For a simple tool with one required parameter and an existing output schema, the description adequately explains the input and the action. It is sufficiently complete given the tool's low complexity.

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% description coverage, but the description adds meaning by specifying that voice_id is 'The UUID of the voice to retrieve.' This clarifies the expected format beyond the schema's type and title.

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

Purpose5/5

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

The description clearly states the tool retrieves details for a specific voice by ID, which distinguishes it from siblings like list_voices (listing all) and search_voices (searching). The verb 'get' and resource 'voice by ID' are specific.

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

Usage Guidelines3/5

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

The description implies usage when you have a voice_id and need its details, but it does not explicitly mention when not to use it or compare to alternatives such as list_voices or search_voices. The guidance is basic.

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

list_avatarsA

List all available avatars.

Returns a formatted summary of avatars with IDs, names, variants, and type (stock/custom).

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses pagination behavior and return format but lacks details on permissions, rate limits, or whether results are global or user-scoped. The described defaults differ from schema defaults (null vs 1/100), which may confuse an agent.

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

Conciseness4/5

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

The description is succinct with a purpose sentence and parameter details. It is front-loaded and easy to parse. Could be slightly more concise but is well-structured.

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

Completeness4/5

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

Given the complexity (paginated list) and presence of an output schema, the description adequately covers the tool's function and parameters. It differentiates from siblings and mentions return fields, but omits potential constraints like maximum per_page.

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 coverage is 0%, but the description provides defaults and meaning for both parameters ('Page number (default: 1)', 'Items per page (default: 100)'). This adds value beyond the schema, though the discrepancy with schema defaults (null) is a minor issue.

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

Purpose5/5

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

The description clearly states the tool lists all available avatars and mentions the return format (IDs, names, variants, type). It differentiates from siblings like 'search_avatars' and 'get_avatar' by implying a full list rather than a filtered search or single retrieval.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'search_avatars'. The description implies a full listing but does not explicitly state the context or exclusions.

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

list_knowledge_documentsA

List all documents in a knowledge group.

Args: group_id: The UUID of the knowledge group page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It describes a read operation (list) without explicit read-only hint, and mentions pagination parameters. However, it omits details like maximum per_page, sorting order, or any rate limits, which would be helpful for a list endpoint.

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: one sentence followed by parameter documentation. Every element earns its place, with no redundancy or fluff. It adheres to a clear docstring pattern.

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

Completeness4/5

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

Given it is a list operation with pagination and an output schema exists, the description covers the essentials: what it does, required parameter, and optional pagination. It could be more complete by mentioning any ordering, visibility rules, or pagination limits, but remains adequate for most use cases.

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 coverage is 0%, yet the description explains all three parameters: group_id (required UUID), page (default 1), and per_page (default 100). It adds default values not present in the schema (which defaults to null), giving meaningful context. Could be improved by noting UUID format or allowed ranges.

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

Purpose5/5

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

The description clearly states 'List all documents in a knowledge group,' using a specific verb (list) and resource (documents) with scope (in a knowledge group). It distinguishes from siblings like get_knowledge_document (single document) and search_knowledge_group (search).

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

Usage Guidelines3/5

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

The description implies usage for listing documents in a group but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many siblings. The purpose is clear, but the agent receives no decision support.

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

list_knowledge_foldersA

List all knowledge folders in your organization.

Knowledge folders contain documents for RAG capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so the description carries the full burden. It accurately describes a read-only list operation with no hidden behaviors. Missing pagination or rate limit details, but not egregious for a simple listing.

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

Conciseness5/5

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

Two concise sentences that front-load the action and provide context. No unnecessary words.

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

Completeness4/5

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

With no parameters and an output schema available, the description is sufficient. It explains what folders are used for (RAG capabilities), which adds useful context. Minor omission of return value structure is offset by output schema.

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?

No parameters exist, so the description does not need to add parameter info. Schema coverage is 100%, baseline for 0 parameters is 4. No additional value required.

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

Purpose5/5

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

The description clearly states the verb 'List all knowledge folders' and the resource 'in your organization', with a brief explanation of what knowledge folders contain. This is specific and distinct from sibling tools.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives like create_knowledge_folder or delete_knowledge_folder. The context is clear but lacks exclusion criteria or sibling differentiation.

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

list_llmsB

List all available LLMs.

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'List all available LLMs' and repeats parameter names, failing to disclose any behavioral traits such as pagination behavior, rate limits, or what happens if there are no results.

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

Conciseness4/5

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

The description is short and to the point, but includes 'Args:' section which is slightly beyond pure conciseness. Overall, it is efficient without wasted words.

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

Completeness3/5

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

Given the simple two-parameter input and existence of an output schema, the description is minimally adequate. However, it lacks details on pagination, sorting, or authentication, which would be helpful for a complete 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?

The schema has 0% description coverage, but the description adds minimal context by stating default values and parameter names (page, per_page). This adds some meaning beyond the schema, but not enough to fully compensate.

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

Purpose5/5

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

The description clearly states 'List all available LLMs' with a specific verb and resource. It distinguishes itself from sibling tools like create_llm, get_llm, and update_llm, which perform different actions on LLMs.

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 other list operations (e.g., list_avatars, list_sessions) or alternatives like search_llm. The description lacks context for appropriate usage.

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

list_meeting_botsB

List all Recall meeting bots.

Shows recent bots including their status and meeting URLs.

Args: limit: Maximum number of bots to return (default: 20)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must fully disclose behavior. It only states it lists recent bots; missing details on read-only nature, pagination, authentication needs, and what 'recent' means. Insufficient for a tool with no annotations.

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: two lines for purpose and one line for the parameter, with no redundancy. It front-loads the key action and result.

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 optional parameter and an output schema, the description is adequate but not complete. It lacks details on ordering, handling large lists, and safety guarantees, which would be expected given no annotations.

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

Parameters3/5

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

Schema description coverage is 0%, but the description adds meaning to the 'limit' parameter by explaining it controls the maximum number of bots returned. However, it does not elaborate on format or constraints beyond the default.

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

Purpose5/5

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

The description clearly states the verb 'list' and resource 'Recall meeting bots', and specifies that it shows recent bots with status and meeting URLs. This distinguishes it from siblings like 'get_meeting_bot_status' which focuses on a single bot.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or contrast with listing other resources like sessions or avatars.

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

list_personasA

List all personas in your Anam account.

Returns a formatted summary of personas with their IDs, names, and avatars.

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

The description mentions a formatted summary and pagination parameters, but does not clarify whether it truly returns all personas or just a page, leaving a behavioral ambiguity.

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 concise and well-structured, starting with the purpose, followed by return format and arguments. No unnecessary words.

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

Completeness4/5

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

Given the tool's simplicity and the presence of an output schema, the description is fairly complete. It covers purpose, basic return structure, and parameters, though pagination behavior could be clarified.

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

Parameters3/5

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

Schema coverage is 0%, but the description adds default values for page and per_page (1 and 100). However, it does not explain how these parameters affect the result set.

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

Purpose5/5

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

The description clearly states it lists all personas, distinguishing it from create, delete, update, and get operations on personas.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like get_persona or search_avatars. Usage is implied as a listing tool.

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

list_sessionsA

List all sessions in your account.

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavior like read-only status, rate limits, or authentication needs. It only mentions pagination but does not state that the operation is safe or non-destructive.

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: one sentence for purpose, followed by a structured Args list. Every element is necessary and front-loaded.

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

Completeness4/5

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

Given an output schema exists (not shown), the description doesn't need to detail return values. It covers pagination and scope adequately, though it could mention that no filtering is available.

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% schema description coverage, the description adds essential meaning: it explains both parameters (page and per_page) with default values (1 and 100), which goes beyond the schema's type-only definition.

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

Purpose5/5

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

The description clearly states it 'List all sessions in your account' – a specific verb (list) and resource (sessions) with scope. This distinguishes it from siblings like get_session (singular) and other list tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like get_session or other list tools. It doesn't mention when not to use it or any prerequisites.

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

list_toolsA

List all tools in your organization.

Returns webhook tools, knowledge tools, and client tools that can be attached to personas.

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions what types of tools are returned but does not state whether it's read-only, pagination behavior beyond parameter defaults, or any other side effects. The defaults stated in the description (page=1, per_page=100) conflict with the schema defaults (null), creating inconsistency.

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, using only two paragraphs (one for purpose, one for parameters). It front-loads the action and return type. Every sentence is necessary.

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

Completeness4/5

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

Given the tool's simplicity (two optional params, no required params, output schema present), the description covers the basics: what is returned and parameter defaults. It lacks details like ordering, total count, or error behavior, but is fairly complete for a straightforward list 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 0%, so the description must compensate. It adds meaning by providing parameter defaults (page: 1, per_page: 100) and naming the parameters in context. However, no explanation of these parameters' effect beyond basic numerics, and the defaults conflict with schema null defaults.

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

Purpose5/5

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

The description clearly states 'List all tools in your organization' and specifies the types of tools returned (webhook, knowledge, client). This distinguishes it from sibling tools like get_tool (single tool) and other list_* tools that list 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 Guidelines3/5

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

The description implies usage for listing tools but does not provide explicit guidance on when to use this tool versus alternatives like search_tools or get_tool. No 'when not to use' or alternative mention.

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

list_voicesB

List all available voices.

Returns a formatted summary of voices with IDs, names, and languages. Over 400 voices available in 50+ languages.

Args: page: Page number (default: 1) per_page: Items per page (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description partially fills the gap by mentioning default parameter values and the scale (400+ voices). However, it lacks details on pagination behavior, error handling, or response structure beyond basic summary.

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

Conciseness4/5

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

The description is concise, front-loads the main action, and uses a simple structure with an Args section. It is efficient without unnecessary words.

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

Completeness4/5

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

Given the tool's simplicity and presence of an output schema, the description covers the essential purpose, parameters, and return summary. It is complete enough for a straightforward list operation.

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?

Despite 0% schema description coverage, the description adds meaning by specifying page and per_page with default values (1 and 100). This is helpful and goes beyond the schema's bare type definitions.

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 'List all available voices' and specifies it returns IDs, names, and languages, providing a concise purpose. It distinguishes from sibling tools like search_voices by implying no filtering, but does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like search_voices. There is no mention of use cases, prerequisites, or when not to use it.

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

remove_avatar_from_meetingA

Remove an avatar from a video meeting.

Makes the Recall bot leave the meeting gracefully.

Args: bot_id: The Recall bot ID returned by add_avatar_to_meeting

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

Without annotations, the description carries full burden for behavioral disclosure. It only states that the bot leaves 'gracefully', which is vague. It does not mention whether this action is destructive, irreversible, or if it has side effects (e.g., deleting recorded data). No mention of required permissions or rate limits.

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: two sentences and a parameter line. It front-loads the purpose in the first sentence, and every word adds value. No fluff or 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?

Given this simple tool with one parameter and an output schema, the description covers the essential action. However, it does not mention what happens after removal (e.g., can the bot be re-added? Is the bot destroyed?). While the output schema may provide return info, the description feels minimal for full completeness.

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

Parameters5/5

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

The input schema has 0% description coverage, but the description provides crucial context: 'The Recall bot ID returned by add_avatar_to_meeting'. This tells the agent exactly where to get the parameter and implies it is a required identifier. This fully compensates for the schema's lack of description.

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

Purpose5/5

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

The description clearly states the verb 'Remove' and the resource 'avatar from a video meeting'. It also explains that it makes the Recall bot leave gracefully, which is a specific and unambiguous purpose. This distinguishes it from sibling tools like add_avatar_to_meeting and get_meeting_bot_status.

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

Usage Guidelines3/5

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

The description implies that this tool should be used after add_avatar_to_meeting, as the bot_id comes from that call. However, it does not explicitly state when to use this tool vs alternatives, nor does it provide conditions like 'only use if the bot is currently in a meeting' or mention the consequences of calling it without an active bot.

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

search_avatarsA

Search avatars by name.

Fetches all avatars and filters by name match. Use this to find avatars like "Cara", "Mia", "Gabriel", etc.

Args: query: Name to search for (case-insensitive, partial match) stock_only: If True, only return stock avatars (not custom)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
stock_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the read behavior (fetch all then filter), case-insensitive partial matching, and the effect of stock_only. It does not detail pagination or performance implications, but the core behavior is well explained.

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 concise with a clear purpose statement, a brief behavior explanation, and a structured Args section. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given the tool's simplicity (2 parameters, output schema present), the description covers the purpose, parameters with semantics, and the core filtering behavior. It is complete for an AI agent to understand and invoke correctly.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides detailed explanations for both parameters: query as case-insensitive partial match, stock_only as filtering custom avatars. This adds significant value beyond the schema's type-only information.

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

Purpose5/5

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

The description clearly states 'Search avatars by name' and explains it fetches and filters avatars. It distinguishes from siblings like list_avatars (which likely lists all without filtering) and search_voices (different resource).

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

Usage Guidelines4/5

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

The description gives examples of when to use ('find avatars like Cara, Mia, Gabriel') but does not explicitly mention when not to use or alternatives like list_avatars. The guidance is clear but not exhaustive.

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

search_knowledge_groupC

Search within a knowledge group for relevant documents.

Args: group_id: The UUID of the knowledge group to search query: Search query limit: Maximum number of results

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
queryYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states the basic operation without details on whether the search is read-only, what aspects are searched (title, content, metadata), required permissions, or result ranking. The presence of an output schema is not referenced, leaving return value behavior unclear.

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

Conciseness4/5

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

The description is short and front-loads the main purpose. However, the Args section repeats parameter types already in the schema; it could be omitted or integrated more concisely. Overall, it is efficient but not perfectly lean.

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 existence of an output schema, the description still lacks details on return values and search behavior (e.g., whether results are ranked, pagination). With no annotations and many sibling tools, more context (e.g., when to use search vs list) is needed for completeness.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. The Args section adds basic parameter explanations, but they are minimal—e.g., query format and limit default behavior are not elaborated. For a search tool with only 3 parameters, this offers little beyond what an annotated schema would provide.

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

Purpose5/5

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

The description clearly states the action 'Search' and the resource 'within a knowledge group for relevant documents.' It distinguishes itself from sibling search tools (e.g., search_avatars, search_voices) by specifying the knowledge group context, and from list_knowledge_documents by implying a query-based search.

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. For example, it does not mention that list_knowledge_documents should be used to retrieve all documents without a query, or that search_avatars is for avatar searches. The description assumes the agent knows the context without explicit direction.

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

search_voicesA

Search voices by name, country, or gender.

Fetches all voices and filters by the specified criteria.

Args: query: Name to search for (case-insensitive, partial match) country: Country code to filter by (e.g., "US", "GB", "FR", "DE", "PT") gender: Gender to filter by ("MALE" or "FEMALE")

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
countryNo
genderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses read-only behavior, case-insensitive partial matching for query, and country code examples. However, it lacks details on pagination or result limits, which could affect agent decisions.

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

Conciseness5/5

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

Two short introductory sentences followed by a concise args list. No redundant or vague wording. Every sentence provides value. Front-loaded with purpose, then details.

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

Completeness5/5

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

Given 3 optional parameters, an output schema for return type, and no required parameters, the description covers all essential aspects: what the tool does, how to filter, and expected behavior. No critical gaps.

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

Parameters5/5

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

Input schema has 0% description coverage, making description essential. It adds specifics: query is case-insensitive partial match, country includes examples (US, GB, FR, DE, PT), gender is MALE or FEMALE. This is significantly more informative than the schema alone.

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

Purpose5/5

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

The description clearly states 'Search voices by name, country, or gender' and explains it fetches all voices and filters. This distinguishes it from siblings like list_voices (which likely returns all without filtering).

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

Usage Guidelines3/5

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

The description implies use when filtering voices by query, country, or gender but does not explicitly state when not to use it or mention alternatives. No exclusions or when-to-use guidance beyond the implicit purpose.

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

update_avatarA

Update a custom avatar. Only provide the fields you want to change.

Args: avatar_id: The UUID of the avatar to update name: New internal name display_name: New display name

ParametersJSON Schema
NameRequiredDescriptionDefault
avatar_idYes
nameNo
display_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses the partial update behavior, which is a key behavioral trait, and implies modification. However, without annotations, it lacks details on authentication needs, rate limits, or error states. The partial update disclosure is useful but incomplete.

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 very concise: two sentences plus a parameter list, front-loaded with the primary action. Every sentence adds value 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 mutation tool with 3 parameters and an output schema, the description covers input semantics but does not describe the return value or potential side effects beyond the update itself. Since output schema exists, return value detail is less critical, but additional context on success/failure behavior would be beneficial.

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 description provides parameter descriptions in the docstring: avatar_id as UUID, name as internal name, display_name as display name. Since schema description coverage is 0%, this adds essential meaning beyond the bare schema titles. However, it does not cover any edge cases or format constraints.

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

Purpose5/5

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

The description clearly states 'Update a custom avatar' and emphasizes partial updates with 'Only provide the fields you want to change.' This distinguishes it from create, get, delete, and list avatar tools among siblings.

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

Usage Guidelines3/5

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

The description implies partial update semantics ('Only provide the fields you want to change'), but does not explicitly state when to use this tool versus alternatives like create_avatar or delete_avatar, nor does it mention prerequisites or exclusion criteria.

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

update_knowledge_documentB

Update a knowledge document.

Args: document_id: The UUID of the document to update name: New document name

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description only says 'Update' without disclosing side effects, permissions, or reversibility. Minimal behavioral 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?

Extremely concise: two sentences plus bullet list, front-loaded with action verb. No unnecessary content.

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?

Basic update tool with low complexity; description covers purpose and parameters but lacks usage guidance and behavioral transparency, making it adequate but not fully 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?

With 0% schema coverage, description adds meaning by listing document_id and name, but does not elaborate on constraints or formats. Adequate for simple parameters.

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 'Update a knowledge document' with specific fields document_id and name, distinguishing it from sibling tools like create, delete, get. However, it could be more explicit about only the name being 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 on when to use this tool versus alternatives (e.g., update_knowledge_group). No context on prerequisites or exclusions.

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

update_knowledge_groupB

Update a knowledge group. Only provide the fields you want to change.

Args: group_id: The UUID of the knowledge group to update name: New name description: New description

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
nameNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool performs an update (mutation) but does not mention side effects, permissions required, error handling, or what is returned (output schema exists but is not described). The description is insufficient for an agent to understand the full behavioral 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 extremely concise: a single sentence stating the purpose, one guideline sentence, and a bullet list of parameters. No wasted words, and the most important information (verb, resource, partial update pattern) is front-loaded.

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 complexity (3 parameters, 1 required) and presence of an output schema, the description covers the basic update operation but lacks completeness. It does not mention what happens if group_id is invalid, whether the update returns the updated object, or any prerequisites. It meets the minimum but leaves gaps.

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 0%, so the description must add meaning. It explains each parameter: group_id as UUID, name as new name, description as new description. It also reinforces the partial update pattern by stating to provide only fields to change. This adds value beyond the schema titles.

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 tool updates a knowledge group, which is a specific resource. It distinguishes from sibling tools like update_avatar or update_knowledge_document by focusing on knowledge groups, but does not explicitly differentiate from them. The verb 'update' and resource 'knowledge group' are clear.

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 only says 'Only provide the fields you want to change,' which is a usage hint for partial updates. It lacks guidance on when to use this tool versus alternatives, such as when to update versus delete and recreate, or when to use get_knowledge_group first.

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

update_llmA

Update an LLM configuration. Only provide the fields you want to change.

Args: llm_id: The UUID of the LLM to update name: New display name temperature: New sampling temperature max_tokens: New maximum output tokens

ParametersJSON Schema
NameRequiredDescriptionDefault
llm_idYes
nameNo
temperatureNo
max_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

The description implies that unmentioned fields remain unchanged, but it does not detail side effects, permissions, or error conditions. Since no annotations are provided, the description carries the burden for transparency but is only partially sufficient.

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 short: two sentences plus an Args list. It front-loads the main action and usage hint, with no wasted words.

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

Completeness4/5

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

The tool has an output schema (not shown), so return values are likely documented there. The description covers the essential: action, how to update, and parameters. It is fairly complete for a simple update tool, though prerequisites and error handling are omitted.

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 description adds meaning beyond the schema by explaining the usage pattern (only provide fields to change) and briefly describes each parameter in the Args list. With 0% schema description coverage, this provides necessary context.

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

Purpose5/5

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

The description clearly states 'Update an LLM configuration' and specifies that only fields to change should be provided. This distinguishes it from creation (create_llm) and deletion (delete_llm) tools.

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

Usage Guidelines3/5

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

The description advises to provide only fields to change, which is helpful. However, it lacks explicit guidance on when to use this tool vs alternatives like create_llm or delete_llm.

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

update_personaA

Update an existing persona. Only provide the fields you want to change.

Args: persona_id: The UUID of the persona to update name: New display name avatar_id: New avatar UUID voice_id: New voice UUID system_prompt: New personality instructions llm_id: New LLM UUID

ParametersJSON Schema
NameRequiredDescriptionDefault
persona_idYes
nameNo
avatar_idNo
voice_idNo
system_promptNo
llm_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the partial update behavior ('Only provide the fields you want to change'), which adds value. However, it does not mention side effects, required permissions, or what happens to unprovided fields, limiting 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 exceptionally concise: two short sentences followed by a clean list. The main purpose is front-loaded in the first sentence, and every piece of information is relevant and non-redundant.

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

Completeness4/5

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

For a tool with 6 parameters and partial update semantics, the description is fairly complete. It covers the core behavior and parameter meanings. The existence of an output schema reduces the need to explain return values. Minor gaps include lack of error conditions or prerequisites, but overall adequate.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. The Args list gives brief explanations like 'The UUID of the persona to update' and 'New display name', which add some semantic value beyond parameter names. However, these are minimal and mostly repeat the parameter titles, providing only marginal improvement.

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

Purpose5/5

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

The description clearly states the tool updates an existing persona. It distinguishes itself from sibling tools like create_persona and delete_persona by specifying 'update' and includes the important detail that only provided fields are changed, which is a key differentiator.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like create_persona or delete_persona. It implicitly suggests use for updating existing personas, but lacks guidance on prerequisites or when not to use it.

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

update_toolA

Update a tool. Only provide the fields you want to change.

Args: tool_id: The UUID of the tool to update name: New tool name description: New description url: New webhook URL (for webhook tools) method: New HTTP method (for webhook tools) await_response: Whether to wait for response (for webhook tools)

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_idYes
nameNo
descriptionNo
urlNo
methodNo
await_responseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 must disclose behavioral traits. It states it updates a tool and lists fields, but does not explain effects on existing sessions, permissions needed, or any side effects. Minimal disclosure.

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 concise: one sentence plus an args list. Every sentence earns its place, front-loaded with the main action, no 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?

Given 6 parameters, no schema descriptions, and no annotations, the description covers purpose and parameter meanings adequately but lacks details on return values (output schema exists but not described) and cross-field dependencies (e.g., webhook-specific fields).

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% schema description coverage, the description adds meaning by explaining each parameter (e.g., 'tool_id: The UUID', 'url: New webhook URL (for webhook tools)'). It provides basic semantics but could include more constraints (e.g., allowed methods).

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

Purpose5/5

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

The description clearly states 'Update a tool' with a specific verb and resource. It also adds 'Only provide the fields you want to change' clarifying partial update semantics, distinguishing it from other update tools among siblings.

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

Usage Guidelines3/5

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

The description provides a partial update guideline ('Only provide the fields you want to change') but lacks explicit context on when to use this vs alternatives like create_tool or delete_tool, or prerequisites.

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

update_voiceA

Update a voice configuration. Only provide the fields you want to change.

Args: voice_id: The UUID of the voice to update display_name: New display name description: New description

ParametersJSON Schema
NameRequiredDescriptionDefault
voice_idYes
display_nameNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description must convey behavioral traits. It discloses this is a mutation operation ('Update') but omits important details such as idempotency, error behavior on missing voice, side effects, or required permissions. The transparency is minimal.

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: a one-line purpose statement, a usage hint, and a simple list of arguments. Every sentence adds value without redundancy or excess.

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 has three parameters and an output schema, the description covers the purpose and usage strategy but lacks details on error handling, return value, or validation constraints. It is minimally adequate but not thorough.

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 0%, so the description compensates by explaining each parameter: voice_id as UUID, display_name and description as new values. This adds essential meaning beyond the schema's type definitions.

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

Purpose5/5

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

The description clearly states 'Update a voice configuration,' using a specific verb ('update') and resource ('voice configuration'). It distinguishes from sibling tools like create_voice, delete_voice, and get_voice, making its purpose unambiguous.

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

Usage Guidelines3/5

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

The description advises 'Only provide the fields you want to change,' implying partial update usage. However, it lacks explicit guidance on when not to use this tool (e.g., voice does not exist) or alternatives. The context is implied but not fully clarified.

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

upload_knowledge_documentB

Upload a document to a knowledge group.

Args: group_id: The UUID of the knowledge group name: Document name content: Document content (text) content_type: MIME type (default: text/plain)

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
nameYes
contentYes
content_typeNotext/plain

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only describes the basic upload action and lists parameters, without noting side effects (e.g., overwriting existing documents), authentication needs, rate limits, or success/failure 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 a single-sentence overview followed by a clear bulleted list of parameters. No unnecessary words or repetition.

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?

Despite having an output schema, the description provides no information about return values, error handling, or what happens on conflicts (e.g., duplicate names). For a mutation tool, this is insufficient for an agent to understand the full impact of the 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 schema has 0% description coverage, so the description provides meaningful context: 'The UUID of the knowledge group' for group_id, 'Document name' for name, 'Document content (text)' for content, and 'MIME type (default: text/plain)' for content_type. This adds value beyond the schema's titles and types, though it lacks constraints or examples.

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

Purpose5/5

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

The description clearly states 'Upload a document to a knowledge group' with a specific verb and resource. Among siblings like create_knowledge_folder or update_knowledge_document, this uniquely identifies the action of adding a new document to a group.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as update_knowledge_document or delete_knowledge_document. The description does not mention exclusions, prerequisites, or best practices for choosing this tool.

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. 54 tool updatesv0.1.13
    • First observedadd_avatar_to_meeting
    • First observedcreate_avatar
    • First observedcreate_knowledge_folder
    • First observedcreate_knowledge_tool
    • First observedcreate_llm
    • First observedcreate_persona
    • First observedcreate_session_token
    • First observedcreate_share_link
    • First observedcreate_voice
    • First observedcreate_webhook_tool
    • First observeddelete_avatar
    • First observeddelete_knowledge_document
    • First observeddelete_knowledge_group
    • First observeddelete_llm
    • First observeddelete_persona
    • First observeddelete_share_link
    • First observeddelete_tool
    • First observeddelete_voice
    • First observedgenerate_avatar_video
    • First observedget_avatar
    • First observedget_knowledge_document
    • First observedget_knowledge_document_download
    • First observedget_knowledge_group
    • First observedget_llm
    • First observedget_meeting_bot_status
    • First observedget_persona
    • First observedget_session
    • First observedget_session_recording
    • First observedget_share_link
    • First observedget_tool
    • First observedget_voice
    • First observedlist_avatars
    • First observedlist_knowledge_documents
    • First observedlist_knowledge_folders
    • First observedlist_llms
    • First observedlist_meeting_bots
    • First observedlist_personas
    • First observedlist_sessions
    • First observedlist_share_links
    • First observedlist_tools
    • First observedlist_voices
    • First observedremove_avatar_from_meeting
    • First observedsearch_avatars
    • First observedsearch_knowledge_group
    • First observedsearch_voices
    • First observedupdate_avatar
    • First observedupdate_knowledge_document
    • First observedupdate_knowledge_group
    • First observedupdate_llm
    • First observedupdate_persona
    • First observedupdate_share_link
    • First observedupdate_tool
    • First observedupdate_voice
    • First observedupload_knowledge_document

TDQS

B3.4/5.0
Disambiguation4/5

Most tools target distinct resources and actions, but there is some overlap between search and list functions (e.g., search_avatars vs list_avatars) that could cause confusion for an agent. The boundaries are generally clear.

Naming Consistency5/5

All tools consistently follow the verb_noun pattern with underscores. Even tools like add_avatar_to_meeting and remove_avatar_from_meeting maintain a clear, predictable structure.

Tool Count2/5

With 54 tools, this server is over the threshold for 'too many' (25+). While the domain is broad, the tool count feels bloated and could be streamlined by consolidating some CRUD operations or reducing redundancy.

Completeness3/5

The server offers CRUD operations for most entity types, but there are notable gaps: no delete or update for knowledge folders, no delete for sessions, and inconsistencies between 'folder' and 'group' terminology. Overall, the coverage is reasonable but incomplete.

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

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/anam-org/anam-mcp'

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