Skip to main content
Glama
Arize-ai

@arizeai/phoenix-mcp

Official
by Arize-ai

Phoenix MCP Server is an implementation of the Model Context Protocol for the Arize Phoenix platform. It provides a unified interface to Phoenix's capabilities.

You can use Phoenix MCP Server for:

  • Projects Management: List and explore projects that organize your observability data

  • Traces, Spans & Annotations: Retrieve traces, spans, and annotation configs for analysis and debugging

  • Sessions: Explore conversation flows and session-level annotations

  • Prompts Management: Create, list, update, and iterate on prompts

  • Datasets: Explore datasets and synthesize new examples

  • Experiments: Pull experiment results and visualize them with the help of an LLM

Don't see a use-case covered? @arizeai/phoenix-mcp is open-source! Issues and PRs welcome.

Installation

This MCP server can be used with npx and can be directly integrated with clients like Claude Desktop, Cursor, and more.

{
  "mcpServers": {
    "phoenix": {
      "command": "npx",
      "args": [
        "-y",
        "@arizeai/phoenix-mcp@latest",
        "--baseUrl",
        "https://my-phoenix.com",
        "--apiKey",
        "your-api-key"
      ]
    }
  }
}

Related MCP server: @prompthub/mcp

Development

Install

This package is managed via a pnpm workspace.

// From the /js/ directory
pnpm install
pnpm build

This only needs to be repeated if dependencies change or there is a change to the phoenix-client.

Building

To build the project:

pnpm build

Development Mode

To run in development mode:

pnpm dev

Debugging

You can build and run the MCP inspector using the following:

pnpm inspect

Environment Variables

When developing, the server requires the following environment variables:

  • PHOENIX_API_KEY: Your Phoenix API key

  • PHOENIX_ENDPOINT: The base URL for Phoenix

  • PHOENIX_PROJECT: Optional default project for project-scoped tools (alias: PHOENIX_PROJECT_NAME)

  • PHOENIX_CLIENT_HEADERS: Optional JSON-encoded request headers

Make sure to set these in a .env file. See .env.example.

At runtime the server also discovers the nearest .env.phoenix file at or above the working directory. Process environment variables and command-line options take precedence. If a higher-priority API key is paired with an endpoint from the file, the server warns once and continues. Set PHOENIX_DISCOVER_CONFIG=false to disable discovery.

Tool Coverage

The MCP server covers the main operational Phoenix workflows:

Promptslist-prompts, get-prompt, get-latest-prompt, get-prompt-by-identifier, get-prompt-version, list-prompt-versions, get-prompt-version-by-tag, list-prompt-version-tags, add-prompt-version-tag, upsert-prompt

Projectslist-projects, get-project

Traceslist-traces, get-trace

Spansget-spans, get-span-annotations

Sessionslist-sessions, get-session

Annotation Configslist-annotation-configs

Datasetslist-datasets, get-dataset, get-dataset-examples, get-dataset-experiments, add-dataset-examples

Experimentslist-experiments-for-dataset, get-experiment-by-id

For Phoenix documentation search, use the separate Phoenix Docs MCP server instead of this package.

Community

Join our community to connect with thousands of AI builders:

License

Apache 2.0

Available Tools

27 tools
add-dataset-examplesA

Add examples to an existing dataset.

This tool adds one or more examples to an existing dataset. Each example includes an input, output, and metadata. The metadata will automatically include information indicating that these examples were synthetically generated via MCP. When calling this tool, check existing examples using the "get-dataset-examples" tool to ensure that you are not adding duplicate examples and following existing patterns for how data should be structured.

Example usage: Look at the analyze "my-dataset" and augment them with new examples to cover relevant edge cases

Expected return: Confirmation of successful addition of examples to the dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
examplesYes
dataset_nameYes

TDQS

A4.3/5.0
Behavior4/5

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

Despite no annotations, description discloses that metadata automatically includes synthetic generation info. Implies non-destructive addition. Could mention idempotency but acceptable.

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?

Front-loaded purpose, includes example and return expectation. Slightly verbose but all sentences add value.

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?

Covers purpose, usage, and return confirmation. Lacks error cases but adequate for simple add tool with 2 params and no output schema.

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

Parameters3/5

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

0% schema coverage; description mentions 'input, output, metadata' but doesn't elaborate on dataset_name or structure. Partially compensates by advising to follow existing patterns.

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?

Clearly states verb 'add' and resource 'examples to an existing dataset'. Distinguishes from sibling 'get-dataset-examples' by mentioning checking existing examples.

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?

Explicitly instructs to check existing examples using 'get-dataset-examples' to avoid duplicates and follow patterns. Provides an example usage scenario.

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

add-prompt-version-tagA

Add a tag to a specific prompt version. The operation returns no content on success (204 status code).

Example usage: Tag prompt version 'promptversionid1234' with the name 'production'

Expected return: Confirmation message of successful tag addition

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
prompt_version_idYes

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description discloses the 204 status code and expected confirmation message, but does not discuss error cases, idempotency, or effects of duplicate tags.

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, well-structured with separate sections for example and expected return, and front-loads the 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?

Given the tool's simplicity and lack of annotations/output schema, the description is moderately complete but missing details on error handling and tag constraints.

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, the description partially compensates via an example showing `prompt_version_id` and `name`, but does not explain the `description` parameter or provide detailed parameter semantics.

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 adds a tag to a specific prompt version, includes an example, and distinguishes from siblings like list-prompt-version-tags.

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 does not provide guidance on when to use this tool versus alternatives (e.g., listing tags or other operations), nor does it mention prerequisites or restrictions.

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

