Farcaster MCP Server
Provides tools to interact with the Farcaster network, allowing AI models to fetch casts, search channels, and analyze content.
README Documentation
Farcaster MCP Server
An MCP server that provides tools to interact with the Farcaster network (farcaster.xyz), allowing AI models to fetch casts, search channels, and analyze content.
Features
- Get User Casts: Retrieve casts from a specific Farcaster user by FID
- Get Username Casts: Retrieve casts from a specific Farcaster user by username
- Get Channel Casts: Retrieve casts from a specific Farcaster channel
- Get User Profile: Get detailed profile information (bio, display name, pfp, etc.)
- Get Cast Reactions: Get likes and recasts for a specific cast
- List Channels: Browse and search Farcaster channels
- Get User Following: See who a user follows
- Get User Followers: See who follows a user
Installation
# Clone the repository
git clone https://github.com/manimohans/farcaster-mcp.git
cd farcaster-mcp
# Install dependencies
npm install
# Build the project
npm run build
Usage
Running the server
npm start
Using with MCP Inspector
npx @modelcontextprotocol/inspector node ./build/index.js
Using with Claude for Desktop
-
Install Claude for Desktop
-
Open your Claude for Desktop App configuration at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add the following configuration:
{
"mcpServers": {
"farcaster": {
"command": "node",
"args": ["/absolute/path/to/farcaster-mcp/build/index.js"]
}
}
}
- Restart Claude for Desktop
Using with Smithery
This project includes Smithery configuration files for easy deployment:
# Install Smithery CLI
npm install -g @smithery/cli
# Deploy to Smithery (specify the client, e.g., claude, cline, windsurf, etc.)
npx @smithery/cli install @manimohans/farcaster-mcp --client claude
Available client options: claude, cline, windsurf, roo-cline, witsy, enconvo
Available Tools
get-user-casts
Retrieves casts from a specific Farcaster user by their FID (Farcaster ID).
Parameters:
fid: Farcaster user ID (number)limit(optional): Maximum number of casts to return (default: 10)
Example query: "Show me the latest casts from FID 6846."
get-username-casts
Retrieves casts from a specific Farcaster user by their username.
Parameters:
username: Farcaster username (string)limit(optional): Maximum number of casts to return (default: 10)
Example query: "Show me the latest casts from username 'mani'."
get-channel-casts
Retrieves casts from a specific Farcaster channel.
Parameters:
channel: Channel name or URL (string)limit(optional): Maximum number of casts to return (default: 10)
Example query: "Show me the latest casts from the 'aichannel' channel."
get-user-profile
Gets detailed profile information for a Farcaster user.
Parameters:
fid(optional): Farcaster user ID (number)username(optional): Farcaster username (string)
Example query: "Get the profile for username 'dwr.eth'."
get-cast-reactions
Gets likes and recasts for a specific cast.
Parameters:
fid: FID of the cast author (number)hash: Hash of the cast (string)type(optional): Type of reactions - "likes", "recasts", or "all" (default: "all")
Example query: "How many likes does cast 0x1cb62ca3... by FID 6846 have?"
list-channels
Lists Farcaster channels with optional search filtering.
Parameters:
limit(optional): Maximum number of channels to return (default: 20)search(optional): Search term to filter channels by name or ID
Example query: "List the top 10 channels about AI."
get-user-following
Gets the list of users that a Farcaster user follows.
Parameters:
fid: Farcaster user ID (number)limit(optional): Maximum number of results (default: 25)
Example query: "Who does FID 3 follow?"
get-user-followers
Gets the list of users who follow a Farcaster user.
Parameters:
fid: Farcaster user ID (number)limit(optional): Maximum number of results (default: 25)
Example query: "Who follows FID 3?"
API Details
This implementation uses the Farcaster Hubble API to fetch data.
Development
# Run in development mode
npm run dev
License
MIT