使用说明
地理MCP服务器
MCP服务器提供对 地理协议 用于知识图操作的SDK。使用 GRC-20 标准。
特性
- 38工具 覆盖整个Geo SDK表面:读取、写入和管理
- GraphQL读取层 -搜索实体、浏览空间、查询建议和投票
- DAO治理 -对提案进行投票,建议编辑/子空间更改
- 基于会话的操作累积 -跨多个工具调用构建复杂的编辑,然后作为单个原子事务发布
- 发布以建议连续性 -
propose_dao_edit可以重用最新发布的操作以实现无缝连接publish_edit -> propose_dao_edit流动 - 基于名称的解析 -按名称而不是ID引用属性、类型和实体
- 天然气赞助的智能账户 -不需要测试网ETH(使用Pimlico paymaster)
- 安全的本地文件摄取 -从分配的路径加载本地JSON/markdown/text文件
安装
npm install
npm run build
配置
添加到MCP客户端配置中(例如Claude Code .mcp.json):
{
"mcpServers": {
"geo": {
"command": "node",
"args": ["/path/to/geo-mcp-server/dist/index.js"],
"env": {
"GEO_PRIVATE_KEY": "0x...",
"GEO_MCP_ALLOWED_PATHS": "/Users/me/Documents/research,/tmp"
}
}
}
}
这 GEO_PRIVATE_KEY 环境变量在启动时是可选的,您还可以在运行时使用 configure_wallet 工具。
GEO_MCP_ALLOWED_PATHS 是可选的,允许您为 read_local_file 和 create_knowledge_graph_from_file。默认情况下,只允许使用当前工作目录。
GEO_GRAPHQL_URL 可选地重写GraphQL API终结点(默认值: https://testnet-api.geobrowser.io/graphql).
快速开始
典型工作流程:
- 配置钱包 -
configure_wallet使用您的私钥 - 设置空间 -
setup_space创建或找到您的个人空间 - 建立知识 -使用任何图形工具创建属性、类型、实体和关系
- 发布 -
publish_edit在一个事务中发送链上所有累积的操作
示例:在一次通话中创建知识图
使用 create_knowledge_graph 为了获得最佳的用户体验,它使用基于名称的引用一次性构建模式、实体和关系:
create_knowledge_graph({
schema: {
properties: [
{ name: "Founded", dataType: "DATE" },
{ name: "Website", dataType: "TEXT" }
],
types: [
{ name: "Company", propertyNames: ["Founded", "Website"] }
]
},
entities: [
{
name: "Geo",
typeName: "Company",
values: [
{ propertyName: "Founded", type: "date", value: "2024-01-01" },
{ propertyName: "Website", type: "text", value: "https://geo.xyz" }
]
}
]
})
示例:发布本地图形有效载荷文件
当您的提取管道在本地写入JSON有效负载时,使用一个调用来摄取它:
create_knowledge_graph_from_file({
filePath: "./outputs/claimify-paper-graph.json"
})
文件中预期的JSON形状:
{ "schema": { ... }, "entities": [...], "relations": [...] }- 或
{ "payload": { "schema": { ... }, "entities": [...], "relations": [...] } }
工具参考
图形操作(8个工具)
| 工具 | 说明 |
|---|---|
create_property |
使用数据类型创建属性定义 |
create_type |
创建类型(架构)分组属性 |
create_entity |
创建具有类型、值和关系的实体 |
create_relation |
在两个实体之间创建关系 |
create_image |
从URL创建图像实体 |
update_entity |
更新现有实体的名称、值或属性 |
delete_entity |
删除实体 |
delete_relation |
删除关系 |
空间与出版(6个工具)
| 工具 | 说明 |
|---|---|
configure_wallet |
使用私钥设置钱包以进行发布 |
setup_space |
创建或查找您的个人空间 |
publish_edit |
将所有累积的操作发布为一个链上编辑 |
propose_dao_edit |
建议将累积操作作为DAO治理编辑 |
get_session_status |
查看当前会话状态(操作计数、工件、钱包) |
clear_session |
丢弃所有累积的操作 |
高级用户体验(7个工具)
| 工具 | 说明 |
|---|---|
generate_id |
生成一个或多个唯一的地理ID(无数据UUID v4) |
build_schema |
使用基于名称的引用在一次调用中创建属性+类型 |
create_knowledge_graph |
在一次调用中构建完整的图(模式+实体+关系) |
create_knowledge_graph_from_file |
从本地JSON文件负载构建完整的图形 |
read_local_file |
从分配的路径读取本地text/json/binary(base64) |
add_values_to_entity |
向现有实体添加多个属性值 |
get_system_ids |
获取众所周知的地理系统ID(类型、属性、数据类型) |
读取和查询(10个工具)
| 工具 | 说明 |
|---|---|
search_entities |
使用可选的空格/类型过滤器对实体进行全文搜索 |
get_entity |
获取完整的实体详细信息(值、关系、反向链接、类型) |
list_entities |
使用空间、类型和名称过滤器浏览实体 |
get_space |
获取编辑/成员数量和最近提案的空间详细信息 |
list_spaces |
使用可选类型筛选器(个人/DAO)浏览空间 |
get_type |
获取具有属性的类型定义 |
list_types |
列出特定空间中的类型 |
get_proposals |
列出空间提案(最新提案优先) |
get_proposal |
获取完整的提案详细信息和投票明细 |
get_proposal_votes |
列出对特定提案的投票 |
DAO治理(5个工具)
| 工具 | 说明 |
|---|---|
vote_on_proposal |
对DAO提案投赞成/反对/弃权票 |
propose_accept_editor |
建议向DAO空间添加一个新编辑器 |
propose_remove_editor |
建议从DAO空间中删除编辑器 |
propose_accept_subspace |
建议接受一个子空间进入DAO空间 |
propose_remove_subspace |
建议从DAO空间中删除子空间 |
支持的数据类型
TEXT, INTEGER, FLOAT, BOOLEAN, DATE, TIME, DATETIME, SCHEDULE, POINT, DECIMAL, BYTES, EMBEDDING, RELATION
发展
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm run typecheck # Type check without emitting
npm start # Run compiled version
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
网络
目前在Geo上运行 测试网.
许可证
麻省理工学院
