experiment-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EXPERIMENT_MCP_JWKS_URL | No | URL of the JWKS used to validate bearer JWT signatures. | |
| EXPERIMENT_MCP_JWKS_PATH | No | Path to a local JWKS file used to validate bearer JWT signatures. Offline alternative to EXPERIMENT_MCP_JWKS_URL. | |
| EXPERIMENT_MCP_ISSUER_URL | No | Issuer URL for bearer JWT validation. Tokens must have a matching issuer. Must use HTTPS unless the host is localhost/127.0.0.1. | |
| EXPERIMENT_MCP_RESOURCE_URL | No | Resource/audience URL for bearer JWT validation. Tokens must have aud/resource exactly equal to this value. Must use HTTPS unless the host is localhost/127.0.0.1. | |
| EXPERIMENT_MCP_ALLOWED_HOSTS | No | Comma-separated list of extra Host values allowed by DNS rebinding protection. | |
| EXPERIMENT_MCP_ALLOWED_ORIGINS | No | Comma-separated list of extra Origin values allowed by DNS rebinding protection. | |
| EXPERIMENT_MCP_ALLOW_INSECURE_NO_AUTH | No | Set to 1 to start HTTP transport without token validation. Cannot be combined with issuer or JWKS settings. Intended only for local use; do not expose the process. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| power_calcA | Estimate equal-allocation sample size or MDE for a two-sided test. |
| assign_cellsA | Assign units to arms with a salted SHA-256 bucket. Arms are ordered by name. The same salt and unit id always map to the same arm. This does not write an experiment record. |
| analyze_liftA | Estimate absolute and relative lift with a confidence interval. |
| check_srmA | Chi-square test of observed arm counts against intended weights. A mismatch means the counts are unlikely given the weights. It does not identify the cause. |
| list_experimentsC | List experiment records stored in this server's SQLite file. |
| create_experimentC | Store a running experiment. This does not assign traffic by itself. |
| close_experimentA | Mark an experiment closed after the user confirms. The confirmation form is elicited when the client supports it. If the client does not, the experiment stays open until this tool is called again with confirm=true. Declining or cancelling the form does not close it. |
| draft_readoutA | Ask the client model to summarize an experiment, with a template fallback. Sampling is deprecated in the 2026-07-28 spec and many clients do not offer it. Those clients get a deterministic draft built from the same facts. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design_experiment | Plan a retail-offer test before any readout is written. |
| write_readout | Outline a readout that stays inside the computed facts. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| dataset_schema | Synthetic dataset column schema. |
| dataset_summary | Row counts for the bundled synthetic dataset. |
| experiment_index | All experiment records in the local store. |
TDQS
Scored across 8 tools
Each tool targets a distinct phase of the experiment workflow: power planning, assignment, lift analysis, SRM checking, record lifecycle, and readout drafting. The descriptions explicitly clarify boundary cases, such as assign_cells not writing a record and create_experiment not assigning traffic, which further reduces misselection.
All tool names use consistent snake_case, and most follow a verb_noun pattern such as assign_cells, analyze_lift, and create_experiment. The main minor deviation is power_calc, which uses a noun abbreviation rather than a clear verb form like calculate_power.
Eight tools are well-scoped for an experiment management and analysis server. Each tool covers a meaningful part of the workflow without obvious redundancy or inflated surface area.
The surface covers experimental design, assignment, analysis, SRM checks, record creation/listing/closure, and readout drafting. Minor gaps remain, such as no get_experiment or update_experiment operation, but the core lifecycle is well represented.