get-datasetC

Get dataset metadata by name or ID.

Example usage: Show me the dataset "my-dataset"

Expected return: A dataset object with metadata and version information.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idNo
dataset_nameNo

TDQS

C2.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 behavioral traits. It only indicates a read operation ('Get metadata'), but lacks details on side effects, authorization needs, rate limits, or error handling. The return type 'dataset object' is vague.

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?

Description is very short with three sentences and no redundancy. However, it omits important details; brevity is achieved at the cost of completeness.

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 retrieval tool with no annotations or output schema, the description fails to address ambiguity in parameters (both optional, no guidance), error cases, or detailed return structure. Incomplete for reliable agent use.

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

Parameters2/5

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

Schema has 0% description coverage and all parameters are optional. The description adds that lookup can be 'by name or ID', but does not specify format, uniqueness, or behavior when both are provided. No constraints or examples for parameter values.

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 'Get dataset metadata by name or ID', specifying verb and resource. However, it does not distinguish itself from sibling tools like get-dataset-examples or get-dataset-experiments, which target specific subsets of dataset data.

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., get-dataset-examples). The example is generic and does not clarify when to prefer this over other dataset-related tools.

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

get-dataset-examplesB

Get examples from a dataset.

Dataset examples are an array of objects that each include an input, (expected) output, and optional metadata. These examples are typically used to represent input to an application or model (e.g. prompt template variables, a code file, or image) and used to test or benchmark changes.

Example usage: Show me all examples from dataset RGF0YXNldDox

Expected return: Object containing dataset ID, version ID, and array of examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
splitsNo
dataset_idNo
version_idNo
dataset_nameNo

TDQS

B3.4/5.0
Behavior3/5

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

The description implies a read-only operation ('Get examples') and specifies the expected return (object with dataset ID, version ID, array of examples). Without annotations, it does not disclose additional behavioral traits like rate limits, authentication needs, or whether the operation is destructive (likely not). Adequate but minimal.

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?

Description is concise (few sentences) with a clear structure: purpose, definition of examples, example usage, expected return. No unnecessary words, but the example usage could be more specific about parameter usage.

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 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain how parameters like 'splits' or 'dataset_name' affect the result, leaving ambiguity. The expected return format lacks detail about the exact structure of examples. More context is needed for effective agent invocation.

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% (no parameter descriptions in the schema). The description does not explain the four parameters (splits, dataset_id, version_id, dataset_name) or how they filter/fetch examples. It only mentions dataset_id and version_id in the expected return, not their usage. Lacks compensation for 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 'Get examples from a dataset' and explains what dataset examples are (array of objects with input, output, metadata). It distinguishes from sibling tools like add-dataset-examples via the 'get' verb and from get-dataset (which returns dataset metadata).

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?

Provides an example usage ('Show me all examples from dataset...') but does not explicitly state when to use this tool versus alternatives like get-dataset or add-dataset-examples. No when-not or explicit guidance on prerequisites.

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

get-dataset-experimentsC

List experiments run on a dataset.

Example usage: Show me all experiments run on dataset RGF0YXNldDox

Expected return: Array of experiment objects with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
dataset_idNo
dataset_nameNo

TDQS

C2.8/5.0
Behavior3/5

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

No annotations. Description implies a read-only operation but does not explicitly state behavior such as pagination, ordering, or authentication requirements. Expected return format is mentioned but remains vague. Adequate but minimal.

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

Conciseness3/5

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

Brief and to the point (3 sentences plus example), but lacks structure. Could be more informative without being verbose. Adequately concise.

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

Completeness2/5

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

Given 3 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain parameter usage, return details, or how to identify a dataset. Agent would struggle to use the tool correctly without additional insight.

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

Parameters2/5

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

Schema has 0% description coverage. Description does not explain any parameter (limit, dataset_id, dataset_name) despite the example using a dataset ID. Agent lacks understanding of how to specify the dataset or control pagination.

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?

Clearly states the verb 'List' and resource 'experiments run on a dataset'. However, it does not differentiate from sibling tool 'list-experiments-for-dataset', which appears to serve the same purpose. Lacks explicit distinction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'list-experiments-for-dataset' or other tools. Agent receives no 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-experiment-by-idA

Get an experiment by its ID.

The tool returns experiment metadata in the first content block and a JSON object with the experiment data in the second. The experiment data contains both the results of each experiment run and the annotations made by an evaluator to score or label the results, for example, comparing the output of an experiment run to the expected output from the dataset example.

Example usage: Show me the experiment results for experiment RXhwZXJpbWVudDo4

Expected return: Object containing experiment metadata and results.

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_idYes

TDQS

A3.8/5.0
Behavior4/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 transparently describes the response structure (two content blocks: metadata and JSON with results/annotations). This is sufficient for a read operation, but lacks details on potential side effects 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.

Conciseness4/5

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

The description is well-structured with a clear statement of purpose, expected return, and an example. It is slightly verbose due to the example and expected return block, but every sentence adds value. 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 tool's simplicity (1 parameter, no output schema, no annotations), the description adequately covers what, how, and what is returned. It includes an example and explains the response contents. Missing are error handling and prerequisites, but overall it is complete enough for a fetch operation.

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 sole parameter 'experiment_id' is documented only in the schema with no description. The tool's description adds no semantics beyond 'by its ID', leaving the agent to guess the format or origin of the ID. Schema coverage is 0%, so the description should compensate but does not.

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 an experiment by its ID', specifying the resource (experiment) and the identifier (ID). It distinguishes itself from sibling tools like list-experiments-for-dataset by focusing on a single experiment retrieval.

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 an example usage but does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. Sibling tools exist for listing experiments, but no guidance is given on choosing between them.

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

