Search for social media accounts by username across 400+ platforms using the Sherlock OSINT tool. Provide a username to find associated profiles.
Single tool 'search_username' has acceptable naming and a basic description, but critical gaps in parameter documentation and output schema definition. The tool implementation shows good error handling logic internally, but this is not reflected in the tool schema itself. Missing: parameter descriptions in schema, documented output schema, pagination support, result limits, and structured output documentation. The description is adequate (60 chars) but lacks guidance on when to use the tool or what constraints apply. Input schema is present but minimal, only one parameter with a generic description and no constraints. No enum, pattern, or format constraints. Output is documented only in the Python docstring (not visible to MCP clients), not in the tool schema.
Search for social media accounts associated with a given username.
Output schema not documented in tool definition. MCP clients cannot determine what fields to expect, forcing them to infer structure from responses. Python docstring documents the return format, but this is invisible to MCP callers.
Parameter 'username' lacks validation constraints. No regex pattern, length limits, character restrictions, or format specification. Schema description is generic ('The username to search for across social networks') and does not state valid input format, length (e.g. 1-32 chars), or character set restrictions.
No result limit or pagination documented. Sherlock can return matches across 400+ platforms. Tool description promises 'Search for social media accounts' but does not state: max results returned, whether pagination is supported, or how to limit output. Large result sets risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
Tool description lacks 'WHEN to use' guidance and error recovery instructions. Current description ('Search for social media accounts associated with a given username.') does not explain: prerequisites (Sherlock must be installed), expected runtime (up to 300s), or what to do if search fails.
Error responses from the implementation (e.g. 'Sherlock CLI not found') are returned in the response dict as 'error' field, but the MCP tool schema does not document this error field structure. MCP clients cannot parse or understand error semantics.
Timeout behavior (300 seconds) is not communicated in the tool description. LLMs will not know they should expect long waits for this tool. Recommendation: document the timeout and expected latency.