EvalGate agent tool access
EvalGate provides public protocol and read-only schema discovery plus an authenticated, permission-filtered read and write surface atThe separate documentation endpoint at/api/mcp. The older/api/mcp/toolsand/api/mcp/callare a separate proprietary HTTP Tool API. Anonymous clients cannot execute product tools.
https://www.evalgate.com/api/mcp/docs
is public and read-only. It serves a reviewed catalog of already-published
EvalGate documentation, has no organization context, and cannot read customer
data or invoke product operations. Use it when an agent needs to learn EvalGate
before a person has approved product access.
Tool names use snake_case, for example project_plan and docs_search.
Existing dotted names remain accepted as call-time aliases. Discovery lists
only canonical names; aliases retain the same role, scope and release checks.
For modern calls, use the same tool name in Mcp-Name and params.name.
All three documentation tools publish typed input schemas. docs_list accepts
an optional integer limit (1–100) and a cursor returned by the previous
page. For example, call docs_list with {"limit":10}, then repeat with
{"limit":10,"cursor":"10"} when nextCursor is "10". A null
nextCursor marks the last page. Omitting both arguments returns the full
catalog for existing clients; docs_search and docs_get retain their query
and slug arguments.
Official coding-agent Skills
Browse the official EvalGate Skills repository for the portable evaluation decision framework and setup, gate, trace, repository, and MCP workflows. Preview the collection withnpx skills add evalgate/skills --list, then install the complete collection
with npx skills add evalgate/skills or a single Skill with
npx skills add evalgate/skills --skill use-evalgate-mcp.
Installing Skills copies Skill files only. It does not install .mcp.json,
configure Claude Desktop connectors, or grant product credentials. Configure
MCP servers separately for each client below.
The collection is experimental. Skills supply instructions; they do not issue
credentials or replace release-policy enforcement. See the
coding-agent guide
and agent discovery guide.
Connect an MCP client
The official product server is listed as evalgate/evalgate on Smithery. It connects to the first-party product endpoint below. The listing links back to EvalGate’s developer hub; authenticated tool calls still require scoped access. Use the format documented for the actual client. Do not paste one client’s JSON into another.Claude Code (project .mcp.json)
Claude Code expands ${EVALGATE_API_KEY} from the process environment. Never
commit a literal token.
Cursor (.cursor/mcp.json)
Cursor uses URL entries and ${env:NAME} syntax:
Claude Desktop / claude.ai
Add the remote docs URL through the custom connector UI. Remote connectors differ from local Desktop server configuration; do not paste Claude Code JSON intoclaude_desktop_config.json. Product access requires a client-supported
authentication flow. Do not assume arbitrary bearer headers or EvalGate OAuth
interoperability were tested in the Desktop connector. If the client cannot
supply the required credential, use an authorized client with header support
instead of claiming it is connected.
Obtain product tokens through OAuth authorization code with PKCE, the
human-approved device flow, or a manually created key as described in
Agent API-key authentication. Public discovery
does not issue a credential, execute a tool, or expose tenant results.
Use a client that supports MCP 2026-07-28. A conforming client supplies the
protocol metadata and routing headers for each request. Do not paste a
long-lived organization-admin key into an agent configuration.
The endpoint is still experimental. EvalGate has not completed a guided
connection flow or published a tested compatibility matrix for every Cursor,
Claude, Copilot, or other MCP client release.
Stateless modern protocol
For MCP2026-07-28, every operation is a separate POST. server/discover,
schema-only tools/list, and UI resources/list/resources/read are public;
tools/call and all organization data require a scoped bearer token. There is no initialize exchange and no
Mcp-Session-Id.
Each request carries its protocol version and client capabilities in
params._meta, and clients should also include their identity. Streamable HTTP
also carries MCP-Protocol-Version and Mcp-Method, plus Mcp-Name when
calling a tool, so gateways can route the request without parsing its body.
Header and body values must match.
EvalGate implements server/discover to advertise its supported protocol
versions and capabilities. Discovery is useful for negotiation, but a modern
client can send any complete, self-describing request directly.
Public bootstrap request
The modern method header and JSON-RPC body method must match:tools/list returns
only the released read-only schemas, descriptions, annotations, and MCP App
resource links. An authenticated caller receives only tools allowed by its
role, scopes, and the release catalog—including supported writes. Anonymous
discovery returns no organization identity or customer data and cannot execute
a product tool.
Anonymous tools/call receives a bearer challenge pointing to RFC 9728 metadata.
Modern server/discover and tools/list responses use ttlMs: 0 and
cacheScope: "private". Treat an authenticated list as immediately stale and
keep it within the same authorization context; a different token can expose a
different tool set. The protocol cache hints do not replace HTTP cache controls.
Version negotiation and legacy clients
A dual-era client should probeserver/discover, select 2026-07-28 when it is
advertised, and fall back to the 2025 initialize flow only when the endpoint
is legacy. Official TypeScript SDK v2 clients must select automatic version
negotiation to get this probe-and-fallback behavior; the SDK’s default remains
legacy-only.
EvalGate accepts legacy initialize on POST for compatibility, but the
fallback is stateless. It does not mint an Mcp-Session-Id or keep a
cross-request transport session. Legacy results omit modern ttlMs and
cacheScope fields. Legacy POST replies use the 2025 Streamable HTTP event-stream framing. GET and DELETE /api/mcp return 405 Method Not Allowed,
so neither a standalone SSE stream nor session termination is available.
Released product tools: read evidence or author with permission
The released tool inventory comes from the same capability contract used by the running MCP server. Anonymoustools/list shows only read-only
schemas; after authentication, tools/list is filtered by the caller’s
tenant, role and exact scopes. A displayed schema never grants access.
For read-only work, tools include project_inspect, project_plan,
evaluations_list, runs_list, run_explain,
baseline_lineage, docs_search, connector_health and
authorized connection-read tools. connector_health requires an elevated
admin scope. project_plan is advisory and never mutates a repository.
Evaluation-authoring writes
Each write replays the validated calling credential into EvalGate’s own REST
route. Authentication, rate limiting, quotas, locks, and business guards are
preserved. Request the least-privilege scope, confirm explicit approval for
writes or metered execution, then verify the persisted result. A successful
runs_start response means the run was requested, not that a regression
gate passed. A Skill install, server card or Smithery listing does not grant
a credential or permission.
Admin-only connector writes
connections_create_root, connections_repair_root,
connections_set_root_state, connections_backfill, and
connections_select_resources require admin role and
admin:workspace, with some operations also requiring
resources:read and resources:write. These elevated operations are
not part of the least-privilege OAuth agent handoff; use explicitly approved
admin API keys or authenticated browser sessions where supported.
Portable Quality MCP operations such as quality_check_submit,
quality_context_create, resource upload, standards acceptance and
background grants remain unreleased. This MCP also cannot approve a
baseline, promote a candidate, authorize purchases, merge a pull request,
or make a separate release decision.
Smithery and other agent clients
The existing Smithery listing was initially indexed with read-only copy. The server card and OAuth protected resource now describe the available evaluation write scopes, but a third-party directory scan may still use anonymous discovery and see only read schemas. Re-publish the same Smithery slug with updated authenticated-write copy; do not expose writes anonymously or furnish a production admin token to a scanner. A real authenticated creation/readback from the target client is required before claiming one-click writes.Repository improvement campaigns
Agents can drive most of a repository improvement campaign through the CLI and REST API, but some steps are reserved for a person:
The MCP endpoint exposes none of these campaign approval/promotion operations.
Its separate evaluation-authoring tools above can create evaluations, cases,
runs and traces, but cannot authorize a campaign release. An MCP client can
read the resulting evidence and hand a person the link to approve,
start release review, or merge. “Signed in” means a browser session: API keys
and MCP-issued tokens are not treated as a person, whatever role they carry.
Use MCP evidence in an evaluation decision
MCP tools return read-only project, run, baseline, connector, and documentation evidence. They do not define a second release vocabulary or authorize a release action. When an agent uses MCP evidence to assess an AI change, it should follow the publicevaluate-ai-change Skill and serialize the result with the
canonical decision schema.
The canonical classification determines both invokeEvalGate and
releaseDecision. Unknown synonyms and contradictory pairs such as
regression with promote are invalid. The MCP server does not accept this
decision object as a mutation; use the reviewed CLI or web workflow for an
approved action.
The same schema requires an evidenceSummary for quality, protected slices,
reliability, latency, and cost. Report MCP measurements under the matching
dimension. If MCP did not return valid evidence for a dimension, use
not_measured with a reason instead of estimating a value.
run_explain links to the self-contained ui://evalgate/run-evidence.html
MCP App. The HTML template is public; its structured run result is available
only after the host completes an authenticated, scope-checked tool call. The
public docs server also exposes every reviewed page through native
resources/list and resources/read, plus a responsive docs App. Neither App
loads external scripts, fonts, analytics, or customer data on its own.
Legacy HTTP Tool API
GET /api/mcp/tools and POST /api/mcp/call are an authenticated proprietary
HTTP API for direct integrations. Do not add either route to an MCP client
configuration.
The legacy API exposes eval.quality.latest, eval.get, and eval.list by
default. These routes are not a standards-conformant MCP transport. Their
optional write operations require both operator opt-in with
EVALGATE_TOOL_API_WRITES=true and the caller’s required write scopes. That write path is
separate from the read-only /api/mcp endpoint. The legacy tier is limited to
100,000 requests per day.