知识图谱操作服务器

Geo MCP Server 是一个提供完整 Geo 协议 SDK 访问的服务器,用于构建、查询和发布结构化知识到 Geo 分散式知识网络。

  • by rickycambrian
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 rickycambrian/geo_mcp_server

使用说明

地理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).

快速开始

典型工作流程:

  1. 配置钱包 - configure_wallet 使用您的私钥
  2. 设置空间 - setup_space 创建或找到您的个人空间
  3. 建立知识 -使用任何图形工具创建属性、类型、实体和关系
  4. 发布 - 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上运行 测试网.

许可证

麻省理工学院