关于 seshat-mcp
seshat-mcp 将代码仓库编译为带类型的符号图,并通过 MCP 向编码 Agent 提供结构化代码分析。它基于真实依赖关系而非文本搜索或嵌入,可追踪变更影响、调用链和提交历史。
主要功能
- 01查询函数、类、路由及入口点
- 02查看调用者、被调用者、数据流和副作用
- 03追踪变更的传递影响范围
- 04检查 JavaScript、TypeScript 和 Python 调用状态
- 05分析提交历史、热点和协同变更模块
适用场景
- 01修改函数前确认可能受影响的代码
- 02定位未等待的异步调用或未处理的失败
- 03识别反复变更或与其他模块协同修改的代码
MCP 相关
MCP 服务将已同步仓库的编译符号图和分析结果提供给 MCP 客户端。可通过 npx 安装配置,并使用 API 密钥连接服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
27收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
Seshat — 面向 AI Agent 的结构化代码智能
你的 Agent 根据可能性重构代码库。Seshat 则对其进行编译。
Seshat 会将代码仓库转换为类型化符号图(包含每个函数、类、路由和表,以及其真实依赖边、数据流和约束),并通过 MCP 将其提供给你的 Agent。因此,在编辑函数之前,你的 Agent 可以先询问实际会造成哪些影响,而不是靠猜测。
Seshat 基于编译后的中间表示,而非文本搜索或嵌入:如果 Seshat 说某个函数有 3 个调用方,那就确实有 3 个。
为什么
AI 编码 Agent 速度很快,但缺乏结构视野。Agent 修改一个函数时,往往无法看到所有依赖它的部分,因此会悄无声息地破坏它从未检查过的调用方。许多由 AI 引入的回归问题正是由此而来。Seshat 为 Agent 提供代码地图。
立即试用(无需安装或登录)
将任意公开代码仓库粘贴到 **https://seshat.papyruslabs.ai/try**,看看它如何追踪一项更改会造成哪些影响。
安装
npx -y @papyruslabsai/seshat-mcp setup <your-key>
前往 https://seshat.papyruslabs.ai 获取免费密钥(首次提取免费)。设置命令会写入 MCP 配置并保存密钥。
也可以手动配置(Claude Code、Cursor 或任何 MCP 客户端):
{
"mcpServers": {
"seshat": {
"command": "npx",
"args": ["-y", "@papyruslabsai/seshat-mcp"],
"env": { "SESHAT_API_KEY": "your-key" }
}
}
}
工具
使用 sync_project 指定代码仓库,然后让你的 Agent 像资深工程师一样开展调查:了解概况、追踪依赖、验证结果。
了解概况
list_projects— 已同步的内容list_modules— 代码库如何按层或模块组织query_entities— 按名称、层或模块查找函数、类和路由find_entry_points— 路由、导出内容和公共 API 范围
调查符号
get_entity— 签名、调用方、被调用方、数据流、副作用和涉及的表get_dependencies— 真实调用链、调用方和被调用方get_blast_radius— 更改后会受到影响的一切,包括传递影响get_data_flow— 函数读取、返回和修改的内容get_optimal_context— 编辑前应阅读的最精简且经过排序的文件集合find_by_constraint— 涉及指定表(或具有指定特征)的所有函数find_dead_code— 无法到达的符号,可安全删除
检查调用本身(JavaScript、TypeScript 和 Python)
query_call_sites— 按状态查找调用:未等待的异步调用(悬空 Promise、被用作条件判断的 Promise)、失败会逃逸出调用方的调用(该调用没有try或.catch包裹),以及计算后被丢弃的结果。逐个调用检查,而非逐个函数检查。get_entity和get_dependencies也会显示每个调用的相同状态。
读取历史记录(来自代码仓库的提交记录,首次同步时补录)
get_lineage— 了解单个函数实际经历了哪些更改:按变动内容(函数体、调用、数据、签名)对每次提交分类,显示 CI 通过或失败情况及回滚记录、伴随它一起更改的内容,以及最近一次迫使此处更改的原因。修改任何关键承载代码前,请先查询它。get_hotspots— 了解开发活动集中在哪里、又在哪里失败:更改最频繁的代码、变更反复回滚或合入时 CI 为红色的反复折腾区域,以及使用广泛却无人触碰的代码(稳定性压力)get_co_change_clusters— 发现隐藏模块:即使文件间没有导入关系,也会一起更改的代码;因此更改其中一个成员通常意味着其余部分也要更改
每个答案都来自编译后的图,并会说明其背后的覆盖范围。历史记录反映的是提交解析得到的相关性,并会明确说明这一点;它绝不会声称存在无法证明的因果关系。
跨领域审计工具(测试覆盖率、拓扑结构、语义克隆)仍在强化中,准备就绪后会加入此列表。
隐私
分析按设计在 Papyrus Labs 云端运行:编译后的图谱是产品的竞争壁垒,将提取过程保留在服务端是保护它的方式。公共仓库会从 GitHub 克隆;私有仓库则需要你连接 GitHub 账号。源代码会经过处理以构建图谱,并缓存以提供查询服务。请访问 seshat.papyruslabs.ai 查看隐私政策。
定价
首次提取免费。免费额度用完后,每次查询收费 $0.03;一次典型的调查需要 5 至 15 次查询。详情请访问 https://seshat.papyruslabs.ai。
采用 MIT 许可的服务。以负责记录的女神命名,为让你的 Agent 能够读取这些记录而构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。