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 的标准 JSON-RPC 形式对外提供工具接口,如获取 cosmos、查询文档、读取文档、更新索引、重新建立索引等
    • 常用工作流:通过 get_cosmos 获取索引概览 → 使用 list_docs、search_docs 按需检索 → 通过 get_card 查看元数据 → 使用 read_doc 读取内容(支持按段落、范围)→ 调用 update_index_tool 进行 enrichment 更新 → 使用 reindex_tool 更新索引状态
    • 如需在本地测试,可手动启动服务器并通过 MCP 客户端发送请求进行交互

服务器信息