Token导航 LogoToken导航

MCP Server · 数据服务

Conversation Search MCP

一个基于SQLite FTS5的全文搜索工具,用于索引和搜索Claude Code的对话历史记录,支持CLI和MCP服务器模式。

stdio官方级别未说明来源级核验工具 4
全文搜索PythonClaude开发工具

快速开始

作者 / 组织
gebeer
提供方
gebeer
运行时
Python

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Conversation Search MCP 属于数据服务类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

数据服务

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

uvx --from git+https://github.com/gebeer/conversation-search.git \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

对话搜索

对Claude Code对话历史进行FTS5全文搜索。对JSONL转录本进行索引 ~/.claude/projects/ 并将其作为可搜索内存公开。可作为MCP服务器和CLI工具使用。

基于 单个文件中的可搜索代理内存 埃里克·特拉梅尔。

开发流程

最初的实现是由Claude Code按照结构化的管道生成的:

  1. 产品需求文档 (ai-docs/features/001-conversation-search-mcp.md)--要求和设计决策
  2. 构建规范 (specs/conversation-search-mcp.md)--从PRD生成,包含精确的函数签名、过滤规则、接受标准和验证命令
  3. 实施 (conversation_search.py)--由Claude Code使用构建规范作为指令编写

搜索后端后来从内存中的bm25s迁移到SQLite FTS5(specs/fts5-migration.md),由Claude(Opus 4.6)和Codex(GPT-5.4)进行同行评审,并作为5个连续的子代理任务执行。

运作原理

Claude Code将对话记录存储为JSONL文件 ~/.claude/projects//。此服务器:

  1. 通过glob模式发现匹配的项目目录
  2. 将JSONL解析为回合(用户消息+助理响应+工具调用)
  3. 构建存储在以下位置的SQLite FTS5索引 ~/.cache/conversation-search/index.db
  4. 在热启动时,仅重新分析mtime/大小已更改的文件(亚秒启动)
  5. 监视文件系统的更改和重新索引(60秒去抖动)
  6. 通过stdio提供4个MCP工具(serve)或SSE(daemon)

需求

  • uv (Python>=3.10会自动解析)

无需venv或手动安装。 uv run 手柄 mcp, uvicorn,以及 watchdog 自动。不 bm25s 或者需要其他搜索库——SQLite FTS5是Python标准库的一部分。

安装

添加到MCP配置中——项目级别(.mcp.json)或全球(~/.claude.json 在...之下 mcpServers 按键):

{
  "mcpServers": {
    "conversation-search": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/gebeer/conversation-search.git",
        "conversation-search", "connect"
      ]
    }
  }
}

connect 首次使用时启动共享守护进程,并在会话之间重用它(请参见 守护程序模式).对于独立stdio模式(每个会话一个索引),请替换 connect 随着 serve.

这 --pattern 标志控制下的项目目录 ~/.claude/projects/ 被编入索引。它默认为 * (所有项目)如果省略。图案包含 / 被视为文件系统路径,并自动转换为编码的目录名格式。

