Token导航 LogoToken导航TokenDH.com
Community Notes MCP logo
搜索检索stdio官方级别未说明来源级核验

Community Notes MCP

MCP Server

一个基于模型上下文协议(MCP)的服务器,用于查询和语义搜索社区笔记,支持按状态过滤和嵌入相似性搜索。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
搜索PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

stefanjwojcik

提供方

stefanjwojcik

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

社区笔记MCP服务器

用于查询和语义搜索社区笔记的模型上下文协议(MCP)服务器。该服务器提供对社区笔记数据的快速访问,支持按状态过滤(有用、无用、需要更多评级)和使用嵌入进行语义相似性搜索。

特性

  • 快速查询性能:使用DuckDB进行高效的结构化查询
  • 语义搜索:基于嵌入的相似性搜索,用于查找相关笔记
  • 综合过滤:按状态、分类、推特ID等过滤
  • 统计:深入了解社区笔记数据集

可用工具

1. query_notes

按各种条件查询社区笔记。

参数:

  • status (可选):按当前价格、当前价格、NOT_HELPFUL或需求价格筛选
  • classification (可选):按分类类型筛选
  • tweet_id (可选):获取特定推文的注释
  • limit (可选):返回的最大结果数(默认值:10)

2. semantic_search

使用嵌入查找与查询短语含义相似的注释。

参数:

  • query (必填):搜索短语
  • limit (可选):返回的最大结果数(默认值:10)
  • status (可选):按笔记状态筛选
  • min_similarity (可选):最小相似性得分0-1(默认值:0.0)

3. get_note_stats

获取有关笔记数据库的统计信息。

按状态、分类和其他指标返回计数。

4. get_note_by_id

通过ID检索特定笔记。

参数:

  • note_id (必填):要检索的笔记ID

设置

快速安装(推荐)

运行自动安装脚本:

Linux/Mac:

./install.sh           # Full install (all 2M records, 15-30 minutes)
./install.sh --demo    # Demo mode (1000 records, 1-2 minutes)

窗户:

install.bat           # Full install (all 2M records, 15-30 minutes)
install.bat --demo    # Demo mode (1000 records, 1-2 minutes)

脚本将:

  1. 下载数据文件(如果不存在)
  2. 创建虚拟环境
  3. 安装所有依赖项
  4. 运行数据接收
  5. 提供配置说明

对于本地测试,请使用 --demo 模式,快速设置小数据集(1000条记录)。

手动安装

如果您更喜欢手动安装:

1.安装依赖项

pip install -r requirements.txt

2.摄入数据

运行摄取脚本来处理TSV文件并生成嵌入:

python ingest_data.py

这将:

  • 创建DuckDB数据库(community_notes.db)
  • 从加载笔记 data/notes-00000.tsv
  • 加载状态历史记录 data/noteStatusHistory-00000.tsv
  • 使用以下命令为所有笔记摘要生成嵌入 all-MiniLM-L6-v2 模型

备注:摄取过程可能需要一些时间,具体取决于数据集的大小(2M+条记录)。嵌入以1000个为一批生成。

配置MCP客户端

将服务器添加到MCP客户端配置中。对于Claude Desktop,编辑您的配置文件:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "community-notes": {
      "command": "python",
      "args": ["/path/to/CommunityNotesMCP/server.py"]
    }
  }
}

备注:如果您使用了安装脚本,它将显示具有正确路径的确切配置。

重新启动Claude Desktop或MCP客户端以加载新服务器。

本地测试

要在连接到MCP客户端之前测试一切是否正常:

# Activate virtual environment
source venv/bin/activate  # Linux/Mac
# or
venv\Scripts\activate.bat  # Windows

# Run the test script
python test_mcp.py

这将测试所有四个工具并显示示例输出,以验证服务器是否正常工作。

使用示例

按状态查询注释

Use the query_notes tool to find 5 helpful community notes

语义搜索

Use semantic_search to find notes about "election misinformation"

获取统计信息

Use get_note_stats to show me statistics about the community notes dataset

获取特定注释

Use get_note_by_id to retrieve note 1783179305159200982

数据库模式

notes 表格

  • noteId:唯一钞票标识符
  • tweetId:关联的推特ID
  • summary:注释文本内容
  • classification:注释分类类型
  • summary_embedding:384维嵌入向量
  • 各种误导性/非误导性标志
  • 元数据字段

note_status_history 表格

  • noteId:指向笔记表的链接
  • currentStatus:当前评级状态
  • currentDecidedBy:决定状态的模型
  • 用于状态更改的各种时间戳字段

技术细节

  • 数据库:DuckDB(嵌入式快速分析查询)
  • 嵌入:句子转换器 all-MiniLM-L6-v2 型号(384个维度)
  • 相似性:用于语义匹配的余弦相似度
  • 演出:索引查询,嵌入的批处理

数据源

此服务器需要两个TSV文件 data/ 目录:

  • notes-00000.tsv:附有摘要和分类的社区说明
  • noteStatusHistory-00000.tsv:状态评级(有用/无用/需要更多评级)

发展

要修改嵌入模型,请编辑 ingest_data.py 并更改 model_name 参数。流行的替代方案:

  • all-MiniLM-L6-v2 (默认,384调光,快速)
  • all-mpnet-base-v2 (768调暗,更准确,更慢)
  • paraphrase-multilingual-MiniLM-L12-v2 (多语言支持)

故障排除

“找不到数据库”错误

python ingest_data.py 首先创建数据库。

语义搜索速度慢

  • 减小数据集大小或限制查询结果
  • 考虑使用较小的嵌入模型
  • 语义搜索前按状态预过滤

摄入过程中内存不足

  • 减小batch_size ingest_data.py
  • 分块处理笔记
  • 使用较小的嵌入模型

目录标签

目录标签

搜索PythonClaude语义搜索本地部署社区笔记数据查询嵌入搜索DuckDB

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP