Skip to directory

About Braintrust MCP

Braintrust hosted MCP connects coding agents to production traces, experiments, datasets, prompts, scorers, evals and observability configuration.

What you can use it for

  • Inspect/query traces, experiments and datasets; create/test evaluators and run evals.
  • Configure prompts, topics, monitor views, alerts and project settings; search product documentation.
Connection and setup
Hosting
hosted
Transport
Streamable HTTP
Endpoint
https://api.braintrust.dev/mcp (US); https://api-eu.braintrust.dev/mcp (EU)
Authentication
API key or OAuth 2.0.

Requirements

  • Braintrust organization and project access
  • Use https://api-eu.braintrust.dev/mcp for EU data plane; self-hosted organizations use the URL in their data-plane settings

Setup steps

  1. Register the matching US, EU, or self-hosted HTTPS MCP endpoint.
  2. Use OAuth when the MCP client supports it, or configure an API key via the client’s secure header facility.
  3. Inspect tools/list; require confirmation for write operations.
Tools 49

49 exact MCP names and descriptions are listed in the current first-party reference Tools table crawled 2026-10-29. Account permissions and project access govern the effective available operations.

  • sql_query

    Query experiments, datasets, and logs using SQL. Supports SELECT, FROM, WHERE, GROUP BY, ORDER BY, and LIMIT.

    01
  • infer_schema

    Discover the available fields, data types, and most common values in experiments, datasets, or logs. The limit parameter defaults to 1,000 fields and cannot exceed 1,000. Use fields to narrow the result to specific top-level fields such as metadata.

    02
  • summarize_experiment

    Get aggregated performance metrics for an experiment, optionally compared to a baseline.

    03
  • list_recent_objects

    List recently created projects, experiments, datasets, prompts, or functions you have access to.

    04
  • resolve_object

    Convert names to IDs or vice versa, and parse Braintrust URLs. For pattern, prompt, and scorer URLs, returns the containing project as object_id and the resource as row_id. App URLs retain their organization scope. Supply org_name to disambiguate name lookups. Ambiguous names return an error.

    05
  • generate_permalink

    Generate a direct web link to a Braintrust object for sharing or bookmarking. For project_logs, project_patterns, project_prompts, and project_functions, supply project_name or the project UUID as object_id. Pass root_span_id as row_id for log entries, or the resource ID as row_id for patterns, prompts, and scorers. Supply org_name to scope a name lookup to one organization.

    06
  • lookup_users

    Resolve Braintrust organization member IDs to names and emails. Pass a batch of user IDs, search by partial name or email, or list every member.

    07
  • lookup_api_keys

    Resolve API key and service token IDs to their names. Pass a batch of IDs, match an exact name, or list every key visible to you. Results follow existing API key and service token visibility rules.

    08
  • get_trace_work_items

    Return meaningful LLM, tool, function, and task spans in chronological order for [trace analysis](https://www.braintrust.dev/docs/loop/capabilities#analyze-traces). If no eligible child spans exist, return the root span when it contains analyzable input, output, or error.

    09
  • update_trace_work_report

    Save those work sections and per-span annotations back to the trace.

    10
  • search_patterns

    Search existing project patterns by text, semantic similarity, ID, status, or quality. Pass similar_to with one or more pattern IDs or unreported pattern drafts to catch duplicates that use different wording. For listings and text searches, continue while has_more is true by passing the returned cursor with the same project and filters. Semantic searches using similar_to do not support cursors. Results include each pattern’s source_review.

    11
  • new_pattern

    Record a pattern the agent has identified, with the evidence behind it. The agent decides what counts as a pattern, so asking for one doesn’t guarantee a record is written. Requires source_review, with a status of no_source_code, reviewed_with_findings, or reviewed_without_findings and a non-empty explanation. Put code citations in evidence.source_references. A pattern with matching traces also requires last_seen and first_seen, the created timestamps of the latest and earliest matching traces.

    12
  • update_pattern

    Update an existing project pattern, attach evidence to matching traces, or [manage duplicate patterns](https://www.braintrust.dev/docs/integrations/developer-tools/mcp#manage-duplicate-patterns). Can also set severity and category, set or clear quality (useful or noise), append a feedback comment attributed to the calling user or automation, and add a missing source_review. When a person has corrected the pattern’s severity or categories, new values apply only to requests made with a person’s own credentials, such as their API key or a Loop conversation they started. Other requests return a warning, and the corrected value stays. A write that reports matching traces, attaches trace evidence, or reactivates a pattern requires last_seen and first_seen only when the pattern doesn’t already have them; omit either to preserve the pattern’s saved value.

    13
  • create_preprocessor

    Create a versioned preprocessor from inline JavaScript that converts raw trace data into text.

    14
  • test_preprocessor_on_trace

    Run a saved, global, or inline preprocessor on up to 50 span, trace, or group references without writing to the source trace. Each result is capped at 128 KiB. The text previews returned to the assistant share a separate 128 KiB budget across the whole batch. When a batch exceeds that budget, longer previews are shortened from the middle. Test fewer references at a time to get more detail.

    15
  • create_facet

    Create a versioned facet that extracts a short summary from spans or traces. Facet extraction always uses Braintrust’s built-in facet model.

    16
  • test_facet_on_trace

    Run an inline facet definition on up to ten span, trace, or group references without writing the result to the source trace.

    17
  • enable_topics_automation

    Enable Topics for a project. This seeds processing for new traffic and doesn’t rewind historical data.

    18
  • set_topics_automation

    Update an existing Topics automation’s facets, scope, filters, sampling, or timing.

    19
  • unpin_topic_maps

    Remove version pins from a Topics automation’s topic maps so new traffic uses each topic map’s latest version. Facets, filters, and other settings stay the same, and existing labels don’t change.

    20
  • rewind_topics_automation

    Rewind an existing Topics automation to process historical data from a start time or a recent window.

    21
  • generate_monitor_chart

    Preview a monitor chart for project logs without modifying a saved view.

    22
  • list_monitoring_views

    List a project’s saved monitor views and chart IDs.

    23
  • get_monitoring_view

    Inspect a saved monitor view, including its options and ordered chart definitions.

    24
  • create_monitoring_view

    Create a project-scoped monitor view, optionally containing charts you already previewed.

    25
  • update_monitoring_view

    Insert, update, or remove charts in an existing monitor view, one edit at a time or several in bulk.

    26
  • list_automations

    List a project’s automations, including online scoring rules, alerts, exports, retention policies, and Topics automations. Filter by automation_id, name, or kind. Returns complete configurations, so you can inspect an automation before updating it.

    27
  • set_automation_status

    Pause or activate an alert, scheduled job, or online scoring rule.

    28
  • create_log_alert

    Create an alert for individual matching project logs. Use config.interval_seconds to throttle repeated notifications.

    29
  • create_environment_update_alert

    Create an alert for environment updates. Use config.environment_filter to limit notifications to specific environment slugs.

    30
  • create_threshold_alert

    Create an alert for an aggregate over a recent window of project data, evaluated on a schedule. Use it for averages, counts, rates, percentages, percentiles, and distributions.

    31
  • create_scheduled_loop_job

    Create a Loop job that runs on an interval or cron schedule over a recent window of project data.

    32
  • list_slack_channels

    List connected Slack workspaces and public channels for a project to resolve workspace and channel IDs before configuring Slack delivery.

    33
  • create_prompt

    Create a versioned prompt from a completion-style prompt or chat messages. Set if_exists to replace to save a new version, or ignore to leave an existing prompt unchanged.

    34
  • create_evaluator

    Create a versioned LLM or inline code evaluator. Set output_type to score for numeric scores or classification for categorical labels.

    35
  • create_human_review_score

    Create a categorical, slider, or free-form human review score for a project. Fails if the name already exists.

    36
  • add_to_human_review_queue

    Add up to 100 project log traces, experiment traces, or dataset rows from one source to [human review](https://www.braintrust.dev/docs/annotate/human-review/score-traces) by row ID. Targets project logs by default. Pass experiment_id or dataset_id to select an experiment or dataset in the same project. Optionally [assign reviewers](https://www.braintrust.dev/docs/annotate/human-review/manage-review-work#assign-rows-for-review) via assignee_user_ids. If any row is missing or already marked complete, the tool writes no rows.

    37
  • test_evaluator

    Run a saved, global, or inline evaluator against span, trace, or group references without writing results to the source trace.

    38
  • update_online_scoring_rule

    Save or rewind an online scoring rule that runs saved evaluator functions. New rules default to paused.

    39
  • run_eval

    Run an experiment with a hosted dataset, inline rows, or a prior experiment as input data, any saved or inline task, and zero or more saved or inline scorers. When a prior experiment supplies the data, its outputs become expected values unless an expected value was already recorded.

    40
  • edit_dataset_rows

    Insert, update, or delete dataset rows. Target a dataset by ID or name, and set create_if_missing to create a new named dataset. Inserts accept optional tags and origin. See [Batch limits](https://www.braintrust.dev/docs/integrations/developer-tools/mcp#run-evals-and-edit-datasets).

    41
  • add_to_dataset

    Copy project log rows into a dataset by row ID, preserving their data and source links. See [Copy behavior and limits](https://www.braintrust.dev/docs/integrations/developer-tools/mcp#run-evals-and-edit-datasets).

    42
  • list_dataset_custom_views

    List up to 100 of a project’s saved dataset custom views, optionally for one dataset, with each view’s code and a link that opens it.

    43
  • save_dataset_custom_view

    Save a [custom view](https://www.braintrust.dev/docs/annotate/custom-views) for labeling a dataset’s rows and return a link that opens the dataset with the view selected. Set if_exists to replace to save a new version of an existing view, or ignore to leave an existing view unchanged.

    44
  • get_project_settings

    Return a project’s typed settings, including the effective default preprocessor. An unset default resolves to the built-in thread preprocessor.

    45
  • set_project_default_preprocessor

    Set or clear a project’s default preprocessor. Pass null to restore the built-in default. This changes the default used by facets and other project functions that don’t select a preprocessor explicitly.

    46
  • search_docs

    Search Braintrust documentation to find relevant guides, API references, and code examples.

    47
  • load_braintrust_skill

    Load a Braintrust workflow guide or developer skill. The tool’s description and skill_name parameter list the skills available on your MCP server.

    48
  • send_feedback

    Report a problem with the MCP server to the Braintrust team, such as a missing capability, a tool error or malformed output, or a confusing tool schema. Takes a single feedback string, doesn’t change any data, and returns Feedback recorded.

    49
Limitations and notes
  • Write actions use the authenticated account permissions. Evaluations may consume compute/model usage; dataset deletions are permanent.
Original sources
  • official authentication documentation

    Documents OAuth/API-key options and permission inheritance.

  • verified organization avatar

    Developer organization avatar; fallback tier D, visually checked.

  • official documentation

    Official Braintrust announcement documents Streamable HTTP, API-key/OAuth, US/EU endpoints, and trace, experiment, dataset, prompt, scorer, evaluation and observability workflows; public page does not give exact tool identifiers.

Documentation checked 2026-10-28T18:15:00.000Z. Connection has not been runtime tested.