Connect your AI Agents to Arize in minutes

Available tools
list_users
List users in the Arize organization via GraphQL. Use cursor from page_info for next page.
list_integrations
List integrations in the Arize organization via GraphQL.
assign_space_member
Assign a user to an Arize space with a role via GraphQL. Use list_users and list_spaces for valid IDs.
remove_space_member
Remove a user from an Arize space via GraphQL. Use list_users and list_spaces for valid IDs.
create_integration_key
Create an integration key for an Arize integration via GraphQL. Key value is returned only once.
delete_integration_key
Delete an Arize integration key via GraphQL. Irreversible. Use list_integrations to find valid IDs.
list_ai_integrations
List all Arize AI provider integrations with pagination. Use cursor from page_info for next page.
create_ai_integration
Create an Arize AI provider integration. Providers: openAI, azureOpenAI, awsBedrock, vertexAI, anthropic, custom, nvidiaNim, gemini.
get_ai_integration
Get an Arize AI integration by ID. Use list_ai_integrations to find valid IDs.
update_ai_integration
Update an Arize AI integration name or API key. Use list_ai_integrations to find valid IDs.
delete_ai_integration
Delete an Arize AI integration. Irreversible. Use list_ai_integrations to find valid IDs.
list_annotation_configs
List all Arize annotation configs with pagination. Use cursor from page_info for next page.
create_annotation_config
Create an Arize annotation config. Types: categorical (labels), continuous (numeric), freeform (text). Requires space_id.
get_annotation_config
Get an Arize annotation config by ID. Use list_annotation_configs to find valid IDs.
delete_annotation_config
Delete an Arize annotation config. Irreversible. Use list_annotation_configs to find valid IDs.
list_annotation_queues
List all Arize annotation queues with pagination. Use cursor from page_info for next page.
create_annotation_queue
Create an Arize annotation queue with optional project and annotation config associations.
get_annotation_queue
Get an Arize annotation queue by ID. Use list_annotation_queues to find valid IDs.
update_annotation_queue
Update an Arize annotation queue name, description, or configs. Use list_annotation_queues for valid IDs.
delete_annotation_queue
Delete an Arize annotation queue. Irreversible. Use list_annotation_queues to find valid IDs.
list_annotation_queue_records
List records in an Arize annotation queue with pagination. Use cursor from page_info for next page.
add_annotations
Add annotations to an Arize model record via GraphQL. Requires model ID, record ID, and annotation list.
list_api_keys
List all Arize API keys with pagination. Use cursor from page_info to get the next page.
create_api_key
Create a new Arize API key. The key value is only returned once on creation.
delete_api_key
Delete an Arize API key by ID. This action is irreversible. Use list_api_keys to find valid IDs.
regenerate_api_key
Regenerate an Arize API key by ID. Returns the new key value. Use list_api_keys to find valid IDs.
list_custom_metrics
List custom metrics for an Arize model via GraphQL. Use cursor from page_info for next page.
create_custom_metric
Create a custom metric for an Arize model via GraphQL. Use list_models to find valid model IDs.
update_custom_metric
Update an Arize custom metric name, expression, or description via GraphQL.
create_dashboard
Create a new Arize dashboard in a space via GraphQL. Use list_spaces to find valid space IDs.
create_dashboard_from_template
Create an Arize dashboard from a template via GraphQL. Optionally bind it to a model.
list_datasets
List Arize datasets with optional space filter and pagination. Use cursor from page_info for next page.
create_dataset
Create a new Arize dataset in a space with initial examples. Use list_spaces to find valid space IDs.
get_dataset
Get an Arize dataset by ID. Use list_datasets to find valid dataset IDs.
delete_dataset
Delete an Arize dataset by ID. This action is irreversible. Use list_datasets to find valid IDs.
list_dataset_examples
List examples in an Arize dataset with pagination. Use cursor from page_info for next page.
add_dataset_examples
Append new examples to an Arize dataset. Returns the updated dataset. Each example is a free-form object.
update_dataset_examples
Update existing examples in an Arize dataset. Each example must include its ID. Returns the updated dataset.
list_evaluators
List all Arize evaluators with pagination. Use cursor from page_info to get the next page.
create_evaluator
Create a new Arize LLM evaluator (type=template). Requires space_id, name, type, and version with template_config and llm_config (needs ai_integration_id).
get_evaluator
Get an Arize evaluator by ID. Use list_evaluators to find valid evaluator IDs.
update_evaluator
Update an Arize evaluator name or description. Use list_evaluators to find valid evaluator IDs.
delete_evaluator
Delete an Arize evaluator by ID. This action is irreversible. Use list_evaluators to find valid IDs.
list_evaluator_versions
List versions of an Arize evaluator with pagination. Use cursor from page_info for next page.
create_evaluator_version
Create a new version of an Arize evaluator. Requires commit_message and template_config with llm_config.
get_evaluator_version
Get a specific Arize evaluator version by version ID. Use list_evaluator_versions to find valid IDs.
list_experiments
List Arize experiments with optional dataset filter and pagination. Use cursor from page_info for next page.
create_experiment
Create a new Arize experiment on a dataset. Requires dataset_id and at least one experiment run with example_id and output.
get_experiment
Get an Arize experiment by ID. Use list_experiments to find valid experiment IDs.
delete_experiment
Delete an Arize experiment by ID. This action is irreversible. Use list_experiments to find valid IDs.
list_experiment_runs
List runs for an Arize experiment with pagination. Use cursor from page_info for next page.
list_models
List models in an Arize space via GraphQL. Use cursor from page_info for next page.
get_model
Get an Arize model by ID including its versions via GraphQL. Use list_models to find valid model IDs.
get_model_schema
Get an Arize model's features and tags schema via GraphQL. Use list_models to find valid model IDs.
get_model_tracing_schema
Get an Arize model's tracing schema including span properties and LLM evals via GraphQL.
list_monitors
List Arize monitors for a space via GraphQL. Requires space_id. Use cursor from page_info for next page.
create_drift_monitor
Create an Arize drift monitor for a model feature via GraphQL. Use list_models to find valid model IDs.
create_performance_monitor
Create an Arize performance monitor for a model metric via GraphQL. Use list_models for valid model IDs.
create_data_quality_monitor
Create an Arize data quality monitor for a model feature via GraphQL. Use list_models for valid model IDs.
update_monitor
Update an Arize monitor's mute status, threshold, or contacts via GraphQL. Use list_monitors for valid IDs.
delete_monitor
Delete an Arize monitor via GraphQL. Irreversible. Use list_monitors to find valid monitor IDs.
get_monitor_history
Get historical calculations for an Arize monitor within a time range via GraphQL.
get_monitor_audit_log
Get the audit log for an Arize monitor showing configuration changes via GraphQL.
list_projects
List all Arize projects with pagination. Use cursor from page_info to get the next page.
create_project
Create a new Arize project in a space. Use list_spaces to find valid space IDs.
get_project
Get an Arize project by ID. Use list_projects to find valid project IDs.
delete_project
Delete an Arize project by ID. This action is irreversible. Use list_projects to find valid project IDs.
list_prompts
List all Arize prompts with pagination. Use cursor from page_info to get the next page.
create_prompt
Create a new Arize prompt with an initial version. Requires space_id, name, and version config (commit_message, provider, input_variable_format, messages).
get_prompt
Get an Arize prompt by ID with its resolved version. Use list_prompts to find valid prompt IDs.
update_prompt
Update an Arize prompt's description. Use list_prompts to find valid prompt IDs.
delete_prompt
Delete an Arize prompt by ID. This action is irreversible. Use list_prompts to find valid prompt IDs.
list_prompt_versions
List all versions of an Arize prompt with pagination. Use cursor from page_info for next page.
create_prompt_version
Create a new version of an Arize prompt. Requires commit_message, input_variable_format, provider, and at least one message.
get_prompt_version
Get a specific Arize prompt version by version ID. Use list_prompt_versions to find valid version IDs.
set_prompt_version_labels
Set labels on an Arize prompt version (e.g., 'production', 'staging'). Replaces all existing labels on this version.
remove_prompt_version_label
Remove a specific label from an Arize prompt version. Use list_prompt_versions to see current labels.
resolve_prompt_label
Resolve an Arize prompt label to its current version. Use list_prompts to find valid prompt IDs.
list_spaces
List all Arize spaces with pagination. Use cursor from page_info to get the next page.
create_space
Create a new Arize space. organization_id is auto-fetched from existing spaces; provide it explicitly for accounts with no spaces yet.
get_space
Get an Arize space by ID. Use list_spaces to find valid space IDs.
update_space
Update an Arize space name or description. Use list_spaces to find valid space IDs.
list_spans
Search and list Arize spans for a project with optional time range and filters. Supports pagination.
validate_credential
Validate Arize API key by listing projects. Returns success/failure with a human-readable message.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Arize MCP server
FAQs on using Merge's Arize MCP server
What is an Arize MCP?
It's an MCP server that gives your agents access to Arize's AI observability and evaluation platform through tools. Your agents can invoke these tools to list and create monitors, manage prompt versions, query datasets, build annotation queues, and run evaluations, and more.
Arize offers an official MCP server, but you can use one from a third-party platform, like Merge Agent Handler.
How can I use the Arize MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Prompt regression detection: When a new prompt version is deployed in your LLM application, an agent retrieves the latest evaluation scores from Arize for that version and compares them against the prior version, posting a Slack alert if performance drops below a defined threshold before the change reaches production users
- Monitor alert routing: When a model monitor in Arize fires, an agent reads the monitor details, identifies the affected model and metric, and creates a Linear issue assigned to the owning ML engineer with the full threshold violation details attached
- Dataset preparation before evaluation runs: When a new evaluation is kicked off, an agent adds examples to the relevant Arize dataset from an external data store, ensuring the evaluation set is current and complete before the evaluators execute
- Annotation queue creation for human review: When model performance drops below a defined threshold, an agent creates an annotation queue in Arize and routes it to the appropriate review team, ensuring low-quality outputs get human review rather than going unexamined
What are popular tools for Arize's MCP server?
Here are some of the most commonly used tools:
list_monitors: returns all monitors configured for a model in Arize, including their status, metric type, and threshold settings. Useful for agents that need a snapshot of active monitoring coverage before deciding whether to create a new alert or update an existing one
list_models: retrieves all models registered in an Arize space. Call this when an agent needs to identify which model to scope a monitor, evaluation, or dataset to before taking further action
list_prompt_versions: returns all versions of a prompt along with their metadata and labels. Good for workflows that compare prompt performance across versions or need to identify the current production-tagged version before running an evaluation
create_prompt: registers a new prompt in Arize with a name, template, and version metadata. Use this when an agent needs to track a newly written prompt alongside its evaluation history from the first deployment
list_evaluators: returns the evaluators available in an Arize space, including their type and configuration. Helpful when an agent needs to select the right evaluator before attaching it to a dataset or annotation queue
list_datasets: retrieves all datasets in an Arize space with their associated metadata. Call this when an agent needs to locate an existing dataset before adding examples or kicking off an evaluation run against it
What makes Merge Agent Handler's Arize MCP server better than alternative Arize MCP servers?
A few factors make Merge Agent Handler the stronger choice for teams connecting agents to Arize:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Arize, this means you can prevent proprietary prompt templates, model evaluation results, or internal dataset contents from being exposed to agents that don't require that level of access
- Managed authentication and credentials: Merge stores and refreshes your Arize API credentials on your behalf. You never expose raw API keys to an agent or manually rotate credentials when they change
- Real-time observability and audit trail: Every Arize tool call is logged with the timestamp, tool name, input parameters, and response metadata. You can audit exactly which models, prompts, or datasets an agent accessed without adding any instrumentation to your ML pipeline
- Tool Packs and controlled access: Tool Packs let you define which Arize tools each agent can use. For example, a monitoring agent can access tools like
list_monitorsandlist_models. But it never gets access tocreate_annotation_queue, dataset write operations, or other tools outside its scope
How can I start using Merge Agent Handler's Arize MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Arize and complete the API key setup. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Arize data directly. The first time you use an Arize tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Arize MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now




















