Arize Phoenix
About
Provides a unified interface to Arize Phoenix's capabilities for managing prompts, exploring datasets, and running experiments across different LLM providers
Details
- Repository
- Arize-ai/phoenix
Explore
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Arize PhoenixCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@arizeai/phoenix-mcp@latest -
Argument 3
--baseUrl -
Argument 4
https://my-phoenix.com -
Argument 5
--apiKey -
Argument 6
your-api-key
Environment-
PHOENIX_API_KEY
your-api-key -
PHOENIX_ENDPOINT
https://my-phoenix.com
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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"
]
}
}
}
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.
list-prompts
Retrieve a list of all available prompts.
get-prompt
Fetch details of a specific prompt.
get-latest-prompt
Get the most recent prompt available.
get-prompt-by-identifier
Retrieve a prompt using its unique identifier.
get-prompt-version
Fetch a specific version of a prompt.
list-prompt-versions
List all versions available for a specific prompt.
get-prompt-version-by-tag
Get a prompt version by its associated tag.
list-prompt-version-tags
Retrieve all tags associated with a prompt version.
add-prompt-version-tag
Add a new tag to a specific version of a prompt.
upsert-prompt
Create or update a prompt.
list-projects
Retrieve a list of all projects.
get-project
Fetch details of a specific project.
list-traces
Retrieve a list of all traces.
get-trace
Fetch details of a specific trace.
get-spans
Retrieve spans associated with a specific trace.
get-span-annotations
Fetch annotations related to a specific span.
list-sessions
Retrieve a list of all sessions.
get-session
Fetch details of a specific session.
list-annotation-configs
Retrieve a list of all annotation configurations.
list-datasets
Retrieve a list of all datasets.
get-dataset
Fetch details of a specific dataset.
get-dataset-examples
Retrieve examples from a specific dataset.
get-dataset-experiments
Fetch experiments associated with a specific dataset.
add-dataset-examples
Add new examples to a specific dataset.
list-experiments-for-dataset
Retrieve a list of experiments for a specific dataset.
get-experiment-by-id
Fetch details of a specific experiment using its ID.
The MCP server covers the main operational Phoenix workflows:
Prompts — list-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
Projects — list-projects, get-project
Traces — list-traces, get-trace
Spans — get-spans, get-span-annotations
Sessions — list-sessions, get-session
Annotation Configs — list-annotation-configs
Datasets — list-datasets, get-dataset, get-dataset-examples, get-dataset-experiments, add-dataset-examples
Experiments — list-experiments-for-dataset, get-experiment-by-id
For Phoenix documentation search, use the separate Phoenix Docs MCP server instead of this package.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"arize phoenix": {
"env": {
"PHOENIX_API_KEY": "your-api-key",
"PHOENIX_ENDPOINT": "https://my-phoenix.com"
},
"args": [
"-y",
"@arizeai/phoenix-mcp@latest",
"--baseUrl",
"https://my-phoenix.com",
"--apiKey",
"your-api-key"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"PHOENIX_API_KEY": "your-api-key",
"PHOENIX_ENDPOINT": "https://my-phoenix.com"
},
"args": [
"-y",
"@arizeai/phoenix-mcp@latest",
"--baseUrl",
"https://my-phoenix.com",
"--apiKey",
"your-api-key"
],
"command": "npx"
}
Macos
{
"env": {
"PHOENIX_API_KEY": "your-api-key",
"PHOENIX_ENDPOINT": "https://my-phoenix.com"
},
"args": [
"-y",
"@arizeai/phoenix-mcp@latest",
"--baseUrl",
"https://my-phoenix.com",
"--apiKey",
"your-api-key"
],
"command": "npx"
}
Windows
{
"env": {
"PHOENIX_API_KEY": "your-api-key",
"PHOENIX_ENDPOINT": "https://my-phoenix.com"
},
"args": [
"/c",
"npx",
"-y",
"@arizeai/phoenix-mcp@latest",
"--baseUrl",
"https://my-phoenix.com",
"--apiKey",
"your-api-key"
],
"command": "cmd"
}
<h1 align="center" style="border-bottom: none">
<div>
<a href="https://phoenix.arize.com/?utm_medium=github&utm_content=header_img&utm_campaign=phoenix-mcp">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Arize-ai/phoenix-assets/refs/heads/main/logos/Phoenix/phoenix.svg">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Arize-ai/phoenix-assets/refs/heads/main/logos/Phoenix/phoenix-white.svg">
</picture>
</a>
<br>
Arize Phoenix MCP Server
</div>
</h1>
<p align="center">
<a href="https://www.npmjs.com/package/@arizeai/phoenix-mcp">
</a>
<a href="https://github.com/Arize-ai/phoenix/blob/main/js/packages/phoenix-mcp/LICENSE">
</a>
<a href="https://cursor.com/install-mcp?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cDovL2xvY2FsaG9zdDo2MDA2IC0tYXBpS2V5IHlvdXItYXBpLWtleSJ9">
</a>

</p>
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"
]
}
}
}
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:
Prompts — list-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
Projects — list-projects, get-project
Traces — list-traces, get-trace
Spans — get-spans, get-span-annotations
Sessions — list-sessions, get-session
Annotation Configs — list-annotation-configs
Datasets — list-datasets, get-dataset, get-dataset-examples, get-dataset-experiments, add-dataset-examples
Experiments — list-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:
- 🌍 Join our Slack community.
- 📚 Read the Phoenix documentation.
- 💡 Ask questions and provide feedback in the _#phoenix-support_ channel.
- 🌟 Leave a star on our GitHub.
- 🐞 Report bugs with GitHub Issues.
- 𝕏 Follow us on 𝕏.
- 💼 Follow us on LinkedIn.
- 🗺️ Check out our roadmap to see where we're heading next.
License
Apache 2.0
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



