Skip to main content
Glama
Beyond-Network-AI

Beyond MCP Server

超越 MCP 服务器

一个可扩展的模型上下文协议服务器,提供对社交平台数据和链上数据的标准化访问。目前支持 Farcaster(通过 Neynar API),并带有用于 Twitter 集成的占位符。更多类似 Telegram 的平台(包含链上数据)即将添加。

特征

  • 符合 MCP 规范:完全实现模型上下文协议规范

  • 多平台:旨在支持多个社交媒体平台

  • 可扩展:轻松添加新的平台提供商

  • 格式良好:针对 LLM 的使用优化了上下文格式

  • 灵活传输:支持 stdio 和 SSE/HTTP 传输

Related MCP server: MCP URL Fetcher

支持的平台

  • Farcaster :通过 Neynar API 完全实现

  • Twitter :占位符(未实现)

入门

先决条件

安装

  1. 克隆存储库

git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. 安装依赖项

npm install
  1. 从模板创建 .env 文件

cp .env.example .env
# Edit .env with your API keys
  1. 配置环境变量

    • 必需:在 .env 文件中设置NEYNAR_API_KEY

    • 您可以从https://neynar.com/获取 Neynar API 密钥

    • 如果没有有效的 API 密钥,Farcaster 功能将无法运行

  2. 构建并启动服务器

npm run build
npm start  # For stdio mode (default)
# OR
npm run start:http  # For HTTP/SSE mode

与 Claude for Desktop 一起使用

  1. 构建服务器

npm run build
  1. 确保你的 .env 文件已正确配置你的 API 密钥

    • 服务器将在以下位置查找 .env:

      • 当前工作目录

      • 项目根目录

      • 父目录(最多 3 级)

    • 您也可以直接在系统中设置环境变量

  2. 将服务器添加到您的 Claude Desktop 配置中:

  • macOS:〜/资源库/应用程序支持/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. 或者,您可以直接在 Claude Desktop 配置中传递 API 密钥和其他环境变量(推荐):

