Farcaster MCP Server
by manimohans
# Farcaster MCP Server
[](https://smithery.ai/server/@manimohans/farcaster-mcp)
An MCP server that provides tools to interact with the Farcaster network ([farcaster.xyz](https://www.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
## Installation
```bash
# 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
```bash
npm start
```
### Using with MCP Inspector
```bash
npx @modelcontextprotocol/inspector node ./build/index.js
```
### Using with Claude for Desktop
1. Install [Claude for Desktop](https://claude.ai/download)
2. Open your Claude for Desktop App configuration at:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
3. Add the following configuration:
```json
{
"mcpServers": {
"farcaster": {
"command": "node",
"args": ["/absolute/path/to/farcaster-mcp/build/index.js"]
}
}
}
```
4. Restart Claude for Desktop
### Using with Smithery
This project includes Smithery configuration files for easy deployment:
```bash
# 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."
## Smithery Configuration
This repository includes the necessary configuration files for Smithery:
- `smithery.yaml`: YAML configuration for Smithery deployment
- `smithery.json`: JSON configuration for Smithery capabilities
- `Dockerfile`: Container configuration for Smithery deployment
## API Details
This implementation uses the Farcaster Hubble API to fetch data.
## Development
```bash
# Run in development mode
npm run dev
```
## License
MIT