get-latest-promptA

Get the latest version of a prompt. Returns the prompt version with its template, model configuration, and invocation parameters.

Example usage: Get the latest version of a prompt named 'article-summarizer'

Expected return: Prompt version object with template and configuration. Example: { "description": "Initial version", "model_provider": "OPENAI", "model_name": "gpt-3.5-turbo", "template": { "type": "chat", "messages": [ { "role": "system", "content": "You are an expert summarizer. Create clear, concise bullet points highlighting the key information." }, { "role": "user", "content": "Please summarize the following {{topic}} article:\n\n{{article}}" } ] }, "template_type": "CHAT", "template_format": "MUSTACHE", "invocation_parameters": { "type": "openai", "openai": {} }, "id": "promptversionid1234" }

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_identifierYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It explains that the tool returns a prompt version with template, model configuration, and invocation parameters, and includes an example output. However, it does not disclose side effects, permission requirements, error conditions (e.g., if prompt not found), or idempotency.

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 front-loaded with the action and includes a succinct example usage. However, the expected return JSON is lengthy (15+ lines), which could be shortened or referenced as a separate 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 one parameter, no annotations, and no output schema, the description provides a detailed output example but lacks completeness on error handling, the distinction from 'get-prompt-version' or 'get-prompt', and the exact nature of 'prompt_identifier'. It is functional but not fully comprehensive.

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 sole parameter 'prompt_identifier' has no schema description (0% coverage). The description only implies it is a name via the example 'article-summarizer', but does not clarify if it is a name or ID, or specify acceptable formats. This ambiguity limits the agent's ability to use the parameter correctly.

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 the latest version of a prompt' using a specific verb and resource. It distinguishes from siblings like 'get-prompt-version' (specific version) and 'list-prompts' (all prompts) by focusing on the latest version.

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 an example usage ('Get the latest version of a prompt named 'article-summarizer''), making the context clear. However, it does not explicitly exclude cases or compare with alternatives like 'get-prompt-version' for non-latest versions.

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

get-projectC

Get a project by name or ID.

Example usage: Show me the project "default"

Expected return: A single project object with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_identifierYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions the return type but does not specify error handling (e.g., if not found), permissions, or side effects. The description is insufficient for a mutation-free 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 short sentences and an example. Every word is purposeful, and it is front-loaded with the main purpose.

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

Completeness2/5

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

Given the simple tool (1 param, no output schema), the description lacks completeness. It does not explain what metadata is returned, how to interpret the result, or how it integrates with sibling tools like 'get-dataset'.

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 input schema has 0% description coverage, but the description says 'by name or ID' without clarifying whether the identifier is a name, ID, or both. It adds minimal value beyond the schema's type definition.

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 retrieves a project by name or ID, with an example usage and expected return. However, it does not explicitly differentiate from sibling tools like 'get-dataset' or 'get-trace', which serve similar roles for different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only includes a basic example without contextual cues for agent decision-making.

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

get-promptC

Get a prompt using a single MCP-native interface.

Provide a prompt identifier to fetch the latest version, or add a tag or versionId to select a specific version.

Example usage: Get prompt "article-summarizer" Get prompt "article-summarizer" with tag "production" Get prompt "article-summarizer" using version "promptversionid1234"

Expected return: Prompt version object with template and configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo
version_idNo
prompt_identifierYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description indicates a read operation but does not disclose potential side effects, auth requirements, or rate limits. 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.

Conciseness4/5

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

The description is concise and includes examples, but the opening phrase 'single MCP-native interface' is slightly vague and could be more direct.

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?

Accounts for no output schema by describing return object. However, lacks comparison to siblings and behavioral details, leaving gaps given the tool's context.

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

Parameters3/5

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

With 0% schema coverage, the description adds value via examples showing parameter usage, but does not explain parameter formats or constraints beyond the schema names.

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

Purpose4/5

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

The description clearly states the tool retrieves a prompt via a unified interface, with options for latest or specific version. However, it does not explicitly differentiate from similar siblings like get-prompt-by-identifier or get-latest-prompt.

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?

Examples show how to use tag or versionId, but there is no guidance on when to use this tool versus alternatives like get-prompt-version or get-latest-prompt, given the many sibling tools.

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

get-prompt-by-identifierA

Get a prompt's latest version by its identifier (name or ID). Returns the prompt version with its template, model configuration, and invocation parameters.

Example usage: Get the latest version of a prompt with name 'article-summarizer'

Expected return: Prompt version object with template and configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_identifierYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description must carry behavioral info. It states the tool returns a prompt version object and mentions example usage and expected return. It does not disclose error behavior, auth requirements, or confirm it is non-destructive, but for a read operation this is minimally 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?

Description is succinct: two short paragraphs, front-loaded with purpose, includes a concrete example and expected return format. No unnecessary words or repetition.

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 is simple (1 parameter, no output schema, no annotations), the description covers core purpose, parameter semantics, and expected output. It lacks details on error handling or version specifiers (e.g., specifying 'latest' by default), but is largely complete for a straightforward retrieval 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?

