Braintrust MCP
Braintrust
Braintrust
Braintrust hosted MCP connects coding agents to production traces, experiments, datasets, prompts, scorers, evals and observability configuration.
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_queryQuery experiments, datasets, and logs using SQL. Supports SELECT, FROM, WHERE, GROUP BY, ORDER BY, and LIMIT.
infer_schemaDiscover 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.
summarize_experimentGet aggregated performance metrics for an experiment, optionally compared to a baseline.
list_recent_objectsList recently created projects, experiments, datasets, prompts, or functions you have access to.
resolve_objectConvert 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.
generate_permalinkGenerate 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.
lookup_usersResolve Braintrust organization member IDs to names and emails. Pass a batch of user IDs, search by partial name or email, or list every member.
lookup_api_keysResolve 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.
get_trace_work_itemsReturn 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.
update_trace_work_reportSave those work sections and per-span annotations back to the trace.
search_patternsSearch 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.
new_patternRecord 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.
update_patternUpdate 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.
create_preprocessorCreate a versioned preprocessor from inline JavaScript that converts raw trace data into text.
test_preprocessor_on_traceRun 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.
create_facetCreate a versioned facet that extracts a short summary from spans or traces. Facet extraction always uses Braintrust’s built-in facet model.
test_facet_on_traceRun an inline facet definition on up to ten span, trace, or group references without writing the result to the source trace.
enable_topics_automationEnable Topics for a project. This seeds processing for new traffic and doesn’t rewind historical data.
set_topics_automationUpdate an existing Topics automation’s facets, scope, filters, sampling, or timing.
unpin_topic_mapsRemove 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.
rewind_topics_automationRewind an existing Topics automation to process historical data from a start time or a recent window.
generate_monitor_chartPreview a monitor chart for project logs without modifying a saved view.
list_monitoring_viewsList a project’s saved monitor views and chart IDs.
get_monitoring_viewInspect a saved monitor view, including its options and ordered chart definitions.
create_monitoring_viewCreate a project-scoped monitor view, optionally containing charts you already previewed.
update_monitoring_viewInsert, update, or remove charts in an existing monitor view, one edit at a time or several in bulk.
list_automationsList 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.
set_automation_statusPause or activate an alert, scheduled job, or online scoring rule.
create_log_alertCreate an alert for individual matching project logs. Use config.interval_seconds to throttle repeated notifications.
create_environment_update_alertCreate an alert for environment updates. Use config.environment_filter to limit notifications to specific environment slugs.
create_threshold_alertCreate 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.
create_scheduled_loop_jobCreate a Loop job that runs on an interval or cron schedule over a recent window of project data.
list_slack_channelsList connected Slack workspaces and public channels for a project to resolve workspace and channel IDs before configuring Slack delivery.
create_promptCreate 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.
create_evaluatorCreate a versioned LLM or inline code evaluator. Set output_type to score for numeric scores or classification for categorical labels.
create_human_review_scoreCreate a categorical, slider, or free-form human review score for a project. Fails if the name already exists.
add_to_human_review_queueAdd 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.
test_evaluatorRun a saved, global, or inline evaluator against span, trace, or group references without writing results to the source trace.
update_online_scoring_ruleSave or rewind an online scoring rule that runs saved evaluator functions. New rules default to paused.
run_evalRun 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.
edit_dataset_rowsInsert, 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).
add_to_datasetCopy 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).
list_dataset_custom_viewsList 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.
save_dataset_custom_viewSave 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.
get_project_settingsReturn a project’s typed settings, including the effective default preprocessor. An unset default resolves to the built-in thread preprocessor.
set_project_default_preprocessorSet 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.
search_docsSearch Braintrust documentation to find relevant guides, API references, and code examples.
load_braintrust_skillLoad a Braintrust workflow guide or developer skill. The tool’s description and skill_name parameter list the skills available on your MCP server.
send_feedbackReport 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.
Documents OAuth/API-key options and permission inheritance.
Developer organization avatar; fallback tier D, visually checked.
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.
Braintrust
Braintrust hosted MCP connects coding agents to production traces, experiments, datasets, prompts, scorers, evals and observability configuration.
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_queryQuery experiments, datasets, and logs using SQL. Supports SELECT, FROM, WHERE, GROUP BY, ORDER BY, and LIMIT.
infer_schemaDiscover 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.
summarize_experimentGet aggregated performance metrics for an experiment, optionally compared to a baseline.
list_recent_objectsList recently created projects, experiments, datasets, prompts, or functions you have access to.
resolve_objectConvert 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.
generate_permalinkGenerate 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.
lookup_usersResolve Braintrust organization member IDs to names and emails. Pass a batch of user IDs, search by partial name or email, or list every member.
lookup_api_keysResolve 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.
get_trace_work_itemsReturn 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.
update_trace_work_reportSave those work sections and per-span annotations back to the trace.
search_patternsSearch 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.
new_patternRecord 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.
update_patternUpdate 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.
create_preprocessorCreate a versioned preprocessor from inline JavaScript that converts raw trace data into text.
test_preprocessor_on_traceRun 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.
create_facetCreate a versioned facet that extracts a short summary from spans or traces. Facet extraction always uses Braintrust’s built-in facet model.
test_facet_on_traceRun an inline facet definition on up to ten span, trace, or group references without writing the result to the source trace.
enable_topics_automationEnable Topics for a project. This seeds processing for new traffic and doesn’t rewind historical data.
set_topics_automationUpdate an existing Topics automation’s facets, scope, filters, sampling, or timing.
unpin_topic_mapsRemove 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.
rewind_topics_automationRewind an existing Topics automation to process historical data from a start time or a recent window.
generate_monitor_chartPreview a monitor chart for project logs without modifying a saved view.
list_monitoring_viewsList a project’s saved monitor views and chart IDs.
get_monitoring_viewInspect a saved monitor view, including its options and ordered chart definitions.
create_monitoring_viewCreate a project-scoped monitor view, optionally containing charts you already previewed.
update_monitoring_viewInsert, update, or remove charts in an existing monitor view, one edit at a time or several in bulk.
list_automationsList 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.
set_automation_statusPause or activate an alert, scheduled job, or online scoring rule.
create_log_alertCreate an alert for individual matching project logs. Use config.interval_seconds to throttle repeated notifications.
create_environment_update_alertCreate an alert for environment updates. Use config.environment_filter to limit notifications to specific environment slugs.
create_threshold_alertCreate 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.
create_scheduled_loop_jobCreate a Loop job that runs on an interval or cron schedule over a recent window of project data.
list_slack_channelsList connected Slack workspaces and public channels for a project to resolve workspace and channel IDs before configuring Slack delivery.
create_promptCreate 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.
create_evaluatorCreate a versioned LLM or inline code evaluator. Set output_type to score for numeric scores or classification for categorical labels.
create_human_review_scoreCreate a categorical, slider, or free-form human review score for a project. Fails if the name already exists.
add_to_human_review_queueAdd 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.
test_evaluatorRun a saved, global, or inline evaluator against span, trace, or group references without writing results to the source trace.
update_online_scoring_ruleSave or rewind an online scoring rule that runs saved evaluator functions. New rules default to paused.
run_evalRun 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.
edit_dataset_rowsInsert, 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).
add_to_datasetCopy 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).
list_dataset_custom_viewsList 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.
save_dataset_custom_viewSave 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.
get_project_settingsReturn a project’s typed settings, including the effective default preprocessor. An unset default resolves to the built-in thread preprocessor.
set_project_default_preprocessorSet 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.
search_docsSearch Braintrust documentation to find relevant guides, API references, and code examples.
load_braintrust_skillLoad a Braintrust workflow guide or developer skill. The tool’s description and skill_name parameter list the skills available on your MCP server.
send_feedbackReport 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.
Documents OAuth/API-key options and permission inheritance.
Developer organization avatar; fallback tier D, visually checked.
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.