NovaNet MCP 服务器
使用说明(简要要点,便于快速上手)
- 项目简介
- 该仓库实现了一个完整的 MCP 服务器后端,用来向 LLM 客户端提供可查询的资源、可执行的工具、以及可渲染的提示模板,全部通过 JSON-RPC 进行通信。底层以 Neo4j 作为知识图谱存储,并提供多种工具链用于检索、遍历、组装上下文以及生成内容。
- 主要功能点
- 14 种工具(Query、Describe、Search、Traverse、Assemble、Atoms、Generate、Introspect 等等)用于对知识图谱进行查询、描述、遍历、组装以及内容生成。
- 资源与提示体系,支持对实体、地区、ARC 等资源的管理与提示模板渲染。
- 基于 JSON-RPC 的协议实现,服务器端处理请求、返回响应或通知。
- 会话管理、能力声明与安全策略(只读查询、写操作受控、对 APOC/LOAD CSV 等潜在风险进行校验)。
- 支持 Neo4j 连接池、流式查询、令牌预算控制、以及上下文锚点(Context Anchors)等特性,方便 LLM 端进行本地化内容生成。
- 安装与运行步骤
- 准备条件:Rust 环境、Neo4j 数据库、以及必要的环境变量(后文有配置说明)。
- 构建服务器二进制:在仓库中找到 MCP 服务器入口(main.rs),通过 cargo 构建产出服务器二进制。
- 启动服务器:运行构建出的服务器二进制,默认通过标准输入/输出传输(stdio)与客户端通信,需按 MCP 客户端约定提供配置与连接信息。
- 服务器配置
- 配置文件(供 MCP 客户端使用的示例信息,实际读取配置来自环境变量;客户端需要了解启动命令与参数以连接服务器): { "server_name": "novanet-mcp", "command": "./target/release/novanet-mcp-server", "args": ["--transport", "stdio", "--log=info"] }
- 以上配置意在帮助 MCP 客户端理解服务器的启动命令和参数(实际实现以环境变量为准,客户端不需要读取该配置)。
- 基本使用方法
- 客户端通过 MCP 协议向服务器发送请求,如读取资源、调用工具、获取提示模板等,服务器返回标准的 JSON-RPC 响应或通知。
- 常见工作流包括:查询知识图谱中的实体、遍历关系、 Assemble/Generate 内容上下文、以及基于提示模板渲染需求的对话交互。