Input schema only defines 'prompt_identifier' as a required string with 0% description coverage. Description adds meaning by clarifying it accepts name or ID, and provides an example ('article-summarizer'). This significantly enriches the bare 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?

Description clearly states the tool retrieves a prompt's latest version by identifier (name or ID), and specifies the returned content (template, model config, invocation params). This distinguishes it from siblings like 'get-prompt-version' which likely gets a specific version.

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 (e.g., 'get-prompt-version' or 'list-prompt-versions'). The description does not mention prerequisites, when not to use, or comparisons.

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

get-prompt-versionA

Get a specific version of a prompt using its version ID. Returns the prompt version with its template, model configuration, and invocation parameters.

Example usage: Get a specific prompt version with ID 'promptversionid1234'

Expected return: Prompt version object with template and configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_version_idYes

TDQS

A3.9/5.0
Behavior3/5

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

Describes return content (template, configuration, parameters) but no annotations provided; lacks details on authentication, rate limits, or error handling. Adequate but not rich.

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

Conciseness5/5

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

Two short paragraphs with example usage and expected return. Every sentence adds value; 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?

Covers purpose, parameter, and return structure despite missing output schema. Could mention error cases or prerequisites but sufficient for a simple get operation.

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 0% and description only says 'using its version ID' with example value. No details on format, length, or constraints for the single parameter.

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?

Clear action 'get' and resource 'specific version of a prompt' using version ID. Distinct from siblings like get-latest-prompt and get-prompt-version-by-tag.

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?

Explicitly states 'using its version ID', implying when not to use (e.g., when you have a tag). However, no explicit when-not or alternatives mentioned.

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

get-prompt-version-by-tagA

Get a prompt version by its tag name. Returns the prompt version with its template, model configuration, and invocation parameters.

Example usage: Get the 'production' tagged version of prompt 'article-summarizer'

Expected return: Prompt version object with template and configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_nameYes
prompt_identifierYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries the burden. It discloses that the tool returns template, model config, and invocation parameters. It doesn't mention read-only nature, which is implied but not explicit.

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?

Concise with clear purpose at the start. Example adds value. Minor redundancy in first sentence.

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 no output schema, the description explains return fields. It does not discuss error cases or edge cases. For a simple get-by-tag tool, it's 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%, description does not formally define each parameter. The example uses prompt_identifier and tag_name, but doesn't specify format for prompt_identifier (e.g., ID or name). Adds some meaning but incomplete.

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?

Explicitly states it gets a prompt version by tag name, and lists returned fields. The example and sibling context differentiate it from get-prompt-version.

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?

Clear that it's for retrieving a specific tagged version, but lacks explicit when-to-use vs alternatives like get-prompt-version. The example hints at common usage.

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

get-sessionA

Get a single session by GlobalID or user-provided session_id.

Example usage: Show me session "chat-123"

Expected return: A session object and, optionally, its annotations.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_identifierYes
include_annotationsNo

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, and while the description implies a read operation, it does not disclose permissions, error handling, or any side effects, which is adequate for a simple getter but lacks depth.

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

Conciseness5/5

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

The description is concise with two short paragraphs: one for purpose and one for usage/return. Every sentence adds value 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 no output schema, the description covers the return shape adequately. It is nearly complete for a simple retrieval tool, though it could mention possible errors if the session is not found.

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 coverage, the description clarifies that session_identifier can be a GlobalID or user-provided ID, and mentions include_annotations indirectly via 'optionally, its annotations', adding significant 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 the tool retrieves a single session by GlobalID or session_id, with an example usage that distinguishes it from list-sessions.

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 specific identifier, but does not explicitly state when not to use it or compare it to alternatives like list-sessions.

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

get-span-annotationsA

Get span annotations for a list of span IDs.

Span annotations provide additional metadata, scores, or labels for spans. They can be created by humans, LLMs, or code and help in analyzing and categorizing spans.

Example usage: Get annotations for spans ["span1", "span2"] from project "my-project" Get quality score annotations for span "span1" from project "my-project"

Expected return: Object containing annotations array and optional next cursor for pagination. Example: { "annotations": [ { "id": "annotation123", "span_id": "span1", "name": "quality_score", "result": { "label": "good", "score": 0.95, "explanation": null }, "annotator_kind": "LLM", "metadata": { "model": "gpt-4" } } ], "nextCursor": "cursor_for_pagination" }

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
span_idsYes
project_identifierNo
exclude_annotation_namesNo
include_annotation_namesNo

TDQS

A3.8/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 reveals that the tool returns an object with annotations array and optional next cursor for pagination, and explains the nature of annotations. It implies read-only behavior without contradictions.

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 front-loaded with the main purpose and provides examples and return structure. It is slightly verbose but each sentence adds value; no wasted words.

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 6 parameters, no output schema, and no annotations, the description is incomplete. It does not explain filtering options, pagination details beyond next cursor, or error behavior. The example return is helpful but not exhaustive.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions span_ids and project in examples but does not explain parameters like limit, cursor, exclude/include_annotation_names. The examples are insufficient to define semantics for all 6 parameters.

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' and resource 'span annotations' with the required input 'list of span IDs'. It explains what span annotations are and provides examples, effectively distinguishing it from sibling tools like list-annotation-configs.

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 includes example usage and expected return, giving context for when to use the tool. However, it lacks explicit guidance on when not to use it or alternatives, though the specificity of span IDs makes it clear.

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

get-spansB

Get spans from a project with filtering criteria.

Spans represent individual operations or units of work within a trace. They contain timing information, attributes, and context about the operation being performed.

