Skip to main content
Glama

ETHID MCP Server

An MCP (Model Context Protocol) server that provides comprehensive access to the Ethereum Follow Protocol (EFP) API, enabling social graph queries for Ethereum addresses and ENS names.

Features

Core Tools (22 Total)

  • Basic Operations: getFollowerCount, getFollowers, getFollowing, checkFollowing, checkFollower

  • Profile Data: fetchAccount, fetchProfileStats, fetchProfileLists, fetchProfileBadges, fetchProfileQRCode

  • Advanced Queries: fetchProfileFollowing, fetchProfileFollowers with pagination and filtering

  • Tag Management: fetchFollowingTags, fetchFollowerTags (limited availability)

  • Social Features: fetchFollowState, fetchNotifications, fetchRecommendations, fetchLeaderboard

  • List Operations: fetchListState, fetchListsForUser, fetchPoapLink

  • ENS Resolution: fetchBulkAccounts - Bulk reverse resolution of addresses to ENS names

  • Help & Guidance: searchContexts, getBestPractices, getUsagePattern, getToolGuidance, getEfficiencyTips

Key Capabilities

  • Tag Filtering: Filter followers/following by tags (e.g., "top8", "friend", "family")

  • ENS Resolution: Automatic resolution of ENS names to addresses

  • Bulk ENS Reverse Resolution: Convert multiple addresses to ENS names efficiently

  • Pagination Support: Handle large datasets efficiently

  • Search Functionality: Search within followers/following lists

  • Real-time Data: Option to fetch fresh data bypassing cache

Setup

For Developers

{ "mcpServers": { "ethid-mcp": { "command": "npx", "args": ["mcp-remote", "https://ethid-mcp.efp.workers.dev/sse"] } } }

Usage

πŸš€ IMPORTANT: Before using the ETHID MCP server, run the initialization prompt from

See USAGE_GUIDE.md for comprehensive examples and best practices.

Quick Examples

// Get follower count await getFollowerCount({ addressOrName: 'vitalik.eth' }); // Result: "vitalik.eth has 4811 followers and is following 10 accounts." // Check who someone follows with tags await getFollowing({ addressOrName: 'efp.encrypteddegen.eth', tags: ['top8'], }); // Result: List of top 8 friends with their addresses and tags // Convert addresses to ENS names await fetchBulkAccounts({ addresses: ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', '0x849151d7d0bf1f34b70d5cad5149d28cc2308bf1'], }); // Result: ["vitalik.eth", "jesse.xyz"] // Get profile information await fetchAccount({ addressOrName: 'brantly.eth' }); // Result: Complete profile with ENS records, avatar, social links

Project Structure

ethid-mcp/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ index.ts # Main MCP agent implementation β”‚ β”œβ”€β”€ tools/ # Modular tool definitions β”‚ β”‚ β”œβ”€β”€ index.ts # Tool registration coordinator β”‚ β”‚ β”œβ”€β”€ profile.ts # Profile and following/followers tools β”‚ β”‚ β”œβ”€β”€ account.ts # Account data and ENS resolution tools β”‚ β”‚ β”œβ”€β”€ relationships.ts # Relationship checking tools β”‚ β”‚ β”œβ”€β”€ tags.ts # Tag management tools β”‚ β”‚ β”œβ”€β”€ discovery.ts # Discovery and recommendation tools β”‚ β”‚ β”œβ”€β”€ lists.ts # List management tools β”‚ β”‚ β”œβ”€β”€ context.ts # Documentation context search β”‚ β”‚ └── guidance.ts # Best practices and guidance tools β”‚ β”œβ”€β”€ types/ # TypeScript types β”‚ β”‚ β”œβ”€β”€ api.ts # API response types β”‚ β”‚ └── env.ts # Environment configuration types β”‚ β”œβ”€β”€ contexts/ # Documentation contexts β”‚ └── utils/ # Utility functions β”œβ”€β”€ wrangler.json # Cloudflare Worker config β”œβ”€β”€ USAGE_GUIDE.md # Comprehensive usage guide └── ETHID_MCP_INITIALIZATION_PROMPT.md # Initialization guide

Architecture

The ETHID MCP server operates as a Cloudflare Worker that:

  1. Receives MCP requests via the local proxy server

  2. Calls the EFP API at https://api.ethfollow.xyz/api/v1

  3. Returns formatted responses optimized for AI consumption

Key Components

  • Cloudflare Worker: Main API integration and business logic

  • Local MCP Server: Proxy for Claude Desktop integration

  • Node.js Wrapper: Compatibility layer for Node.js v22.12.0+

Contributing

The project is actively maintained and welcomes contributions. The current deployment is fully functional with all tools working correctly.

License

See LICENSE for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ethereumfollowprotocol/ethid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server