Impact GateDocs

Reference

Impact Gate MCP server

The hosted MCP endpoint that gives AI coding assistants read-only, workspace-scoped API impact evidence, with OAuth sign-in and no API keys.

On this page

What the MCP server is#

The Impact Gate MCP server is a hosted Model Context Protocol endpoint. It lets an AI coding assistant - Claude, Claude Code, Cursor, VS Code, or ChatGPT - read API change impact evidence from your Impact Gate workspace while you work: which consumers call an API, what a contract change affects, and whether a proposed fix clears persisted findings.

MCP endpoint
https://mcp.impactgate.in/

The server speaks the MCP streamable HTTP transport at this URL. The older path https://mcp.impactgate.in/mcp continues to work as an alias, so existing client configurations keep working unchanged.

  • Six read-only tools. Every tool is annotated readOnlyHint: true and destructiveHint: false; the server never writes to your repositories, your workspace, or the client.
  • One OAuth scope: impact:read. There are no API keys to create, store, or rotate.
  • Workspace-scoped answers. Every response is computed from a workspace your Google account is authorized for, and carries the indexed commit and freshness it was computed from.
  • Deterministic evidence. Results state indexed commit, freshness, coverage, and uncertainty. What the index cannot see is reported as unknown, never as safe.

How sign-in works#

You never create a credential for the MCP server. Sign-in uses standard OAuth 2.0 with PKCE, and a compliant MCP client performs the whole flow itself after you paste the endpoint URL. This is what happens, in order:

  1. The client discovers the server metadata

    The client fetches the published OAuth discovery documents and learns the issuer, the authorization, token, and registration endpoints, and the single scope impact:read. No configuration is copied by hand.

  2. The client registers itself

    Using dynamic client registration (RFC 7591), the client calls the registration endpoint once and receives a client_id. There is no app to create in a console and no client secret to store.

  3. Your browser opens the consent page

    The client opens the authorization endpoint with a PKCE S256 code challenge. The hosted Connect Impact Gate page asks you to continue with Google - the same Google sign-in used by the Impact Gate website.

  4. The server returns an authorization code

    After you sign in, the server redirects back to the client's registered redirect URI with a one-time authorization code and the original state value, which the client verifies.

  5. The client exchanges the code for a token

    The client posts the code and its PKCE verifier to the token endpoint and receives an access token. An invalid or reused code is rejected with invalid_grant.

  6. Tools run read-only and workspace-scoped

    The client sends the token as a Bearer credential on MCP requests. Each tool call returns evidence only for workspaces your Google account is authorized for. Nothing is ever written back.

https://mcp.impactgate.in/.well-known/oauth-authorization-server
{
  "issuer": "https://mcp.impactgate.in",
  "authorization_endpoint": "https://mcp.impactgate.in/oauth/authorize",
  "token_endpoint": "https://mcp.impactgate.in/oauth/token",
  "registration_endpoint": "https://mcp.impactgate.in/oauth/register",
  "response_types_supported": ["code"],
  "grant_types_supported": ["authorization_code"],
  "code_challenge_methods_supported": ["S256"],
  "scopes_supported": ["impact:read"]
}

The resource metadata document at https://mcp.impactgate.in/.well-known/oauth-protected-resource identifies the protected resource and its authorization server, so clients that check it before sending a token see a consistent picture.

Workspace scoping#

Tools never guess a workspace. A call that needs a workspace selection and does not have one returns an error listing exactly the workspaces your account is authorized for:

workspace selection error
{
  "code": -32003,
  "message": "Select a workspace before continuing.",
  "data": [
    { "workspaceId": "3fb27312-fc17-42c2-a71c-52b31af510fd", "name": "impact-gate" }
  ]
}

Requests for data outside the authorized set are refused outright: asking for an API or repository the selected workspace does not contain returns "No authorized workspace contains this data." Each successful response carries the workspace id, snapshot id, and the exact indexed commits it was computed from, so you can tell at a glance how fresh the evidence is.

Common errors#

ErrorMeaningWhat to do
HTTP 401Missing, expired, or revoked access token.Let the client repeat the browser sign-in flow.
invalid_grantThe authorization code was invalid, expired, or already used.Restart the sign-in flow from the client.
-32003 Select a workspaceThe call did not identify a workspace.Pass a workspaceId from the error's data list, or name the repository.
No authorized workspace contains this dataThe requested API, repository, or finding is outside your authorized workspaces.Check the workspace and identifiers; connect the repository in Impact Gate first.

Tool results themselves state coverage and uncertainty explicitly. A successful call with gaps reports those gaps; it does not fill them with guesses.

Security properties#

  • Transport is HTTPS only; the server is served from mcp.impactgate.in.
  • Authorization code flow with PKCE S256 is the only grant; implicit and password flows are not offered.
  • A single scope, impact:read, is the entire permission surface.
  • All six tools are read-only; the server cannot modify repositories, workspaces, settings, or the client.
  • Access tokens are Bearer credentials. Keep them inside your client and never paste one into chat, tickets, or source control.
  • Sign-in uses your Google account, the same identity as the Impact Gate website, and workspace authorization follows your existing membership.

Explore the documentation

↑↓ NavigateEnter Open guideSearch stays in your browser