MCPLab

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