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 ETHID_MCP_INITIALIZATION_PROMPT.md to ensure optimal performance and proper tool usage.

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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