Phoenix Plugins for Coding Tools
September 9 to 10, 2026 Available in arize-phoenix 20.10.0+; plugin connections use the built-in MCP endpoint from arize-phoenix 19.0.0+ The Phoenix repository is now a plugin marketplace. After install, point the plugin at your Phoenix instance. The tool can then read traces and datasets through the built-in MCP server. Experiments, prompts, and Phoenix docs are available too.- Claude Code and Cursor also get the skills. They install
phoenix-clitogether withphoenix-evalsandphoenix-tracing, so there is no separateskills addstep. The Codex plugin registers the MCP server config. - Point it at your instance once. Claude Code and Cursor prompt for a Phoenix endpoint
and default to
http://localhost:6006. They append/mcpthemselves; Codex readsPHOENIX_ENDPOINTfrom the shell you launch it in. - OAuth handles auth. When your Phoenix requires a login, the MCP server signs in through the
browser on first use. For a headless environment, register a bearer-token server with
px setup mcpinstead. - Codex can use an API key without exposing it. If
PHOENIX_API_KEYis set, the launcher passes it tomcp-remoteat runtime instead of putting the plaintext key in the command arguments. - Cursor also gets Phoenix docs. The Cursor plugin registers a
phoenix-docsMCP server next to the instance server, so it can search the docs without extra setup. - Manual setup remains available. You can still install the CLI and MCP server separately, then add skills only when you need them.
Coding Agents
Install plugins and configure Phoenix MCP
Remote MCP Server
The MCP endpoint the plugins connect to
Error Analysis Through MCP
September 11 to 12, 2026 Available in arize-phoenix 20.11.0+ Phoenix now hosts the error-analysis skill for sampled Phoenix records; it turns observed problems into notes, then groups those notes into focused annotations with labels and counts. Use the result to pick eval targets and fix priorities from real traffic.- Any MCP client can load it because the
/mcphandshake lists the shared skills and exposesload_skillandload_skill_reference, so a connected tool can run it without a local skill install. - PXI records notes on the trace data. PXI can create notes on spans or on whole traces and
sessions through MCP, so open coding notes land on the entity instead of in the chat log. This
replaces the older
debug-trace/span-coding/annotate-spansskills. - Summary links come prefiltered. Each annotated level links to its own filtered traces or sessions table.
- Install it anywhere with
npx skills add Arize-ai/phoenix --skill phoenix-error-analysis.
PXI
Investigate Phoenix data with PXI
Skills
Install Phoenix skills for connected tools
Completeness Evaluator
September 9, 2026 Available in arize-phoenix-evals 3.7.0+ (Python) and @arizeai/phoenix-evals 2.5.0+ (TypeScript) Check whether a conversation satisfied every active request in the record. A response that resets the password but silently drops the billing address change scoresincomplete.
- Completion means finished work. Delivered answers and artifacts count only when they include the required parts. Actions count only when success is visible in the record. Refusals do not count as completed work; neither do clarifying questions or blocker reports. Withdrawn requests are excluded.
- Pass the whole record as
conversation. For traced conversations, include tool results next to the calls so the evaluator can verify that an action actually succeeded. - The result is one label. It returns
completeorincomplete, with an explanation that walks each request it tracked.
Completeness
Prompt, labels, and scoring details
Pre-Built Metrics
Every evaluator that ships with Phoenix
Document Relevance Evaluators Are Deprecated
September 9, 2026 Deprecated in arize-phoenix-evals 3.7.0 and @arizeai/phoenix-evals 2.5.0DocumentRelevanceEvaluator and createDocumentRelevanceEvaluator now emit a deprecation warning
and will be removed in the next major release. Retrieval relevance covers the same judgment and
accepts any retrieved context, not only a single document.
- Rename the input field
document_texttocontext; in TypeScript, the field isdocumentText. - The negative label changes from
unrelatedtoirrelevant, so update anything that branches on it. - Pass one document as
contextto keep scoring each document separately.
Retrieval Relevance
The replacement evaluator
Filter Spans by Cost and Annotation Identifier
September 10, 2026 Available in arize-phoenix 20.10.0+ The span filter now reads a span’s own cost. Every filter level can match an annotation’s identifier, so you can find expensive spans or PXI-labeled traces with one expression in the filter bar.- Cost scalars
total_cost/prompt_cost/completion_costread the span’s cost row and return0when the span has no recorded cost. cost_detailsiterates the rows for each token type withany,all,len,sum,max, andmin, exposingtoken_type,is_prompt,cost,tokens, pluscost_per_token..identifierjoins.label/.score/.explanationon annotation lookups in the span, trace, or session filters.- The filter bar autocompletes the new names and includes snippets for cost and cost-detail filters.
Filter Expressions
Filter vocabulary for spans, traces, sessions
Prompt Version Metadata
September 9 to 10, 2026 Available in arize-phoenix 20.10.0+ (server and UI) and @arizeai/phoenix-client 7.11.0+ (TypeScript) Prompt versions now carry JSON metadata for version-scoped details such as owner, upstream dependency, or review status.- Set and read it over REST or GraphQL, then pass
metadatato the TypeScriptpromptVersion()helper. - The playground’s save dialog offers the Metadata field when saving a new version of an existing prompt, not only when creating a prompt.
- The prompt version details page displays it, so you can inspect version tags without writing a query.
Create a Prompt
Push prompt versions from the SDKs
REST API Updates
September 14, 2026 Available in arize-phoenix 20.12.0+filteronGET /v1/projects/{project_identifier}/tracesand.../sessionstakes the same trace and session filter expressions the UI uses. It combines with the other query parameters using AND; an empty expression does not filter, and an invalid one returns400.- The discrete trace filters are deprecated.
errorstill works, as domin_latency_msandmax_latency_ms, butfilter=error_count > 0andfilter=latency_ms >= 1000replace them. GET /v1/datasets/{dataset_identifier}/splitslists a dataset’s splits with cursor pagination. A split appears when at least one of its examples belongs to the dataset, soexample_countis dataset-scoped and agrees with the create/update/delete endpoints.
List Traces for a Project
Endpoint reference
Splits
Work with dataset splits
Additional Improvements
September 9 to 14, 2026 Available in arize-phoenix 20.10.0+- Reasoning content appears in its own collapsible block for LLM span messages, with Markdown summaries and an explanation when the provider returned only an encrypted payload.
- Token tooltips show cache reads and writes, so cumulative counts in the traces, spans, session, and experiment views show whether prompt caching was hit.
- Trace and session filters live in the URL.
traceFilterConditionandsessionFilterConditionmake a filtered table shareable, and a filtered link no longer flashes unfiltered rows first. - The traces table shows span annotations by default, under a column name that accounts for the child spans revealed by expanded rows.
- Experiment comparisons open example details from an ID and show example external IDs.
- Notes have GraphQL mutations at every supported record level, with an explicit annotator kind and source.
- Built-in token prices are refreshed, image generation models stay in the cost manifest, and
gpt-image-2.5is priced. - Annotation explanation controls are clickable and keyboard-reachable, and code editor errors render inside dialogs instead of overflowing them.
- The bundled SQLite extension driver fixes memory-safety and correctness bugs in
arize-phoenix-sqlean0.1.2.

