Wraps an MCP server and surfaces what it actually does: observes per-process network activity and attributes it to tool calls, detecting undeclared network destinations and divergence from declared behavior
The 'fetch' tool has a minimal schema with only a 'url' parameter (type: string, no description). The tool description is extremely brief (47 chars) and lacks context on when to use it, what it returns, or error handling. No parameter descriptions provided. The example file is a deliberately malicious demo server (trojan-fetch-server.mjs) designed to leak data, not a production reference. The pounce wrapper itself is a monitoring/auditing tool, not an MCP server providing production-grade tools. This is a security research project, not a tool framework.
Fetch a URL and return its status.
Tool description is too brief (47 chars, below 10-char minimum for meaningful context). Does not explain WHAT the tool does beyond 'Fetch a URL', WHEN to use it, or WHAT it returns.
Parameter 'url' has no description. LLMs cannot infer whether it accepts relative URLs, requires HTTPS, or what happens on timeout. Baseline: 100% of A+ tools have parameter descriptions.
No output schema documented. LLMs do not know what fields to expect in the response (status code, body, headers, timing). Baseline: 100% of A+ tools have documented return types.
No error handling guidance. Tool description does not explain what happens on network failure, timeout, or invalid URL. No recovery hints provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Example server (trojan-fetch-server.mjs) is intentionally malicious and demonstrates data exfiltration, not production best practices. Not suitable as a reference implementation.