Skip to main content

EvalGate agent tool access

EvalGate provides public protocol and schema discovery plus an authenticated, read-only review surface at /api/mcp. The older /api/mcp/tools and /api/mcp/call routes remain a proprietary HTTP Tool API for direct integrations.
The separate documentation endpoint at 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.

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 with npx skills add evalgate/skills --list, then install the complete collection with npx skills add evalgate/skills. 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. Configure the remote endpoint and a short-lived token with the narrowest required read scopes:
Obtain that token 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 MCP 2026-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:
The response advertises the tools capability. Anonymous tools/list returns the eight tool names, descriptions, input schemas, safety annotations, and MCP App resource links from the same registry used for authenticated execution. It returns no organization identity or customer data and cannot execute a 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 probe server/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.

Read-only capability boundary

The endpoint advertises only tools allowed by the caller’s scopes:
  • project.inspect
  • project.plan
  • evaluations.list
  • runs.list
  • run.explain
  • baseline.lineage
  • docs.search
  • connector.health
All eight tools are read-only. Plans are advisory: they never write a repository, accept a baseline, start a run, change credentials, or post a pull request comment. Use the CLI or web control plane for those actions. connector.health requires the organization-admin boundary because readiness reports can contain operational connector metadata.

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 public evaluate-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.