NovaNet MCP 服务器

使用说明

  • 项目简介
    • 该仓库实现了一个完整的 MCP 服务器后端(NovaNet-MCP),通过 JSON-RPC 方式向客户端提供资源、工具、提示等能力;支持查询、描述、遍历、组装、生成、Atoms 等工具,以及 batch、写操作、审计等功能模块;并提供服务器端的会话、缓存、任务执行、错误提示等能力。核心入口包含一个基于 Rust 的 MCP 服务器实现,以及用于 Neo4j 的连接、工具实现、Prompts 渲染等模块,支持通过标准 MCP 客户端接入进行请求与响应。
  • 主要功能点(简明版)
    • MCP 核心能力
      • 资源、工具、提示的注册、执行和渲染
      • JSON-RPC 风格的请求/响应处理
      • 会话管理、能力声明、权限校验
      • 支持多传输协议(示例中明确了_stdio/ Claude 集成场景,理论上可扩展为 SSE、WebSocket 等)
    • 工具集合(14+ 工具模块)
      • novanet_query、novanet_describe、novanet_search、novanet_traverse、novanet_assemble、novanet_atoms、novanet_generate、novanet_introspect 等,覆盖从查询、描述、搜索、遍历、组装、生成到自检的全链路
    • 数据后端与知识图谱
      • 使用 Neo4j 作为知识图谱数据库,提供安全的只读/可写操作分离、查询与写入的分离实现,以及对 Cypher 的保护性校验
    • 安全与健壮性
      • 通过自定义的写入与只读查询校验(validate_read_only、validate_write_safe 等)来防御常见的 Cypher 注入和危险操作
      • CIRCUIT BREAKER、缓存、容错、并发模型等设计(如 circuit_breaker.rs、cache.rs 等实现)
    • Prompts 与上下文
      • prompts 模块支持对 Cypher 查询、块/页面生成、实体分析等场景的提示渲染
    • 测试与体验
      • 大量单元测试与集成测试覆盖工具、错误、状态、整合点等,尽可能模拟真实 MCP 服务端行为
  • 安装步骤(简化版)
    1. 安装 Rust 与 Cargo,确保工作区能够构建
    2. 在工作区根目录执行构建命令,编译 MCP 服务及相关组件
    3. 按需配置 Neo4j 实例(参考仓库中的 Neo4j 相关说明),确保数据库可访问
    4. 配置并启动 MCP 服务:使用提供的入口入口 main 程序,按环境变量加载配置
    5. 启动后,MCP 客户端即可通过 JSON-RPC 与服务器通信
  • 服务器配置(JSON 配置示例,注意下面信息为说明性文本,实际客户端无需代码块,JSON 用于描述配置项)
    • server_name: NovaNet MCP Server
    • command: cargo
    • args: ["run", "--package", "novanet-mcp", "--bin", "novanet-mcp"]
    • 说明与注释(理解用):
      • server_name 指定 MCP 服务器的名称,便于日志与监控识别
      • command 指定启动服务器所用的可执行命令(此处为 Cargo 构建的执行入口,实际上线可替换为编译后的工作二进制路径)
      • args 指定运行参数,示例中使用 Cargo 包和二进制名称启动服务器
    • 注意事项
      • MCP 服务器启动前需配置好数据库连接、环境变量(如 Neo4j 连接信息、Token 预算、以及可选的 API 钥匙等),具体环境变量请参考仓库中的测试/集成用例和 README
      • 客户端在连接时需要的配置信息仅包含服务器的启动命令及参数等描述信息,实际使用时客户端会使用该服务器对接 MCP 接口
  • 基本使用方法(易用版)
    • 启动与连接
      • 启动后,MCP 客户端通过 JSON-RPC 与服务器进行请求,包含读取资源、调用工具、获取 prompts 等操作
    • 请求示例(非代码块描述性说明)
      • 读取资源、调用某个工具、获取 Prompts、执行批量任务等请求均以 JSON-RPC 的方式提交,服务器返回标准的 JSON-RPC 响应
    • 运行与测试
      • 使用仓库提供的测试、集成测试和 Rust 工具链进行本地验证,确保 Neo4j 连接、工具执行、以及错误处理等功能按预期工作

服务器信息