beyond-mcp-server
by: Beyond-Network-AI
An Extensible Model Context Protocol (MCP) server
📌Overview
Purpose: To provide a flexible and extensible server for accessing standardized data from various social platforms and on-chain sources.
Overview: Beyond MCP Server implements the Model Context Protocol, enabling structured access to data across multiple social media platforms and blockchain entities. Currently, it supports integration with Farcaster via the Neynar API, with plans for additional platforms like Twitter and Telegram.
Key Features:
-
MCP Compliant: Fully adheres to Model Context Protocol specifications, ensuring standardization across data sources.
-
Multi-Platform Support: Designed to handle multiple social media integrations, facilitating broader access to diverse data sets.
-
Extensibility: Simplifies the addition of new platform integrations, allowing developers to easily enhance functionality.
-
Optimized Formatting: Structures data outputs for efficient consumption by large language models (LLMs), improving data usability.
-
Flexible Transport Options: Accommodates both standard I/O and HTTP/SSE transports, enhancing compatibility with different use cases.
Beyond MCP Server
An extensible Model Context Protocol server that provides standardized access to social platform data and onchain data. Currently supports Farcaster (via Neynar API) with placeholder for Twitter integration. More platforms like Telegram including onchain data will be added soon.
Features
- MCP Compliant: Fully implements the Model Context Protocol specification
- Multi-Platform: Designed to support multiple social media platforms
- Extensible: Easy to add new platform providers
- Well-Formatted: Optimized context formatting for LLM consumption
- Flexible Transport: Supports both stdio and SSE/HTTP transports
Supported Platforms
- Farcaster: Full implementation via Neynar API
- Twitter: Placeholder (not implemented)
Getting Started
Prerequisites
- Node.js 16+
- Neynar API key (for Farcaster access) https://neynar.com/
Installation
- Clone the repository
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
- Install dependencies
npm install
- Create a .env file from the template
cp .env.example .env
# Edit .env with your API keys
- Configure your environment variables
- Required: Set
NEYNAR_API_KEY
in your .env file - You can obtain a Neynar API key from https://neynar.com/
- Without a valid API key, Farcaster functionality will not work
- Build and start the server
npm run build
npm start # For stdio mode (default)
# OR
npm run start:http # For HTTP/SSE mode
Using with Claude for Desktop
- Build the server
npm run build
-
Make sure your .env file is properly configured with your API keys
The server will look for .env in these locations: current working directory, project root, or up to 3 parent directories. You can also set environment variables directly in your system. -
Add the server to your Claude Desktop configuration:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Example configuration:
{
"mcpServers": {
"beyond-social": {
"command": "/usr/local/bin/node",
"args": [
"/full/path/to/beyond-mcp-server/dist/index.js",
"--stdio"
]
}
}
}
- Alternatively, pass API key and environment variables directly (recommended):
{
"mcpServers": {
"beyond-social": {
"command": "/usr/local/bin/node",
"args": [
"/full/path/to/beyond-mcp-server/dist/index.js",
"--stdio"
],
"env": {
"NEYNAR_API_KEY": "YOUR_API_KEY_HERE",
"ENABLE_FARCASTER": "true",
"ENABLE_TWITTER": "false"
}
}
}
}
- Restart Claude for Desktop.
MCP Capabilities
Resources
social://{platform}/{query}/search
- Search content on a platformsocial://{platform}/user/{userId}/profile
- Get user profilesocial://{platform}/wallet/{walletAddress}/profile
- Get user profile by wallet address (Farcaster only)social://{platform}/user/{userId}/balance
- Get user's wallet balance (Farcaster only)- Accepts either FID (numeric) or username
- Converts username to FID automatically
social://{platform}/user/{userId}/content
- Get user contentsocial://{platform}/thread/{threadId}
- Get conversation threadsocial://{platform}/trending
- Get trending topicssocial://{platform}/trending-feed
- Get trending feed content with multi-provider support (Farcaster only)- Providers: neynar (default), openrank, mbd
- Parameters: timeWindow (1h, 6h, 12h, 24h, 7d, 30d), limit
social://{platform}/channels/search
- Search for channels (Farcaster only)- Parameters: query, limit, cursor
- Returns channel name, description, follower count, metadata
social://{platform}/channels/bulk-search
- Search multiple channels in parallel (Farcaster only)- Parameters: queries (array), limit, cursor
- Returns paginated results with channel details
Tools
search-content
- Search platform contentget-user-profile
- Get user profileget-user-profile-by-wallet
- Get profile by wallet (Farcaster only)get-user-balance
- Get user wallet balance (Farcaster only)- Handles username to FID conversion
get-user-content
- Retrieve user contentget-thread
- Retrieve conversation threadget-trending-topics
- Get trending topicsgetTrendingFeed
- Get trending feed with multi-provider support (Farcaster only)get-wallet-profile
- Get profile by wallet addresssearch-channels
- Search for channels (Farcaster only)- Returns detailed channel info
search-bulk-channels
- Search multiple channels in parallel (Farcaster only)- Returns detailed, paginated results
Prompts
analyze-thread
- Analyze social media threadsummarize-user-activity
- Summarize user activityexplore-trending-topics
- Explore trending topicsanalyze-search-results
- Analyze search resultsexplore-trending-feed
- Analyze trending feed contentget-wallet-profile
- Get and analyze profile by wallet addresscheck-user-balance
- Analyze wallet balance and holdings- Works with FID or username, auto converts username
explore-channels
- Analyze and explore channels- Provides insights on popularity and content
explore-bulk-channels
- Analyze and compare multiple channels- Efficiently search and compare channels, assess relationships and trends
Extending with New Providers
To add a new social platform provider:
- Create a new directory in
src/providers/
- Implement the
ContentProvider
interface - Register the provider in the registry
Example:
import { ContentProvider } from '../interfaces/provider';
export class MyPlatformProvider implements ContentProvider {
public name = 'myplatform';
public platform = 'myplatform';
// Implement all required methods
}
Development
Running in Development Mode
npm run dev # stdio mode
npm run dev:http # HTTP mode
Testing
npm test
Linting
npm run lint
npm run lint:fix
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Changelog
All notable changes to this project are documented below.
[1.0.0] - 2025-Mar-10
Added
- Initial release
- Farcaster integration via Neynar API
- MCP compliant server implementation
- Support for both stdio and HTTP modes
[1.0.1] - 2025-Mar-19
Added
- New tools and resource to fetch user profile with wallet address
- New tests
[1.0.2] - 2025-Mar-21
Added
- Retrieve wallet balances of Farcaster users via ID or username
- Multi-provider support for trending feed content
- Enhanced updateUserProfile with additional details
- Comprehensive tests for reliability and performance
[1.0.3] - 2025-Mar-24
Added
- Support to fetch single and bulk Farcaster channel information