protogrid

Search / io.github.keploy/mcp

Keploy

R2· OAuth, once

End-to-end API testing — generate and run tests from OpenAPI, curl, Postman, or real user traffic.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality100strong
Trust86of 100
Uptime, 30 days100%
Latency p50412 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "keploy": {
      "type": "http",
      "url": "https://api.keploy.io/client/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${KEPLOY_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http keploy https://api.keploy.io/client/v1/mcp --header "Authorization: Bearer ${KEPLOY_TOKEN}"
[mcp_servers.keploy]
url = "https://api.keploy.io/client/v1/mcp"
bearer_token_env_var = "KEPLOY_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "keploy": {
      "type": "remote",
      "url": "https://api.keploy.io/client/v1/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:KEPLOY_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "keploy": {
      "type": "http",
      "url": "https://api.keploy.io/client/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${KEPLOY_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=keploy&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLmtlcGxveS5pby9jbGllbnQvdjEvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7S0VQTE9ZX1RPS0VOfSJ9fQ%3D%3D"
}
{
  "servers": {
    "keploy": {
      "type": "http",
      "url": "https://api.keploy.io/client/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${KEPLOY_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "keploy": {
      "httpUrl": "https://api.keploy.io/client/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${KEPLOY_TOKEN}"
      }
    }
  }
}
extensions:
  "keploy":
    enabled: true
    name: "keploy"
    type: streamable_http
    uri: "https://api.keploy.io/client/v1/mcp"
    headers:
      "Authorization": "Bearer ${KEPLOY_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${KEPLOY_TOKEN}. The registry never accepts secret values.

Quality 100 / 100strong

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization100 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,236 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes4 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 1,236 tokens to load them all · tool set 078ce4b13395 · tools last changed 2026-09-24 · checked 2026-10-19 10:20 UTC

Tool changes

  • get_setup_instructionschangedinput schema
  • get_auth_statuschangedinput schema
  • devloop_setup_instructionschangedinput schema
  • devloop_begin_oauth_installchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 86 / 100

provenance90
liveness100
freshness45
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% -stale-185d

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.keploy.io/client/v1/mcp streamable-httpoauth2 AS: https://api.keploy.ioyes100%412 ms–2026-10-19

Tools (7)

devloop_begin_oauth_installdestructiveStart the Path B agent-walked install for the V1 flow. Returns a playbook the AI walks with the dev to land a kep_* PAT in their editor's MCP config. Current implementation routes through app.keploy.io/settings/api-keys (the existing PAT-issuance surface). The full auto-provision OAuth round-trip (browser OAuth → /auth/temp-code/exchange → /user/mcp/provision → PAT auto-pasted) lands when the enterprise-ui /auth/cli-install page is built; this tool's interface won't change when that lifts, only the underlying steps will get shorter. ABSOLUTE: this tool surfaces a public URL. Do NOT print API keys, PATs, or OAuth tokens to the conversation. The dev pastes the secret into their editor config directly; the agent never sees it.
devloop_setup_instructionsdestructiveReturn the V1 "user maintains the flow" install guide — covers Path A (clipboard one-liner), Path B (agent-walked OAuth), and the keploy/api-tests/ on-disk layout V1 creates. Safe to call without authentication; call this when the dev asks 'how do I add Keploy to this repo?' or when a devloop_* tool returns missing-API-key.
get_auth_statusdestructiveCheck whether the current MCP session has a valid-looking Keploy PAT attached. Returns { authenticated, auth_header_present, hint }. Useful as a first step for an agent to decide whether to call other tools or show setup instructions — differentiates 'no header at all' from 'header present but wrong prefix / unsupported format'.
get_setup_instructionsdestructiveReturn step-by-step instructions for connecting this MCP server to Cursor, Windsurf, VS Code, Claude Desktop, Claude Code, or Trae. Safe to call without authentication — use this when the user asks 'how do I set up Keploy MCP?' or when a tool call fails with an auth error.
get_tool_schemadestructiveFetch the exact schema(s) for tool(s) you ALREADY know by name — e.g. names a skill/playbook gave you (getTestReportFull, updateTestCase, listTestReports, getMock, getTestCase, getApp, listApps, ...). Returns ONLY the named tools: no fuzzy matching, no unrelated tools. Use this instead of search_tools whenever you know the name — it is exact and cheap. Use search_tools only to DISCOVER names you do not already know. Returns {"tools": [{name, description, inputSchema}, ...], "not_found": [names...]}.
invoke_tooldestructiveRun any Keploy tool by name. Most tools are hidden from the default list. Know the name from a skill? get its schema with get_tool_schema; don't know the name? discover it with search_tools. Then call invoke_tool with that name and an "arguments" object matching the tool's inputSchema. Example: invoke_tool {"name": "getTestReportFull", "arguments": {"appId": "...", "testRunId": "...", "fields": ["status"]}}
search_toolsdestructiveDISCOVER tool names you do NOT already know, by keyword. Most Keploy tools are hidden from the default tool list to save context. If you ALREADY know the exact name (e.g. a skill named it), call get_tool_schema instead — it is exact and far cheaper than this fuzzy search. Returns {"matches": [{name, description, inputSchema}, ...], "total_catalog": N}. Search by intent words, e.g. "test report", "mock patch", "update test case", "cloud replay branch", "record".

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.keploy/mcp",
  "icons": [
    {
      "src": "https://avatars.githubusercontent.com/u/92252339?s=200&v=4",
      "sizes": [
        "200x200"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Keploy",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.keploy.io/client/v1/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Keploy API key as a Bearer token. Generate a one-time-viewable key at https://app.keploy.io/settings/api-keys, then paste the full header value including the 'Bearer ' prefix (e.g. 'Bearer kep_...')."
        }
      ]
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/keploy/keploy",
    "source": "github"
  },
  "websiteUrl": "https://keploy.io/docs/running-keploy/agent-test-generation/",
  "description": "End-to-end API testing — generate and run tests from OpenAPI, curl, Postman, or real user traffic."
}