Synapstor 使用说明
项目简介
Synapstor 是一个基于 Model Context Protocol (MCP) 构建的模块化应用后端,专注于为大型语言模型(LLMs)提供强大的上下文信息管理能力。它通过集成 Qdrant 向量数据库和先进的嵌入模型,实现了高效的语义信息存储和检索。Synapstor 旨在简化 LLM 应用的开发流程,提供标准化的接口来管理和访问外部知识资源,从而增强 LLM 在各种应用场景下的表现。
主要功能点
- 语义搜索: 利用向量嵌入技术,在文档、代码和其他文本内容中实现高效的语义搜索。
- 高效存储: 支持存储带有元数据的结构化信息,方便数据管理和检索。
- LLM 集成: 通过 MCP 协议与 LLM 客户端无缝集成,作为上下文服务器提供服务。
- 工具注册与执行: 允许 LLM 调用 Synapstor 提供的工具(如信息存储和检索)。
- Prompt 模板: 虽然文档中没有明确提及 Prompt 模板功能,但作为 MCP 服务器,Synapstor 可以通过工具和资源管理为 Prompt 工程提供支持。
- CLI 工具: 提供友好的命令行工具 'synapstor-ctl' 和 'synapstor-indexer',用于服务器管理、数据索引和配置。
- 多种传输协议: 支持 Stdio 和 SSE 传输协议,满足不同 LLM 客户端的连接需求。
- Docker 部署: 提供 Dockerfile 和 Docker Compose 配置,方便快速部署和环境一致性。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本,并建议使用 Conda 或 venv 创建虚拟环境。
- 克隆仓库: 使用 Git 克隆 Synapstor 仓库到本地。
git clone https://github.com/casheiro/synapstor.git cd synapstor - 安装依赖: 在项目根目录下,根据需要选择安装方式。推荐使用 pip 安装,并创建虚拟环境以隔离依赖。
- 基础安装: 仅安装核心包。
pip install -e . - 完整安装 (包含开发、测试和可选功能):
pip install -e ".[all]" - 安装 fastembed 支持 (推荐,加速嵌入生成):
pip install "synapstor[fastembed]"
- 基础安装: 仅安装核心包。
服务器配置
Synapstor 服务器通过环境变量进行配置,可以设置在 '.env' 文件中。以下是一个 'claude_desktop_config.json' 配置文件示例,用于 Claude Desktop 客户端连接 Synapstor MCP 服务器:
{ "mcpServers": { "synapstor": { "command": "synapstor-ctl", "args": ["start", "--transport", "stdio"], "env": { "QDRANT_URL": "http://localhost:6333", "COLLECTION_NAME": "synapstor", "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2" } } } }
配置参数说明 (无需修改,复制粘贴到MCP客户端即可):
- server name (synapstor): 服务器名称,用于在客户端中标识 Synapstor 服务器。
- command (synapstor-ctl): 启动 Synapstor 服务器的命令,客户端通过执行此命令来连接服务器。
- args (start, --transport, stdio): 传递给启动命令的参数。
- 'start': 指示 'synapstor-ctl' 启动服务器。
- '--transport stdio': 指定使用 Stdio (标准输入输出) 作为 MCP 服务器的传输协议,与 Claude Desktop 等客户端兼容。
- env: 环境变量配置,用于 Synapstor 服务器连接 Qdrant 数据库和配置嵌入模型。
- 'QDRANT_URL': Qdrant 数据库的 URL 地址,例如 'http://localhost:6333' 或 'https://your-qdrant-cloud-url:6333'。
- 'COLLECTION_NAME': Synapstor 使用的 Qdrant 集合名称,默认为 'synapstor'。
- 'EMBEDDING_MODEL': 用于生成文本嵌入的模型名称,默认为 'sentence-transformers/all-MiniLM-L6-v2'。
注意: 请确保 Qdrant 数据库已启动并可访问。对于 Claude Web / API 或 Cursor 等客户端,可能需要使用 SSE 传输协议,启动命令和参数会有所不同,请参考文档进行配置。
基本使用方法
- 启动服务器: 使用 'synapstor-ctl' 命令行工具启动 MCP 服务器。
或者指定传输协议 (例如 SSE):synapstor-ctl startsynapstor-ctl start --transport sse - 配置环境变量: 根据需要配置 '.env' 文件或环境变量,例如 Qdrant 连接信息和集合名称。
- 项目索引: 使用 'synapstor-ctl indexer' 命令索引项目文件,以便进行语义搜索。
synapstor-ctl indexer --project my-project --path /path/to/project - LLM 客户端集成: 在支持 MCP 协议的 LLM 客户端(如 Claude、Cursor 等)中配置 Synapstor 服务器连接信息。客户端即可通过 Synapstor 提供的工具进行上下文查询和信息存储。
- 使用工具: 在 LLM 客户端中,可以使用 'qdrant-find' 工具进行语义搜索,使用 'qdrant-store' 工具存储信息(如果服务器配置为非只读模式)。具体工具调用方式请参考 LLM 客户端的文档。
例如,在 Claude 中,你可以指示模型使用 'qdrant-find' 工具来检索相关信息,或使用 'qdrant-store' 工具来记忆重要的对话内容。
信息
分类
数据库与文件