email_social_check
Find social media profiles associated with an email address to identify digital footprints and online presence for security research.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email to check for social profiles |
Implementation Reference
- src/index.ts:550-558 (handler)Registration and handler definition for the "email_social_check" tool.
server.tool( "email_social_check", { email: z.string().email().describe("Email to check for social profiles") }, async ({ email }) => { const result = await emailSocialClient.checkEmail(email); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } - src/tools/social-accounts.ts:13-36 (handler)Implementation of the logic to check social accounts (Gravatar) for an email address within the SocialAccountClient class.
async checkEmail(email: string): Promise<any[]> { const results: any[] = []; const hash = crypto.createHash("md5").update(email.trim().toLowerCase()).digest("hex"); // Check Gravatar try { const gravatarUrl = `https://www.gravatar.com/${hash}.json`; const response = await fetch(gravatarUrl, { headers: { "User-Agent": "OSINT-MCP-Server" } }); if (response.ok) { const data = await response.json() as any; results.push({ platform: "Gravatar", found: true, profile: data.entry?.[0]?.profileUrl, displayName: data.entry?.[0]?.displayName, about: data.entry?.[0]?.aboutMe }); } } catch (e) {} return results; }