()
| 56 | |
| 57 | @app.list_tools() |
| 58 | async def list_tools() -> list[Tool]: |
| 59 | return [ |
| 60 | Tool( |
| 61 | name="search_email", |
| 62 | description="Enumerate accounts linked to an email using holehe.", |
| 63 | inputSchema=_with_json( |
| 64 | { |
| 65 | "type": "object", |
| 66 | "properties": {"email": {"type": "string"}}, |
| 67 | "required": ["email"], |
| 68 | } |
| 69 | ), |
| 70 | ), |
| 71 | Tool( |
| 72 | name="search_username", |
| 73 | description="Enumerate platforms where a username is registered using sherlock.", |
| 74 | inputSchema=_with_json( |
| 75 | { |
| 76 | "type": "object", |
| 77 | "properties": {"username": {"type": "string"}}, |
| 78 | "required": ["username"], |
| 79 | } |
| 80 | ), |
| 81 | ), |
| 82 | Tool( |
| 83 | name="search_breach", |
| 84 | description="Check if an email appears in data breaches via HaveIBeenPwned. Requires HIBP_API_KEY env var.", |
| 85 | inputSchema=_with_json( |
| 86 | { |
| 87 | "type": "object", |
| 88 | "properties": {"email": {"type": "string"}}, |
| 89 | "required": ["email"], |
| 90 | } |
| 91 | ), |
| 92 | ), |
| 93 | Tool( |
| 94 | name="search_whois", |
| 95 | description="Retrieve WHOIS registration data for a domain.", |
| 96 | inputSchema=_with_json( |
| 97 | { |
| 98 | "type": "object", |
| 99 | "properties": {"domain": {"type": "string"}}, |
| 100 | "required": ["domain"], |
| 101 | } |
| 102 | ), |
| 103 | ), |
| 104 | Tool( |
| 105 | name="search_ip", |
| 106 | description="Retrieve geolocation and ASN data for an IP address via ipinfo.io.", |
| 107 | inputSchema=_with_json( |
| 108 | {"type": "object", "properties": {"ip": {"type": "string"}}, "required": ["ip"]} |
| 109 | ), |
| 110 | ), |
| 111 | Tool( |
| 112 | name="search_domain", |
| 113 | description="Enumerate subdomains of a target domain using sublist3r.", |
| 114 | inputSchema=_with_json( |
| 115 | { |
nothing calls this directly
no test coverage detected