内容
# gh-claude-fatbrainmap-mcp
一个将GitHub问题/PR关系图转换为交互式思维导图的MCP服务器。设计用于与[`gh-claude`](https://github.com/jsheffie/gh-claude)克劳德代码插件配对使用:当您运行`/gh-claude:gh-related 42`时,技能会构建一个JSON图并将其交给此服务器,后者会启动一个本地Web UI并返回一个可点击的URL。
## 你得到什么
- 一个FastMCP服务器,暴露一个工具:`render_mindmap(graph)`
- 一个捆绑的FastAPI Web应用程序,提供一个React Flow画布,带有两个布局引擎:
- **层次结构**(elk,分层)— 根问题在顶部,相关项目向下分支
- **有机**(d3-force)— 类似Coggle风格的浮动节点通过边拉在一起
- Bezier边,实线表示直接引用,虚线表示语义匹配
- 拖动,缩放,缩略图,右键单击隐藏节点
- 每个节点标题都链接到基础GitHub问题/PR
## 安装
在该项目被提交到PyPI之前,请从源代码安装:
```bash
git clone https://github.com/jsheffie/gh-claude-fatbrainmap-mcp.git
cd gh-claude-fatbrainmap-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e .
(cd ui && npm install && npm run build)
# 注册到克劳德代码(用户范围 = 在每个项目中可用)
claude mcp add fatbrainmap --scope user -- "$(pwd)/.venv/bin/gh-claude-fatbrainmap-mcp"
```
然后重启克劳德代码(或运行 `/mcp` 进行验证)。连接后,`gh-claude` 插件的 `/gh-claude:gh-related N` 将检测到MCP工具,并在其输出中追加一个可点击的思维导图URL。
## 本地开发
```bash
# Python依赖项
python -m venv .venv && source .venv/bin/activate
pip install -e '.[dev]'
# UI依赖项
cd ui && npm install && cd ..
# 运行两个开发服务器
./scripts/dev.sh
# 在另一个终端中:播种一个示例图并打开它打印的URL
python scripts/seed.py
```
MCP服务器本身(用于克劳德代码的标准输入输出传输)通过 `gh-claude-fatbrainmap-mcp` 启动(与 `pyproject.toml` 中的控制台脚本同名)。
## 构建分发
```bash
./scripts/build.sh # 将UI构建到server/static/,然后将Python轮子构建到dist/
```
## JSON合约
技能必须发送与 `server/schemas.py` 匹配的图:
```json
{
"version": 1,
"repo": "owner/name",
"root": 42,
"nodes": [
{
"id": 42, "kind": "issue", "state": "open",
"title": "...", "url": "https://github.com/...",
"labels": ["bug"], "milestone": "v2.1"
}
],
"edges": [
{ "source": 42, "target": 38, "kind": "direct", "reason": "fixes #38" }
]
}
```
参见 `examples/sample-graph.json` 以获取完整的示例。
## 许可证
MIT