MCP 服务器

Keploy

io.github.keploy/mcp
开发者工具 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Supports end-to-end API testing by discovering and invoking tools for test generation, execution, reports, mocks, setup, and test management.

devloop_begin_oauth_install
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.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {'editor': {'type': 'string', 'description': 'Editor the dev is using (cursor / windsurf / claude-code / claude-desktop / vscode / trae). Tailors the config-path hint in the playbook. Omit if unknown.'}}}
devloop_setup_instructions
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.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {}}
get_auth_status
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'.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {}}
get_setup_instructions
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.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {}}
get_tool_schema
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...]}.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['names'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Exact tool names, e.g. ["getTestReportFull","updateTestCase"].'}}}
invoke_tool
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"]}}
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Exact tool name from search_tools, e.g. 'getTestReportFull'."}, 'arguments': {'type': 'object', 'properties': {}, 'description': "Arguments object matching the target tool's inputSchema. Omit or pass {} for tools that take no args."}}}
search_tools
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".
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 10).'}, 'query': {'type': 'string', 'description': "Keywords matched against tool name + description, e.g. 'test report fields' or 'mock patch'."}}}
已更改
get_setup_instructions
2026年9月25日 02:52
已更改
get_auth_status
2026年9月25日 02:52
已更改
devloop_setup_instructions
2026年9月25日 02:52
已更改
devloop_begin_oauth_install
2026年9月25日 02:52
已添加
search_tools
2026年9月17日 12:42
已添加
invoke_tool
2026年9月17日 12:42
已添加
get_tool_schema
2026年9月17日 12:42
已添加
get_setup_instructions
2026年9月17日 12:42
已添加
get_auth_status
2026年9月17日 12:42
已添加
devloop_setup_instructions
2026年9月17日 12:42
已添加
devloop_begin_oauth_install
2026年9月17日 12:42