Example usage: Get recent spans from project "my-project" Get spans in a time range from project "my-project"

Expected return: Object containing spans array and optional next cursor for pagination. Example: { "spans": [ { "id": "span123", "name": "http_request", "context": { "trace_id": "trace456", "span_id": "span123" }, "start_time": "2024-01-01T12:00:00Z", "end_time": "2024-01-01T12:00:01Z", "attributes": { "http.method": "GET", "http.url": "/api/users" } } ], "nextCursor": "cursor_for_pagination" }

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
namesNo
cursorNo
end_timeNo
parent_idNo
trace_idsNo
span_kindsNo
start_timeNo
status_codesNo
project_identifierNo
include_annotationsNo

TDQS

B3/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Describes return format with pagination and sample spans. However, does not disclose whether it is read-only, auth requirements, rate limits, or error conditions. A read operation is implied but not stated.

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

Conciseness3/5

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

Contains a clear structure including description, context, and example return. However, the example is verbose and repeats some information from the description. Could be more concise while retaining essential details.

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

Completeness2/5

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

With 11 parameters, no output schema, and no annotations, the description is insufficient. Provides a return example but does not cover most parameters or explain behavior like pagination limits or filtering logic.

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%, yet description only hints at filtering by time range and project. Does not explain any of the 11 parameters (e.g., names, cursor, status_codes). Adds little beyond context for example usage.

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?

Clearly states this tool retrieves spans with filtering criteria and explains what spans are. Distinguishes from sibling tools like list-traces by focusing on spans rather than traces, but does not explicitly contrast with similar 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?

Provides example usages (time range, recent spans) but lacks guidance on when to use this tool versus alternatives like get-trace or list-traces. No exclusions or prerequisites mentioned.

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

get-traceA

Get a single trace by its exact trace ID within a project.

Example usage: Show me trace "abc123def456" from project "default"

Expected return: A trace object with all spans that belong to the trace.

ParametersJSON Schema
NameRequiredDescriptionDefault
trace_idYes
project_identifierNo
include_annotationsNo

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 indicates a read operation and describes the return object ('A trace object with all spans that belong to the trace'). It does not discuss error handling, authorization, or side effects, but for a simple read tool it 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 short, front-loaded with the core purpose, and includes a helpful example. Every sentence serves a purpose with no wasted words.

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

Completeness3/5

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

Given three parameters, zero schema description coverage, no output schema, and no annotations, the description covers the main functionality and return value but omits details about one parameter and error behavior. It is functional but not fully comprehensive.

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 explains 'project_identifier' and 'trace_id' implicitly via the example but does not mention the 'include_annotations' parameter. Two of three parameters benefit from the description, but one is entirely undocumented.

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 a single trace by its exact trace ID within a project'. The verb ('Get') and resource ('trace') are specific, and the scope ('by exact trace ID within a project') distinguishes it from siblings like 'list-traces'.

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 includes an example ('Show me trace abc123def456 from project default') that implies when to use: when you have a specific trace ID. However, it does not explicitly state when not to use or mention alternatives.

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

list-annotation-configsB

List Phoenix annotation configs.

Annotation configs define the available human or automated labels, scores, and freeform annotation types.

Example usage: Show me all annotation configs

Expected return: Array of annotation config objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It indicates a read-only operation ('list') but does not mention safety, side effects, or any constraints beyond the limit parameter. The example implies non-destructive behavior, but more transparency is needed.

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 efficient with 4 sentences covering purpose, definition, example, and return. It is front-loaded and lacks fluff, but the example is simplistic and could be more informative.

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 explains the return type as an array of config objects and defines configs, but does not detail the fields within each object (e.g., name, type). The limit parameter is not explained. For a simple list tool, it is marginally adequate but has gaps.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description does not explain the 'limit' parameter. The agent only gets schema constraints (default 100, max 500) but no semantic meaning. The description adds no value beyond the schema, failing to compensate for low 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 'List Phoenix annotation configs' with a specific verb and resource. It defines what annotation configs are and expected return, distinguishing it from sibling tools like list-prompts or list-datasets.

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 an example usage but no explicit guidance on when to use vs alternatives (e.g., get-span-annotations). It's implied that one uses it to view all configs, but lacks when-not or alternative directions.

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

list-datasetsA

Get a list of all datasets.

Datasets are collections of 'dataset examples' that each example includes an input, (expected) output, and optional metadata. They are primarily used as inputs for experiments.

Example usage: Show me all available datasets

Expected return: Array of dataset objects with metadata. Example: [ { "id": "RGF0YXNldDox", "name": "my-dataset", "description": "A dataset for testing", "metadata": {}, "created_at": "2024-03-20T12:00:00Z", "updated_at": "2024-03-20T12:00:00Z" } ]

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description must compensate. It describes the return format with an example array, indicating a read-only operation. The description is straightforward and does not hide any behavioral traits, but it could have mentioned that it is 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.

Conciseness4/5

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

The description is well-structured with a clear first line, explanatory text, example usage, and expected return format. It is front-loaded and each section adds value, though the dataset explanation could be slightly more concise.

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 lack of an output schema, the description provides a detailed example of the return structure. It explains what datasets are and how the tool is used. However, it omits explanation of the 'limit' parameter, which is a minor gap for a simple list tool.

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

Parameters2/5

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

