Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Keploy

REMOTE · API.KEPLOY.IO · SCANNED AUG 3

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

Available components

+3 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1542 tokens (~220/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · api.keploy.io

# add to Claude Code
claude mcp add --transport http keploy-mcp https://api.keploy.io/client/v1/mcp
# ~/.codex/config.toml
[mcp_servers.keploy-mcp]
url = "https://api.keploy.io/client/v1/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "keploy-mcp": {
      "type": "remote",
      "url": "https://api.keploy.io/client/v1/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add keploy-mcp --url https://api.keploy.io/client/v1/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  keploy-mcp:
    url: "https://api.keploy.io/client/v1/mcp"
// mcp.json
{
  "mcpServers": {
    "keploy-mcp": {
      "type": "http",
      "url": "https://api.keploy.io/client/v1/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 62

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://api.keploy.io/client/v1/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.keploy.io CN=YR1,O=Let's Encrypt,C=US 28 Jul 2026 26 Oct 2026 RSA 2048 SHA256-RSA 5d5d68aad7f9e6b01a5ba927749f3414684
SANs: api.keploy.io
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of api.keploy.io. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
keploy.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.keploy.io/client/v1/mcp Verified 200
http (plaintext) http://api.keploy.io/client/v1/mcp HTTPS enforced 308 https://api.keploy.io/client/v1/mcp
MCP tools — 7 exposed · ~937 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
devloop_begin_oauth_install ~225

Start 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.

NameTypeReqDescription
editorstringEditor the dev is using (cursor / windsurf / claude-code / claude-desktop / vscode / trae). Tailors the config-path hint in the playbook. Omit if unknown.

No output schema declared.

No examples provided.

devloop_setup_instructions ~93

Return 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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_auth_status ~73

Check 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'.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_setup_instructions ~72

Return 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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_tool_schema ~158

Fetch 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...]}.

NameTypeReqDescription
namesarrayyesExact tool names, e.g. ["getTestReportFull","updateTestCase"].

No output schema declared.

No examples provided.

invoke_tool ~157

Run 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"]}}

NameTypeReqDescription
argumentsobjectArguments object matching the target tool's inputSchema. Omit or pass {} for tools that take no args.
namestringyesExact tool name from search_tools, e.g. 'getTestReportFull'.

No output schema declared.

No examples provided.

search_tools ~159

DISCOVER 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".

NameTypeReqDescription
limitnumberMax results (default 10).
querystringyesKeywords matched against tool name + description, e.g. 'test report fields' or 'mock patch'.

No output schema declared.

No examples provided.