{
  "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. 重启 Claude 桌面版

MCP 功能

资源

  • social://{platform}/{query}/search - 在平台上搜索内容

  • social://{platform}/user/{userId}/profile - 获取用户资料

  • social://{platform}/wallet/{walletAddress}/profile - 通过钱包地址获取用户资料(仅限 Farcaster)

  • social://{platform}/user/{userId}/balance - 获取用户钱包余额(仅限 Farcaster)

    • 接受 FID(数字)或用户名

    • 如果提供了用户名,则在获取余额之前自动转换为 FID

  • social://{platform}/wallet/{walletAddress}/profile - 通过钱包地址获取用户资料

  • social://{platform}/user/{userId}/content - 获取用户内容

  • social://{platform}/thread/{threadId} - 获取对话线程

  • social://{platform}/trending - 获取热门话题

  • social://{platform}/trending-feed - 获取具有多提供商支持的热门 feed 内容(仅限 Farcaster)

    • 支持提供商:neynar(默认)、openrank、mbd

    • 参数:timeWindow(1h、6h、12h、24h、7d、30d)、limit

工具

  • search-content - 在社交平台上搜索内容

  • get-user-profile - 获取用户的个人资料信息

  • get-user-profile-by-wallet - 使用钱包地址获取用户资料(仅限 Farcaster)

  • get-user-balance - 获取用户钱包余额(仅限 Farcaster)

    • 接受 FID(数字)或用户名

    • 自动处理用户名到 FID 的转换

  • get-user-content - 从特定用户获取内容

  • get-thread - 获取对话线程

  • get-trending-topics - 获取当前热门话题

  • getTrendingFeed - 获取支持多供应商的热门资讯(仅限 Farcaster)

  • get-wallet-profile - 根据钱包地址获取个人资料

提示

  • analyze-thread - 分析社交媒体线程

  • summarize-user-activity - 总结用户的活动

  • explore-trending-topics - 探索平台上的热门话题

  • analyze-search-results - 分析查询的搜索结果

  • explore-trending-feed - 分析不同提供商的热门 feed 内容

  • get-wallet-profile - 通过钱包地址获取并分析用户资料

  • check-user-balance - 分析用户的钱包余额和持有量

    • 适用于 FID 和用户名输入

    • 处理用户名的自动 FID 解析

通过新的提供商进行扩展

要添加新的社交平台提供商:

  1. 在src/providers/中创建一个新目录

  2. 实现ContentProvider接口

  3. 在注册表中注册提供商

例子:

import { ContentProvider } from '../interfaces/provider';

export class MyPlatformProvider implements ContentProvider {
  public name = 'myplatform';
  public platform = 'myplatform';
  
  // Implement all required methods
}

发展

以开发模式运行

npm run dev        # stdio mode
npm run dev:http   # HTTP mode

测试

npm test

代码检查

npm run lint
npm run lint:fix

执照

麻省理工学院

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

变更日志

该项目的所有显著变化都将记录在此文件中。

[1.0.0] - 2025 年 3 月 10 日

额外

  • 初始版本

  • 通过 Neynar API 集成 Farcaster

  • 符合 MCP 的服务器实现

  • 支持 stdio 和 HTTP 模式

[1.0.1] - 2025 年 3 月 19 日

额外

  • 添加了新的工具和资源来获取带有钱包地址的用户资料

  • 添加了新测试

[1.0.2] - 2025 年 3 月 21 日

额外

  • 增加了通过 ID 或用户名检索 Farcaster 用户钱包余额的功能

  • 实现对热门 feed 内容的多提供商支持

  • 增强了 updateUserProfile 功能,添加了更多用户详细信息

  • 增加了全面的测试以确保可靠性和性能

Available Tools

10 tools
get-threadD
ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesSocial platform (farcaster, twitter, telegram)
threadIdYesThread or conversation ID

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-user-balanceD
ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesSocial platform (farcaster, twitter, telegram)
userIdYesFarcaster ID (FID) or username of the user

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-user-contentD
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of posts to return
platformYesSocial platform (farcaster, twitter, telegram)
userIdYesUser ID or username on the platform

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-user-profileD
ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesSocial platform (farcaster, twitter, telegram)
userIdYesUser ID or username on the platform

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-wallet-profileD
ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesSocial platform (farcaster, twitter, telegram)
walletAddressYesEthereum wallet address (0x...)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-bulk-channelsC

Search for multiple channels on a social platform in parallel

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoCursor for pagination
limitNoMaximum number of results to return per query
platformYesThe platform to search on (e.g., 'farcaster')
queriesYesArray of search queries

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only mentions parallel execution without detailing rate limits, authentication needs, error handling, or what constitutes a 'channel'. It lacks critical behavioral context for a search operation with multiple queries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain return values, error cases, or the implications of parallel execution, leaving significant gaps in understanding how to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning about parameters beyond implying 'queries' are processed in parallel, which aligns with schema but doesn't enhance understanding of individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('search for multiple channels') and resource ('channels on a social platform'), with the distinctive feature of parallel execution. However, it doesn't explicitly differentiate from its sibling 'search-channels', which might handle single queries or have different behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search-channels' or other search-related siblings. It mentions parallel execution but doesn't specify scenarios where this is beneficial or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-channelsC

Search for channels on a social platform

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoCursor for pagination
includeChannelsNoWhether to include channel information in results
limitNoMaximum number of results to return
platformYesThe platform to search on (e.g., 'farcaster')
queryYesThe search query

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'search' but doesn't specify whether this is a read-only operation, what permissions might be needed, rate limits, or what the response format looks like. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a search tool and front-loaded with essential information, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain return values, error conditions, or how results are structured. For a tool that likely returns paginated data with channel information, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific information beyond what's already in the schema (which has 100% coverage). It doesn't explain how parameters interact (e.g., how 'platform' affects 'query') or provide usage examples. With high schema coverage, the baseline is 3, but the description doesn't compensate with additional semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for') and resource ('channels on a social platform'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'search-bulk-channels' or 'search-content', which would require more specificity about what makes this search unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search-bulk-channels' or 'search-content'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-contentD
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
platformYesSocial platform (farcaster, twitter, telegram)
queryYesSearch query

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 10 tool updatesv1.0.0
    • First observedget-thread
    • First observedget-trending-feed
    • First observedget-trending-topics
    • First observedget-user-balance
    • First observedget-user-content
    • First observedget-user-profile
    • First observedget-wallet-profile
    • First observedsearch-bulk-channels
    • First observedsearch-channels
    • First observedsearch-content

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 issues

Related MCP Connectors

Related MCP Servers