The input schema has one parameter 'limit' with 0% description coverage. The description does not mention this parameter, so it fails to add meaning beyond the schema. Although 'limit' is somewhat self-explanatory, the description should clarify its purpose (e.g., 'limits the number of datasets returned').

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 a list of all datasets' and explains what datasets are, making the tool's purpose unambiguous. It distinguishes itself from sibling tools like get-dataset and list-experiments-for-dataset by focusing on listing all datasets.

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 a clear example usage ('Show me all available datasets') and context for when to use the tool. While it does not explicitly state when not to use it or mention alternatives, the purpose is well-defined and easily understood from the sibling tool set.

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

list-experiments-for-datasetB

Get a list of all the experiments run on a given dataset.

Experiments are collections of experiment runs, each experiment run corresponds to a single dataset example. The dataset example is passed to an implied task which in turn produces an output.

Example usage: Show me all the experiments I've run on dataset RGF0YXNldDox

Expected return: Array of experiment objects with metadata. Example: [ { "id": "experimentid1234", "dataset_id": "datasetid1234", "dataset_version_id": "datasetversionid1234", "repetitions": 1, "metadata": {}, "project_name": "Experiment-abc123", "created_at": "YYYY-MM-DDTHH:mm:ssZ", "updated_at": "YYYY-MM-DDTHH:mm:ssZ" } ]

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
dataset_idNo
dataset_nameNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It describes the tool as reading a list of experiments with expected return format, but does not disclose idempotency, rate limits, or permissions. The conceptual explanation of experiments adds context but omits key behavioral details.

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 two paragraphs and a code block. It front-loads the purpose and provides useful example usage and return format. Minor redundancy could be trimmed, but overall efficient.

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

Completeness3/5

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

Given no output schema, the description provides a detailed example return object. However, it lacks parameter documentation, error handling, and edge cases. The tool has three parameters, one required in practice, but none are explained.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description does not explain any of the three parameters (limit, dataset_id, dataset_name). The example uses a dataset ID but does not clarify its role or the others. This is a critical omission for an agent to invoke the tool correctly.

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 a list of all the experiments run on a given dataset' with a specific verb and resource. It distinguishes from siblings by focusing on experiments per dataset and provides an example dataset ID usage.

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

Usage Guidelines3/5

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

The description gives an example usage suggesting when to invoke, but does not explicitly state when not to use it or compare to sibling 'get-dataset-experiments'. The context is implied but lacks explicit alternatives or exclusions.

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

list-projectsC

Get a list of all projects.

Projects are containers for organizing traces, spans, and other observability data. Each project has a unique name and can contain traces from different applications or experiments.

Example usage: Show me all available projects

Expected return: Array of project objects with metadata. Example: [ { "id": "UHJvamVjdDox", "name": "default", "description": "Default project for traces" }, { "id": "UHJvamVjdDoy", "name": "my-experiment", "description": "Project for my ML experiment" } ]

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
include_experiment_projectsNo

TDQS

C2.7/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 that the tool is read-only, does not mention pagination behavior, rate limits, or effects. The return example is given but without explanation of how parameters affect behavior.

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?

Description is short and front-loaded with the main action. Includes an example return which is helpful but slightly verbose. Overall efficient with no filler.

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 3 parameters with zero schema descriptions and no output schema, the description fails to provide complete context. Lacks documentation on how to paginate, what cursor means, and how include_experiment_projects affects results. The example output is partial.

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 explain parameters. It does not mention limit, cursor, or include_experiment_projects at all. The parameter names are somewhat self-explanatory but missing details like cursor format or pagination mechanism.

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?

Clearly states it returns a list of all projects, but could be more precise about pagination given the limit and cursor parameters. The description distinguishes it from sibling tools like get-project implicitly.

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., get-project for a single project). Only provides an example usage 'Show me all available projects' but no explicit when-not-to-use or sibling tool comparisons.

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

list-promptsC

Get a list of all the prompts.

Prompts (templates, prompt templates) are versioned templates for input messages to an LLM. Each prompt includes both the input messages, but also the model and invocation parameters to use when generating outputs.

Returns a list of prompt objects with their IDs, names, and descriptions.

Example usage: List all available prompts

Expected return: Array of prompt objects with metadata. Example: [{ "name": "article-summarizer", "description": "Summarizes an article into concise bullet points", "source_prompt_id": null, "id": "promptid1234" }]

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden to disclose behavior. It claims to return 'all' prompts but the limit parameter contradicts this. It does not state read-only nature, pagination, or auth requirements. The example output is helpful but insufficient for transparency.

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 at ~10 lines, front-loads the main purpose, and includes a helpful example. Minor redundancy ('Get a list' vs 'List all') but overall well-structured for quick comprehension.

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, the description provides context on what a prompt is and what the return looks like. However, it fails to explain the limit parameter behavior, and the output schema is absent. Adequate but incomplete.

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

Parameters1/5

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

Input schema has 0% description coverage, and the description does not mention the 'limit' parameter at all. Saying 'all the prompts' misleads agents about the effect of the limit. No parameter details are provided beyond what the schema offers.

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 opening line 'Get a list of all the prompts' clearly states the tool's action and resource. The description distinguishes it from sibling tools like get-prompt (single retrieval) by implying it returns multiple prompts. The purpose is unambiguous.

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

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives like get-prompt, get-prompt-by-identifier, or list-prompt-versions. The description lacks 'when to use' and 'when not to use' statements, leaving inference to the agent.

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

list-prompt-versionsB

Get a list of all versions for a specific prompt. Returns versions with pagination support.

Example usage: List all versions of a prompt named 'article-summarizer'

Expected return: Array of prompt version objects with IDs and configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
prompt_identifierYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It mentions pagination and return format but does not disclose read-only nature, authentication needs, or side effects. Minimal extra value beyond tool name.

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 fairly concise with three sentences plus an example. It front-loads the core action but includes example and expected return, which add value without 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?

For a list tool with two parameters and no output schema, the description provides purpose, example, and return format. However, it lacks explicit parameter descriptions, pagination details (e.g., cursor), and authentication context. Adequate but with gaps.

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 description should explain parameters. It only indirectly hints at 'prompt_identifier' via example and does not describe 'limit' or its default/maximum. Adds little meaning beyond schema.

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

Purpose4/5

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

The description clearly states it lists versions for a specific prompt, with a verb ('Get a list of') and resource ('versions for a specific prompt'). It is clear but does not differentiate from siblings like 'get-prompt-version' or 'list-prompt-version-tags'.

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 an example usage and expected return, implying when to use, but does not explicitly state when to use this tool over alternatives like 'get-prompt-version' or context for exclusion.

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

list-prompt-version-tagsB

Get a list of all tags for a specific prompt version. Returns tag objects with pagination support.

Example usage: List all tags associated with prompt version 'promptversionid1234'

Expected return: Array of tag objects with names and IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
prompt_version_idYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description carries burden. Mentions pagination support and expected return, but does not detail pagination mechanics, sorting, or potential limitations.

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?

Description is brief with example and expected return, but lacks structure and parameter descriptions. Could be more organized while remaining concise.

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

Completeness2/5

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

For a simple list tool, it is missing explanation for limit parameter and pagination handling. Does not fully equip agent to invoke correctly without schema descriptions.

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 description must compensate. It mentions prompt_version_id in example but does not describe limit parameter or provide details on parameter formats.

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 states 'Get a list of all tags for a specific prompt version' with clear verb and resource, distinguishing it from sibling tools like 'add-prompt-version-tag' which adds a tag.

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; no mention of when not to use or prerequisites. Only an example usage is given.

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

list-sessionsB

List sessions for a project.

Sessions represent conversation flows grouped across traces.

Example usage: Show me the last 10 sessions for project "default"

Expected return: Array of session objects ordered by the requested sort order.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
project_identifierNo

TDQS

B3/5.0
Behavior3/5

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

The description mentions the expected return type and ordering, but lacks details on pagination, error behavior, or authentication requirements. Since annotations are absent, the description carries full burden but covers only basic 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 very concise with three sentences and an example. It is front-loaded with the core purpose and contains no unnecessary content.

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 lack of annotations and output schema, the description is too minimal. It does not specify error handling, pagination, or clarify that project_identifier is likely required despite being not marked as such in the schema.

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 does not explain each parameter individually. The example implies the use of limit and project_identifier, but 'order' and the necessity of project_identifier are not clarified.

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 that the tool lists sessions for a project, and defines sessions as conversation flows grouped across traces. It is specific enough to distinguish from sibling tools like list-traces, though it could explicitly contrast them.

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

Usage Guidelines2/5

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

The description provides an example usage but does not give explicit guidance on when to use this tool versus alternatives. No prerequisites or exclusions are mentioned.

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

list-tracesB

List traces for a project.

This tool groups project spans into traces and returns the newest traces first.

Example usage: Show me the last 10 traces for project "default" Show me recent traces from the last 30 minutes for project "checkout"

Expected return: Array of trace objects with grouped spans and summary timing information.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
last_n_minutesNo
project_identifierNo
include_annotationsNo

TDQS

B3.1/5.0
Behavior3/5

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

Explains grouping and ordering of traces, and expected return structure. No annotations provided, so description partially fills the gap. Lacks details on idempotency, pagination, or side effects.

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

Conciseness4/5

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

Concise with 4 sentences, front-loaded with purpose. Examples help, but no unnecessary verbiage.

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

Completeness2/5

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

With 5 parameters, no schema descriptions, and no output schema, the description is incomplete. It lacks details on parameter behavior and return format beyond a brief mention.

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%. Description only hints at 'limit' and 'project_identifier' through examples, but omits explanations for 'since', 'last_n_minutes', and 'include_annotations'.

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

Purpose4/5

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

Description clearly states it lists traces for a project, groups spans, and returns newest first. Distinguishes from siblings like get-trace and list-sessions.

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?

Provides example usage but no explicit guidance on when to use vs alternatives or when not to use.

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

phoenix-supportA

Get help with Phoenix and OpenInference.

  • Tracing AI applications via OpenInference and OpenTelemetry

  • Phoenix datasets, experiments, and prompt management

  • Phoenix evals and annotations

Use this tool when you need assistance with Phoenix features, troubleshooting, or best practices.

Expected return: Expert guidance about how to use and integrate Phoenix

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesYour question about Arize Phoenix, OpenInference, or related topics

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 the full burden. It discloses the expected return type ('Expert guidance') but does not mention any behavioral traits like whether it is read-only, authentication needs, rate limits, or how the response is generated (e.g., static knowledge base vs. live query). For a support tool, the lack of deeper behavioral context is acceptable but still 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 concise and well-structured: purpose first, then bullet points of supported areas, usage guidance, and expected return. Every sentence adds value with no repetition or fluff.

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 that this is a support/help tool with one parameter and no output schema, the description adequately covers what the tool does and when to use it. It could optionally mention response format or expected latency, but as is it is reasonably complete for an agent.

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

Parameters3/5

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

