Skip to main content
Glama
Beyond MCP Server

Beyond MCP Server

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

Related MCP server: MCP URL Fetcher

Supported Platforms

  • Farcaster: Full implementation via Neynar API

  • Twitter: Placeholder (not implemented)

Getting Started

Prerequisites

Installation

  1. Clone the repository

git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. Install dependencies

npm install
  1. Create a .env file from the template

cp .env.example .env
# Edit .env with your API keys
  1. 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

  2. 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

  1. Build the server

npm run build
  1. Make sure your .env file is properly configured with your API keys

    • The server will look for .env in the following locations:

      • Current working directory

      • Project root directory

      • Parent directories (up to 3 levels)

    • You can also set environment variables directly in your system

  2. Add the server to your Claude Desktop configuration at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "beyond-social": {
      "command": "/usr/local/bin/node",
      "args": [
        "/full/path/to/beyond-mcp-server/dist/index.js",
        "--stdio"
      ]
    }
  }
}
  1. Alternatively, you can pass the API key and other environment variables directly in the Claude Desktop configuration (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"
      }
    }
  }
}
  1. Restart Claude for Desktop

MCP Capabilities

Resources

  • social://{platform}/{query}/search - Search content on a platform

  • social://{platform}/user/{userId}/profile - Get user profile

  • social://{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

    • If username is provided, automatically converts to FID before fetching balance

  • social://{platform}/wallet/{walletAddress}/profile - Get user profile by wallet address

  • social://{platform}/user/{userId}/content - Get user content

  • social://{platform}/thread/{threadId} - Get conversation thread

  • social://{platform}/trending - Get trending topics

  • social://{platform}/trending-feed - Get trending feed content with multi-provider support (Farcaster only)

    • Supports providers: neynar (default), openrank, mbd

    • Parameters: timeWindow (1h, 6h, 12h, 24h, 7d, 30d), limit

  • social://{platform}/channels/search - Search for channels on a platform (Farcaster only)

    • Parameters: query, limit, cursor

    • Returns channel details including name, description, follower count, and metadata

  • social://{platform}/channels/bulk-search - Search for multiple channels in parallel (Farcaster only)

    • Parameters: queries (array), limit, cursor

    • Returns results for each query with channel details and pagination info

Tools

  • search-content - Search for content on a social platform

  • get-user-profile - Get a user's profile information

  • get-user-profile-by-wallet - Get user profile using wallet address (Farcaster only)

  • get-user-balance - Get user's wallet balance (Farcaster only)

    • Accepts either FID (numeric) or username

    • Automatically handles username to FID conversion

  • get-user-content - Get content from a specific user

  • get-thread - Get a conversation thread

  • get-trending-topics - Get current trending topics

  • getTrendingFeed - Get trending feed with multi-provider support (Farcaster only)

  • get-wallet-profile - Get profile based on wallet address

  • search-channels - Search for channels on a platform (Farcaster only)

    • Parameters: query, limit, cursor

    • Returns detailed channel information including follower count and metadata

  • search-bulk-channels - Search for multiple channels in parallel (Farcaster only)

    • Parameters: queries (array), limit, cursor

    • Returns results for each query with channel details and pagination info

Prompts

  • analyze-thread - Analyze a social media thread

  • summarize-user-activity - Summarize a user's activity

  • explore-trending-topics - Explore trending topics on a platform

  • analyze-search-results - Analyze search results for a query

  • explore-trending-feed - Analyze trending feed content across different providers

  • get-wallet-profile - Get and analyze user profile by wallet address

  • check-user-balance - Analyze user's wallet balance and holdings

    • Works with both FID and username inputs

    • Handles automatic FID resolution for usernames

  • explore-channels - Analyze and explore channels on a platform

    • Provides insights about channel popularity and content

    • Helps discover relevant channels based on search criteria

  • explore-bulk-channels - Analyze and compare multiple channels in parallel

    • Efficiently searches and compares multiple channels

    • Provides insights about channel relationships and trends

Extending with New Providers

To add a new social platform provider:

  1. Create a new directory in src/providers/

  2. Implement the ContentProvider interface

  3. 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 will be documented in this file.

[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

  • Added new tools and resource to fetch user profile with wallet address

  • Added new tests

[1.0.2] - 2025-Mar-21

Added

  • Added functionality to retrieve wallet balances of Farcaster users via ID or username

  • Implemented multi-provider support for trending feed content

  • Enhanced updateUserProfile with additional user details

  • Added comprehensive tests to ensure reliability and performance

[1.0.3] - 2025-Mar-24

Added

  • Add support to fetch Single and Bulk farcaster channel information

Available Tools

10 tools
get-threadD

Inputs: platform (required), threadId (required).

get-user-balanceD

Inputs: platform (required), userId (required).

get-user-contentD

Inputs: platform (required), userId (required), limit.

get-user-profileD

Inputs: platform (required), userId (required).

get-wallet-profileD

Inputs: platform (required), walletAddress (required).

search-bulk-channelsC

Search for multiple channels on a social platform in parallel

Inputs: platform (required), queries (required), cursor, limit.

search-channelsC

Search for channels on a social platform

Inputs: platform (required), query (required), cursor, includeChannels, +1 more.

search-contentD

Inputs: platform (required), query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.1/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools have distinct purposes targeting different resources like threads, feeds, topics, user data, and search functions. However, get-user-content and search-content could potentially overlap in purpose if content retrieval is involved, creating minor ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent kebab-case pattern with a verb-noun structure, primarily using 'get-' or 'search-' prefixes. This uniformity makes the tool set predictable and easy to parse for an agent.

    Tool Count5/5

    With 10 tools, the count is well-scoped for a social platform server, covering user interactions, content discovery, and search functionalities. Each tool appears to serve a specific role without redundancy.

    Completeness3/5

    The tool set focuses heavily on retrieval and search operations, with no clear tools for creating, updating, or deleting content, users, or channels. This leaves significant gaps in CRUD coverage for a social platform domain, though retrieval functions are well-represented.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers