1. Add your tools to the library
Experiments pick what they give agents from your organization’s library. In the web app, open Library:- Repositories → Add repository: URL
https://github.com/alpic-ai/apps-sdk-template, refmain. Repositories in the library must be public. - MCP servers → Add MCP server: its URL, the name the agent knows it by, and its authentication:
- None when it asks for nothing.
- Bearer token when it takes a key. Tracks never shows the token again once saved.
- OAuth when it needs an account: click Connect and sign in once, and runs act as that account.
- Skills → Add skill, to measure a skill instead: from a public GitHub URL, or uploaded or pasted.
connected: false needs Connect in the web app first: an experiment using it cannot launch.
2. Write the experiment
Save this asexperiment.json, with your repository and MCP server ids in place of <repository-id> and <mcp-server-id>:
experiment.json
scenarios: the task. The prompt doesn’t mention your MCP server, so you also learn whether agents find it on their own. Each evaluation is a yes-or-no question; a run passes with a weighted score of 80 or more out of 100. See Write evaluations.agents: a harness and a model each. Every agent gets every scenario in every variant.repositoriesandagent_tools: every combination is a variant, here two: the repository with no agent tools, the baseline, and the repository with your MCP server. To measure a skill, put its id inskillsinstead.run_settings: shared by every run.repetitionsruns each combination 3 times, so chance evens out.budget_usdandtime_limit_secondscap each run.
3. Launch it
--wait, the command prints progress every 10 seconds until no run is pending, then prints the execution, here trimmed. Its pass_rate covers all runs:
4. Compare the variants
The execution’s pass rate mixes both variants. Split it per variant and agent from its slots, one per run:with-docs-mcp passes more often than baseline, your MCP server helps. Each slot also has its score, the result of each evaluation and its run_id: read what an agent did with tracks runs events <run-id>.
A run that didn’t end completed is not judged, and counts neither way in the pass rate: its slot’s not_evaluated_reason says why.
Did agents use it?
A better pass rate means little if agents never called your server. Open the execution in the web app: under Results, Agent tool use shows, for each MCP server, skill or command-line tool, how many of the runs given it used it, and how many of their calls failed. Each run’s Agent Tools tab lists its calls one by one. See Reading results for every number on that page.The same in the web app
- Web app
- CLI
1
Create the experiment
Open Experiments, then New experiment → From scratch.
2
Scenarios
Write the prompt, add the evaluations and their weights, and pick a pass policy: every evaluation passed, or a passing score.
3
Agents
Add Claude Code with
claude-sonnet-5-5 and Codex with gpt-5.5.4
Variants
Pick the repository. Click Add agent tools twice: leave the first empty as the baseline, pick your MCP server in the second.
5
Run settings
Set 3 repetitions, a time limit, a $5 budget and
npm install as the setup script.6
Launch
Click Launch. The results page fills in as runs end and are judged.