The input schema has one parameter 'query' with description 'Your question about Arize Phoenix, OpenInference, or related topics'. Schema description coverage is 100%. The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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 ('Get help with Phoenix and OpenInference') and lists specific areas of assistance (tracing, datasets, experiments, prompt management, evals, annotations). It distinguishes from siblings which are more specific data retrieval 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 explicitly states when to use the tool: 'Use this tool when you need assistance with Phoenix features, troubleshooting, or best practices.' It does not provide explicit when-not-to-use or alternatives, but the context of siblings implies the boundary.

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

upsert-promptC

Create or update a prompt with its template and configuration. Creates a new prompt and its initial version with specified model settings.

Example usage: Create a new prompt named 'email_generator' with a template for generating emails

Expected return: A confirmation message of successful prompt creation

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
templateYes
model_nameNogpt-4
descriptionNo
temperatureNo
model_providerNoOPENAI

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'create or update' but does not disclose update behavior (e.g., whether it overwrites or creates a new version), side effects, permissions, or limits. The description is vague on the mutation aspects.

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

Conciseness3/5

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

The description is front-loaded with purpose, then provides example usage and expected return. It is relatively concise but the example could be shortened. Every sentence adds some value, but the structure is adequate.

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 6 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the return value in detail, error handling, or update semantics. The example only covers creation, leaving significant gaps for a complex upsert operation.

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%, but the description only indirectly mentions 'template', 'configuration', and 'model settings'. It does not explain individual parameters like model_name, temperature, model_provider, or description. The example only uses name and template, leaving other parameters undocumented.

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

Purpose4/5

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

The description clearly states 'Create or update a prompt with its template and configuration' using a specific verb and resource. It distinguishes from sibling tools like get-prompt-by-identifier and list-prompt-versions, which are read-only. However, the example only shows creation, slightly missing the update aspect.

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 vs alternatives. It implies usage for creating/updating prompts but does not mention when to avoid it or when to use sibling tools like get-prompt-by-identifier for retrieval. The description lacks context for decision-making.

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

Tool Schema Changelog

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

  1. 11 tool updatesv1.0.39
    • Addedget-experiment-by-id
    • Addedget-latest-prompt
    • Addedget-prompt
    • Addedget-prompt-version-by-tag
    • Addedget-session
    • Addedget-span-annotations
    • Addedget-spans
    • Addedlist-annotation-configs
    • Addedlist-datasets
    • Addedlist-projects
    • Addedlist-prompts
  2. 17 tool updatesv1.0.38
    • Addedadd-dataset-examples
    • Addedadd-prompt-version-tag
    • Addedget-dataset
    • Addedget-dataset-examples
    • Addedget-dataset-experiments
    • Addedget-project
    • Addedget-prompt-by-identifier
    • Removedget-session
    • Removedlist-annotation-configs
    • Addedlist-experiments-for-dataset
    • Removedlist-projects
    • Addedlist-prompt-version-tags
    • Addedlist-prompt-versions
    • Addedlist-sessions
    • Addedlist-traces
    • Addedphoenix-support
    • Addedupsert-prompt
  3. 6 tool updatesv1.0.37
    • Addedget-prompt-version
    • Addedget-session
    • Addedget-trace
    • Addedlist-annotation-configs
    • Addedlist-projects
    • Removedlist-prompts
  4. 26 tool updatesv1.0.37
    • Removedadd-dataset-examples
    • Removedadd-prompt-version-tag
    • Removedget-dataset
    • Removedget-dataset-examples
    • Removedget-dataset-experiments
    • Removedget-experiment-by-id
    • Removedget-latest-prompt
    • Removedget-project
    • Removedget-prompt
    • Removedget-prompt-by-identifier
    • Removedget-prompt-version
    • Removedget-prompt-version-by-tag
    • Removedget-session
    • Removedget-span-annotations
    • Removedget-spans
    • Removedget-trace
    • Removedlist-annotation-configs
    • Removedlist-datasets
    • Removedlist-experiments-for-dataset
    • Removedlist-projects
    • Removedlist-prompt-version-tags
    • Removedlist-prompt-versions
    • Removedlist-sessions
    • Removedlist-traces
    • Removedphoenix-support
    • Removedupsert-prompt

TDQS

B3.2/5.0
Disambiguation3/5

Multiple tools for fetching prompts (get-prompt-by-identifier, get-prompt, get-latest-prompt) have overlapping functionality, which could cause confusion. Other tools are distinct.

Naming Consistency4/5

Tool names follow a consistent verb-noun pattern with hyphens (e.g., list-prompts, get-dataset). Minor deviations like get-latest-prompt vs get-prompt are present but overall consistent.

Tool Count4/5

27 tools cover multiple domains (prompts, datasets, experiments, traces, etc.) and are justified given the breadth of functionality, though slightly on the high side.

Completeness3/5

The tool surface covers core operations for prompts, datasets, and observability, but lacks delete operations for prompts and datasets, and does not include create dataset or project.

Maintenance

ActivityActive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    D
    quality
    D
    maintenance
    A ready-to-use starter implementation of the Model Context Protocol (MCP) server that enables applications to provide standardized context for LLMs with sample resources, tools, and prompts.
    2
    0
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server that enables AI agent access to Synapse entities such as Datasets, Projects, Folders, Files, Tables, and more.
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that wraps the Picsellia Python SDK, giving AI assistants access to computer vision platform capabilities such as datasets, experiments, models, deployments, and monitoring.
    -

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/Arize-ai/phoenix'

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