模式范围
*所有项目
~/repos/openclaw单个项目
~/repos/*所有repos项目
~/repos/open*以“open”开头的项目
--pattern="-home-claude-repos-*"编码格式(需要 = 前导语法 -)

更改MCP配置后重新启动Claude Code。

CLI使用情况

该工具也可以直接从命令行用于脚本编写和调试:

uvx --from git+https://github.com/gebeer/conversation-search.git \
  conversation-search search --query "heartbeat" --limit 5

conversation-search list --project "claude" --limit 10

conversation-search read-turn --session-id "" --turn 5

conversation-search read-conv --session-id "" --offset 0 --limit 10

第一次之后 uvx 调用,the conversation-search 命令被缓存,可以直接调用。或者,使用 uv run conversation_search.py 从本地克隆。

所有CLI命令都将打印精美的JSON输出到stdout。索引进度已打印到stderr。使用 2>/dev/null 以抑制配管时的进度输出。

守护进程模式(建议用于多个会话)

当同时运行多个Claude Code会话时,使用守护进程模式共享一个 SQLite FTS5索引,而不是为每个会话打开单独的数据库连接。

设置

默认值 安装 配置已使用 connect,这会自动启用守护进程模式。在第一次会话开始时, connect 在后台启动守护进程。后续会话会重用它。守护进程在15分钟不活动后退出。

手动守护程序控制

# Start daemon in foreground (useful for debugging)
conversation-search daemon

# Custom port and idle timeout
conversation-search daemon --port 9300 --idle-timeout 1800

# Stop daemon
kill $(cat ~/.cache/conversation-search/daemon.pid)

配置

标志默认值描述
--port9237SSE服务器的本地主机端口
--idle-timeout900秒守护进程退出前处于非活动状态

两面旗帜都起作用 daemon 和 connect 子命令。

运作原理

Claude Code session A ──┐
Claude Code session B ──┼── connect (stdio↔SSE bridge) ──► daemon (SSE on localhost:9237)
Claude Code session C ──┘                                       │
                                                          • one FTS5 index (~10 MB)
                                                          • one filesystem watcher
                                                          • one reindex loop

没有守护进程: N个会话各自打开相同的SQLite数据库(WAL模式处理并发读取)。 使用守护进程: 单作者/观察者;所有会话通过SSE共享一个连接。

工具

search_conversations

FTS5全文搜索所有索引轮次。所有术语均隐式与。

参数类型默认值说明
querystr必填FTS5搜索查询。所有术语必须匹配(隐含AND)。
limitint10最大结果
session_id`str \None`None筛选到一个会话
project`str \None`None项目名称上的子字符串筛选器

返回排名结果 session_id, turn_number, score, snippet (上下文窗口 [[match]] 标记), timestamp.

查询句法
语法示例含义
关键词heartbeat timer两者必须匹配(隐式AND)
短语"systemd timer"精确短语
布尔值heartbeat AND NOT clawd 布尔运算符
前缀buffer*前缀匹配
或heartbeat OR cron任一术语
分组(timer OR cron) AND heartbeat分组布尔值
字面意思literal:foo.bar()类似代码的查询,跳过FTS5语法解析

list_conversations

使用元数据浏览索引会话。

参数类型默认值说明
project`str \None`None项目名称上的子字符串筛选器
limitint50最大结果

返回按以下方式排序的会话 last_timestamp desc,与 summary, turn_count, cwd, git_branch.

read_turn

单圈高保真检索。重新解析源JSONL(不是索引)。

参数类型说明
session_idstr会话UUID
turn_numberint零基转弯指数

退货完成 user_text, assistant_text,以及 tools_used 带有渲染的工具细节。

read_conversation

对一节课中连续轮次的分页阅读。

参数类型默认值说明
session_idstr必需会话UUID
offsetint0开始转弯
limitint10转弯次数

使用模式

这4个工具通过MCP自动暴露给助手——中没有额外的说明 CLAUDE.md, AGENTS.md,或需要类似的文件。服务器还提供 instructions 元数据通过MCP协议指导助手有效使用。

广泛搜索,然后深入阅读:

search_conversations("ProcessWire login redirect")  ->  find relevant turns
read_turn(session_id, turn_number)                   ->  get full context
read_conversation(session_id, offset, limit)         ->  read surrounding turns

FTS5要求所有查询项匹配(隐式AND)。使用特定关键字以获得最佳结果。对于非此即彼或匹配,请使用显式 OR。对于带有特殊字符的类代码查询,请使用 literal: 前缀。

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

全文搜索Python本地部署对话历史SQLite开发工具MCP服务

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Conversation Search MCP

MCP World · 本页

4stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Conversation Search MCP 怎么安装?

公开资料给出的安装命令是 uvx --from git+https://github.com/gebeer/conversation-search.git \,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Conversation Search MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Conversation Search MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Conversation Search MCP 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Conversation Search MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP