使用 Graphistry 和 MCP 实现大型语言模型的 GPU 加速图形可视化和分析。
本项目将 Graphistry 强大的 GPU 加速图形可视化平台与模型控制协议(MCP)集成,为AI助手和大型语言模型提供了高级图形分析能力。它允许大型语言模型通过标准化且友好的接口来可视化和分析复杂网络数据。
关键特性:
graph_data 字典用于图形工具此 MCP 服务器需要一个免费的 Graphistry 账户才能使用可视化功能。
.env 文件中:
export GRAPHISTRY_USERNAME=your_username
export GRAPHISTRY_PASSWORD=your_password
# 或创建一个 .env 文件:
# GRAPHISTRY_USERNAME=your_username
# GRAPHISTRY_PASSWORD=your_password
参见 .env.example 获取模板。要使用此项目与 Cursor 或其他兼容 MCP 的工具,您需要在项目根目录下有一个 .mcp.json 文件。提供了一个模板 .mcp.json.example。
设置:
cp .mcp.json.example .mcp.json
编辑 .mcp.json 以:
graphistry-http: 通过 HTTP 连接(设置 url 以匹配您的服务器端口)graphistry: 通过 stdio 连接(根据需要设置 command, args, 和 env)注意:
.mcp.json.example 包含了 HTTP 和 stdio 配置。根据需要启用或禁用 disabled 字段。.env.example 获取环境变量设置。# 使用 npx 安装(无需安装)
npx -y @silkspace/graphistry-mcp
# 或全局安装
npm install -g @silkspace/graphistry-mcp
graphistry-mcp
MCP 客户端配置:
添加到您的 MCP 客户端设置(.mcp.json, MCP 客户端配置等):
{
"graphistry": {
"command": "npx",
"args": ["-y", "@silkspace/graphistry-mcp"],
"env": {
"GRAPHISTRY_USERNAME": "your_username",
"GRAPHISTRY_PASSWORD": "your_password"
}
}
}
npm 包会自动:
uv,否则使用 pip)# 克隆仓库
git clone https://github.com/graphistry/graphistry-mcp.git
cd graphistry-mcp
# 设置虚拟环境并安装依赖项
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# 设置您的 Graphistry 凭据(参见上面)
或者使用设置脚本:
./setup-graphistry-mcp.sh
# 如果尚未激活,请激活您的虚拟环境
source .venv/bin/activate
# 启动服务器(stdio 模式)
python run_graphistry_mcp.py
# 或使用启动脚本以 HTTP 或 stdio 模式启动(推荐,安全加载 .env)
./start-graphistry-mcp.sh --http 8080
.env 文件中加载凭据,使用 python-dotenv,因此您可以安全地使用 .env 文件进行本地开发。start-graphistry-mcp.sh 脚本加载 .env 并是启动服务器最健壮和安全的方式。使用 npm(推荐):
将 MCP 服务器添加到您的 MCP 客户端配置:
{
"graphistry": {
"command": "npx",
"args": ["-y", "@silkspace/graphistry-mcp"],
"env": {
"GRAPHISTRY_USERNAME": "your_username",
"GRAPHISTRY_PASSWORD": "your_password"
}
}
}
使用手动安装:
{
"graphistry": {
"command": "/path/to/your/.venv/bin/python",
"args": ["/path/to/your/run_graphistry_mcp.py"],
"env": {
"GRAPHISTRY_USERNAME": "your_username",
"GRAPHISTRY_PASSWORD": "your_password"
}
}
}
注意事项:
主要工具 visualize_graph 现在接受一个单一的 graph_data 字典。示例:
{
"graph_data": {
"graph_type": "graph",
"edges": [
{"source": "A", "target": "B"},
{"source": "A", "target": "C"},
{"source": "A", "target": "D"},
{"source": "A", "target": "E"},
{"source": "B", "target": "C"},
{"source": "B", "target": "D"},
{"source": "B", "target": "E"},
{"source": "C", "target": "D"},
{"source": "C", "target": "E"},
{"source": "D", "target": "E"}
],
"nodes": [
{"id": "A"}, {"id": "B"}, {"id": "C"}, {"id": "D"}, {"id": "E"}
],
"title": "5节点,10边完全图",
"description": "一个由5个节点组成的完全图(K5),其中每个节点都与其他节点相连。"
}
}
示例(超图):
{
"graph_data": {
"graph_type": "hypergraph",
"edges": [
{"source": "A", "target": "B", "group": "G1", "weight": 0.7},
{"source": "A", "target": "C", "group": "G1", "weight": .6},
{"source": "B", "target": "C", "group": "G2", "weight": 0.8},
{"source": "A", "target": "D", "group": "G2", "weight": 0.5}
],
"columns": ["source", "target", "group"],
"title": "测试超图",
"description": "一个简单的测试超图。"
}
}
以下 MCP 工具可用于图形可视化、分析和操作:
欢迎提交 PR 和问题!随着我们对大型语言模型驱动的图形分析和工具集成了解的深入,这个项目正在迅速发展。
MIT