Skip to content

MCP Overview ​

TestNet implements the MCP (Model Context Protocol), enabling AI assistants such as Claude Code, Cursor, Windsurf, and Codex to directly leverage TestNet platform capabilities.

What is MCP? ​

MCP is an open standard protocol released by Anthropic for integrating AI assistants with external tools and systems. Through MCP, AI assistants can:

  • Call Tools: Perform asset queries and mutations, trigger workflow orchestration, query scan logs, conduct HTTP penetration testing, and search cyberspace
  • Access Resources: Read project lists, workflow lists, and tool specifications
  • Use Prompts: Utilize pre-defined prompt templates to aid security triage and reconnaissance planning

TestNet MCP Capabilities ​

The platform provides 14 core facade MCP tools, 5 MCP Resources, and 5 Prompt Templates for external AI agents. All facade tools remain permanently exposed in tools/list; each covers a complete business domain through an action parameter. The 57 legacy atomic tool names stay backward-compatible (still callable via tools/call) but are no longer listed in tools/list.

MCP Integration Dashboard

The 14 Core Facade Tools at a Glance ​

#Tool NameDomainDescription
1testnet_assetAsset hubFull CRUD, global search, and automatic tag matching across 8 asset types (company/domain/sub_domain/ip/port/web/api/vul)
2testnet_query_asset_graphAsset topologyProject-level asset topology graph and risk statistics (statsOnly overview mode supported)
3testnet_projectProject contextProject container management (idempotent creation)
4testnet_blackboardEngagements & decisionsEngagement lifecycle, decision tree recording, and state blackboard governance
5testnet_memoryPersistent memoryCross-session Markdown note read/write and category management
6testnet_search_toolsTool discoveryIntent-based search for scanning tools and workflows (mandatory before scanning)
7testnet_workflowWorkflow orchestrationDAG workflow trigger, tracking, cancellation, and template discovery
8testnet_taskTask dispatchSingle-tool scan dispatch, batch await, log streams, chunked output reading, and cancellation
9testnet_get_system_statusCluster healthProbe cluster status and dispatch queue readiness
10testnet_httpHTTP penetrationPrecision relayed requests with audit, response diffing, batch probing, and chunked body reading
11testnet_web_reconWeb reconHeadless DOM parsing, hidden parameter mining, and frontend JS static analysis
12testnet_access_controlCredentials & authzTarget credential custody (no plaintext echo) and multi-identity authz matrix testing
13testnet_vulnVulnerability managementSeverity-filtered search, triage state transitions, and false-positive deletion
14testnet_cyberspaceCyberspace mappingExposure search via FOFA/Hunter/Quake/Shodan engines plus quota monitoring

5 MCP Resources ​

Resource URIContent
testnet://projectsProject list
testnet://workflowsWorkflow list
testnet://toolsTool definitions list
testnet://engagementsEngagement list
testnet://memoryAI Agent Markdown memory notes

5 MCP Prompt Templates ​

Prompt NameFunction
asset_inventory_summaryAsset inventory summary
workflow_selectorWorkflow recommendation selector
vul_triageVulnerability triage and remediation advice
recon_planAsset reconnaissance plan generation
mock_test_guideMock test writing guide

Usage Scenarios ​

Scenario 1: AI assistant performs full asset inventory and graph analysis

User: Analyze all externally exposed assets under project proj_001 and check for unfixed high-severity vulnerabilities

Claude: Let me query the TestNet asset graph and vulnerabilities...
[calls testnet_query_asset_graph(projectId="proj_001", statsOnly=true)]
[calls testnet_vuln(action="search", projectId="proj_001", fixStatus="OPEN", severity="HIGH")]

The project currently owns 2 root domains, 15 subdomains, 8 open port services, and 2 unfixed high-severity vulnerabilities...

Scenario 2: AI assistant runs an automated scanning workflow

User: Run the fully automated domain reconnaissance workflow against example.com

Claude: Sure, let me confirm the available workflows first and then trigger it for you...
[calls testnet_search_tools(query="domain reconnaissance")]
[calls testnet_workflow(action="run", workflowId="domain-recon-pipeline", target="example.com", assetType="DOMAIN", projectId="proj_001")]

Workflow started, run ID: run_abc123...

Scenario 3: AI assistant assists HTTP penetration testing with audit evidence

User: Test whether https://api.example.com/user/profile is vulnerable to IDOR

Claude: I will use the TestNet HTTP facade for response diffing and record the conclusion into the decision chain...
[calls testnet_http(action="diff", request_a={url: "https://api.example.com/user/profile?id=1001", headers: {Authorization: "Bearer token_a"}}, request_b={url: "https://api.example.com/user/profile?id=1002", headers: {Authorization: "Bearer token_a"}})]
[calls testnet_blackboard(action="log_decision", phase="exploit", target="https://api.example.com/user/profile", rationale="IDOR confirmed: response body contains the user's phone number and address")]

MCP Transports & Endpoints ​

TestNet MCP supports standard SSE Streaming, JSON-RPC 2.0 Transport, and REST API Extensions:

EndpointMethodDescription
/mcp/v1 or /mcp/v1/sseGETMCP SSE streaming transport endpoint (initial handshake emits endpoint event)
/mcp/v1/messagePOSTMCP JSON-RPC 2.0 message handler (initialize, tools/list, tools/call, etc.)
/mcp/v1/infoGETRetrieve MCP server runtime configuration, version, and health status
/mcp/v1/toolsGETList tool definitions via REST
/mcp/v1/tools/callPOSTExecute a tool via REST
/mcp/v1/resourcesGETList available resources
/mcp/v1/resources/readGETRead resource content
/mcp/v1/promptsGETList prompt templates
/mcp/v1/prompts/getPOSTRender a prompt template
/mcp/v1/skillGETRetrieve TestNet platform Skill specification (Markdown)

最近更新

Released under the MIT License