Reference
Configuration Schema
Complete field reference for eval.yaml.
servers[ ]
- id (string, required) — unique identifier used in scenario server lists.
- transport (string, required) — connection type. Use "http" for HTTP/SSE.
- url (string, required) — full URL of the MCP endpoint.
- token (string, optional) — bearer token for authentication. Use a literal string or $ENV_VAR to read from the environment.
agents[ ]
- id (string, required) — unique identifier referenced by scenarios.
- provider (string, required) — LLM provider. One of: anthropic, openai, azure.
- model (string, required) — model identifier as used by the provider API.
- temperature (number, optional) — sampling temperature. Defaults to 0.
scenarios[ ]
- id (string, required) — unique identifier for the scenario.
- servers (string[], required) — list of server ids to give the agent access to.
- prompt (string, required) — the task description sent to the agent.
- agent (string, optional) — id of a specific agent to run. When omitted all agents run this scenario.
- eval (object, optional) — assertions to check after the agent completes.
eval.tool_constraints and eval.response_assertions
- tool_constraints.required_tools (string[], optional) — tool names the agent must call.
- tool_constraints.forbidden_tools (string[], optional) — tool names the agent must not call.
- response_assertions[ ].type: "regex" — agent response must match pattern.
- response_assertions[ ].type: "contains" — agent response must contain value.
$ref Syntax
Use $ref inside a servers or agents list item to pull in a definition from an external YAML file.
example
servers:
- $ref: ./shared/servers.yaml#my-server