Astrolabe MCP 服务器
使用说明内容(Markdown格式)
-
项目简介
- 这是一个实现了 MCP 协议的后端服务器,核心职责是为 LLM 客户端提供统一的知识上下文:对资源进行管理与检索、暴露工具以供外部功能调用,以及提供和渲染 Prompt 模板相关能力。服务器通过 JSON-RPC 与客户端交互,支持会话管理、能力声明以及多传输通道的扩展。
-
主要功能点
- 资源与索引管理:扫描配置项目中的文档,建立索引(包括文件元数据、哈希、大小等),支持多种存储后端(JSON 或 SQLite)。可在跨机器环境中共享索引。
- 工具注册与执行:实现多种 MCP Tools(如获取 cosmos、列出文档、搜索、读取文档、更新索引等),LLM 可以调用这些工具完成与外部系统的交互和信息查询。
- Prompt 相关能力:支持渲染与查询提示模版,方便构建与 LLM 交互的对话流程。
- 安全与扩展性:提供会话管理、能力声明、错误处理以及对传输协议的支持(标准 MCP 机制下的初始化、请求与响应处理)。
- 多存储后端支持与迁移:从 JSON 索引迁移到 SQLite,确保数据的一致性与可扩展性。
-
安装步骤
- 确保 Python 3.11 及以上环境
- 创建并激活虚拟环境
- 安装本仓库并进入开发模式
- 配置运行时所需的 config.json(放在 runtime 目录下,或通过环境变量 ASTROLABE_CONFIG 指定路径)
- 启动服务器:直接通过命令行运行 main 入口,或让 MCP 客户端在启动时自动启动服务器
-
服务器配置
- MCP 客户端与服务器通过命令启动并建立连接,客户端配置示例(不需要对普通用户暴露实现细节,仅供理解):
- 服务器名称(server name):astrolabe
- 启动命令(command):用于启动 Python 解释器并执行 MCP 服务器入口的绝对路径
- 启动参数(args):包括模块名与入口参数,例如 -m astrolabe.server
- 工作目录(cwd):服务器代码所在的根目录
- 环境变量(env):包含指向运行时配置文件的 ASTROLABE_CONFIG 路径,例如 ASTROLABE_CONFIG=/path/to/runtime/config.json
- 运行时配置示例定位点
- 服务器会读取配置文件 runtime/config.json,或通过 ASTROLABE_CONFIG 指定的路径载入
- 配置包括 projects、index_dir、index_extensions、ignore_dirs、ignore_files、max_file_size_kb,以及 storage 选择等
- MCP 客户端与服务器通过命令启动并建立连接,客户端配置示例(不需要对普通用户暴露实现细节,仅供理解):
-
基本使用方法
- 客户端启动后,服务器将以 MCP 的标准 JSON-RPC 形式对外提供工具接口,如获取 cosmos、查询文档、读取文档、更新索引、重新建立索引等
- 常用工作流:通过 get_cosmos 获取索引概览 → 使用 list_docs、search_docs 按需检索 → 通过 get_card 查看元数据 → 使用 read_doc 读取内容(支持按段落、范围)→ 调用 update_index_tool 进行 enrichment 更新 → 使用 reindex_tool 更新索引状态
- 如需在本地测试,可手动启动服务器并通过 MCP 客户端发送请求进行交互