Cómo usar Bencher MCP
Bencher MCP es un servidor Model Context Protocol (MCP) alojado.
Permite que los agentes y asistentes de IA consulten datos de benchmarks y envíen resultados sin necesidad de tener instalada la CLI bencher.
Cuando la CLI bencher está disponible, sigue siendo la forma recomendada de trabajar con Bencher.
bencher run se encarga de los adaptadores de arneses de benchmark, las iteraciones y la integración con CI.
Use Bencher MCP cuando la CLI no esté instalada o cuando su cliente MCP no pueda ejecutar comandos de shell.
Conectar
Bencher está en el directorio de conectores de Claude, que da servicio a claude.ai, Claude Desktop, Claude Mobile y Claude Code. Agregue el conector de Bencher e inicie sesión con su cuenta de Bencher cuando Claude se lo pida. Claude Code usa los conectores que agrega en claude.ai cuando este ha iniciado sesión con una suscripción de claude.ai. El conector solo se conecta a Bencher Cloud.
Bencher está en el directorio de plugins de OpenAI, que da servicio a ChatGPT y Codex.
Agregue el plugin de Bencher e inicie sesión con su cuenta de Bencher cuando se le pida.
En Codex, el plugin también incluye el skill de Bencher, para que Codex pueda ejecutar la CLI bencher.
El plugin solo se conecta a Bencher Cloud.
En su lugar, use la URL con otros clientes MCP, con Claude Code sin un inicio de sesión con suscripción de claude.ai, con Bencher Self-Hosted y en CI:
| Despliegue | URL |
|---|---|
| Bencher Cloud | https://mcp.bencher.dev/mcp |
| Bencher Self-Hosted | https://<api-host>/mcp |
Agregue la URL a su cliente MCP e inicie sesión con su cuenta de Bencher cuando el cliente se lo pida. Claude Code inicia sesión con OAuth, al igual que ChatGPT y claude.ai cuando agrega un servidor de Bencher Self-Hosted por su URL. Por ejemplo, conéctese desde Claude Code:
claude mcp add --transport http bencher https://mcp.bencher.dev/mcpCuando una herramienta necesite que inicie sesión, ejecute /mcp en Claude Code y siga los pasos en su navegador.
Para conectarse en su lugar con una clave de API, envíela en el encabezado Authorization:
claude mcp add --transport http bencher https://mcp.bencher.dev/mcp \ --header "Authorization: Bearer $BENCHER_API_KEY"O use una configuración genérica de cliente MCP:
{ "mcpServers": { "bencher": { "type": "http", "url": "https://mcp.bencher.dev/mcp", "headers": { "Authorization": "Bearer ${BENCHER_API_KEY}" } } }}Autenticación
Iniciar sesión con OAuth
Los clientes MCP que admiten OAuth inician sesión con su cuenta de Bencher, por lo que nunca tiene que pegar una clave en ellos.
El cliente abre Bencher en su navegador, ya sea al conectarse o la primera vez que una herramienta necesite que inicie sesión.
Bencher identifica la aplicación por su dirección web y muestra lo que la aplicación solicita hacer.
Inicie sesión, o pegue una clave de API de usuario (bencher_user_*), y luego apruebe o rechace la solicitud.
Bencher pregunta cada vez que una aplicación se conecta, y una clave de API de proyecto (bencher_run_*) no puede aprobar.
Una aplicación permanece conectada hasta un año.
Una aplicación aprobada con una clave de API de usuario se desconecta en cuanto esa clave se revoca o caduca.
Los tokens de acceso OAuth son para Bencher MCP:
la API de Bencher los rechaza con 401 Unauthorized.
En Bencher Self-Hosted, el inicio de sesión funciona una vez configurada la sección plus.oauth del servidor de API.
ChatGPT y claude.ai necesitan poder acceder al servidor desde internet.
Claude Code también puede iniciar sesión en un servidor de su propia red servido por https, siempre que el servidor pueda obtener el documento de metadatos de cliente de Claude Code o lo tenga configurado en plus.oauth.clients.
Scopes
Usted aprueba todos los scopes que solicita una aplicación, o ninguno:
| Scope | La aplicación puede |
|---|---|
projects:read |
Ver sus proyectos y sus resultados, incluidos los proyectos privados |
projects:write |
Ver, crear y cambiar datos en sus proyectos, incluidos los proyectos privados, como informes, thresholds y alertas, y enviar ejecuciones que crean proyectos o reclaman organizaciones unclaimed |
openid |
Saber con qué cuenta de Bencher ha iniciado sesión |
email |
Ver su dirección de correo electrónico y si está verificada |
profile |
Ver su nombre y su nombre de usuario |
Las herramientas de lectura (list_*, view_*, query_perf y perf_image) necesitan projects:read.
Todas las demás herramientas necesitan projects:write, que incluye projects:read.
Una aplicación que no solicita ninguno de los dos recibe projects:read.
A una aplicación que inició sesión sin projects:write se le pide que vuelva a iniciar sesión cuando llama a una herramienta que escribe.
Los scopes openid, email y profile son para OpenID Connect y solo están disponibles cuando el servidor tiene un plus.oauth.signing_key.
Una aplicación actúa en su nombre: su rol en cada proyecto sigue decidiendo qué puede ver y cambiar, y nunca tiene acceso de administrador del servidor.
Aplicaciones conectadas
Para ver las aplicaciones conectadas a su cuenta, abra Connected Apps desde el menú de su cuenta en la Bencher Console, o vaya a /console/users/apps.
Cada aplicación aparece con su dirección web, junto con lo que puede hacer, cuándo se conectó, cuándo renovó su acceso por última vez y cómo la aprobó.
Revoke desconecta una aplicación al instante.
Claves de API
Bencher MCP también acepta las mismas credenciales Authorization: Bearer que la API de Bencher:
una clave de API de proyecto (bencher_run_*) o una clave de API de usuario (bencher_user_*).
Una clave de API de proyecto está limitada a un solo proyecto, por lo que es la mejor opción para la mayoría de los agentes.
Una clave de API de usuario puede acceder a todos los proyectos del usuario.
Una credencial que no es válida se rechaza en cada solicitud y nunca se trata como anónima.
Sin iniciar sesión
Los proyectos públicos se pueden leer sin ninguna credencial. Las solicitudes anónimas comparten un límite de tasa por dirección IP, mientras que las solicitudes con sesión iniciada cuentan para sus propios límites. Cuando el servidor tiene OAuth configurado, Bencher MCP le pide a su cliente que inicie sesión cuando una llamada anónima a una herramienta lo necesita:
- Al leer un proyecto privado. Un proyecto que no existe recibe la misma respuesta, por lo que un proyecto o un ID mal escrito, incluso dentro de un proyecto público, también le pide que inicie sesión.
- Al llamar a una herramienta que escribe, salvo
submit_runa un proyectounclaimed. - Al listar los proyectos de una organización con
list_projects. - Al superar el límite de tasa anónimo.
Herramientas
El conjunto de herramientas refleja lo que puede hacer una clave de API de proyecto (bencher_run_*):
lecturas y escrituras limitadas al proyecto, sin herramientas para eliminar.
No hay herramientas para renombrar, y con una clave de API de proyecto las actualizaciones de alertas se limitan al estado.
La mayoría de las herramientas aceptan un argumento project que puede ser el slug o el UUID del proyecto.
| Herramienta | Propósito |
|---|---|
submit_run |
Enviar la salida sin procesar del arnés de benchmark; el servidor la analiza y crea branches, testbeds y thresholds sobre la marcha |
query_perf, perf_image |
Consultar métricas de benchmark a lo largo del tiempo; generar una imagen del gráfico de rendimiento |
list_projects, view_project |
Proyectos |
list_reports, create_report, view_report |
Informes |
list_branches, create_branch, view_branch, update_branch |
Branches |
list_testbeds, create_testbed, view_testbed, update_testbed |
Testbeds |
list_benchmarks, create_benchmark, view_benchmark, update_benchmark |
Benchmarks |
list_measures, create_measure, view_measure, update_measure |
Measures |
list_thresholds, create_threshold, view_threshold, update_threshold |
Thresholds |
list_alerts, view_alert, update_alert |
Alertas |
view_metric |
Una métrica individual con todo su contexto |
list_plots, create_plot, view_plot, update_plot |
Gráficos guardados del panel |
list_jobs, view_job |
Trabajos de runners bare metal |