项目简介
该仓库提供了一个MCP (Model Context Protocol) 服务器实现,用于集成阿里云Lindorm数据库。它允许大型语言模型 (LLM) 客户端通过标准化的协议访问Lindorm的搜索、向量和宽表引擎,执行知识检索和SQL查询等操作。
主要功能点
- 知识库检索: 允许LLM在Lindorm中已建立的知识库(索引)中进行全文检索和向量检索,获取相关文档内容。
- 知识库信息查询: 提供获取知识库(索引)列表及字段结构的能力,帮助LLM理解可用知识源。
- SQL查询执行: 允许LLM对Lindorm宽表执行SELECT查询,获取结构化数据。
- 数据库表信息查询: 提供列出数据库中的表以及查看表结构的能力,帮助LLM理解数据库模式。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/aliyun/alibabacloud-lindorm-mcp-server.git cd alibabacloud-lindorm-mcp-server - 安装 'uv' 工具(如果尚未安装):
pip install uv - 创建并编辑 '.env' 配置文件,填入您的Lindorm连接信息(根据'.env.example'文件创建):
cp .env.example .env # 编辑 .env 文件,填入实际信息 LINDORM_INSTANCE_ID=your_instance_id USING_VPC_NETWORK=true_or_false USERNAME=your_username PASSWORD=your_password TEXT_EMBEDDING_MODEL=your_embedding_model_name TABLE_DATABASE=default_database_name - 使用 'uv' 安装项目依赖:
uv pip install .
服务器配置(供MCP客户端使用)
MCP客户端(如Cline)需要配置如何启动和连接到这个服务器。以下是典型的配置结构,您需要根据您的环境调整路径和参数:
{ "name": "Lindorm", "command": "python", "args": [ "-m", "src.lindorm_mcp_server.server" ], // 客户端可能还需要配置其他参数,例如传输协议、工作目录等 // "protocol": "stdio", // "cwd": "/path/to/alibabacloud-lindorm-mcp-server" }
- 'name': 服务器的标识名称,此处为 "Lindorm"。
- 'command': 执行服务器的命令,此处为 'python'。
- 'args': 传递给命令的参数,此处为 '-m src.lindorm_mcp_server.server',用于以模块方式运行服务器主程序。
请注意,Lindorm连接信息(如实例ID、用户名、密码等)不是在客户端配置中提供,而是在服务器启动前配置在其 '.env' 文件或通过命令行参数传递给服务器。
基本使用方法
配置好MCP客户端并启动Lindorm MCP服务器后,LLM客户端即可通过MCP协议调用服务器暴露的工具(Tools),例如:
- 调用 'lindorm_list_all_index' 工具获取所有可用的知识库名称。
- 调用 'lindorm_get_index_fields' 工具查看特定知识库的结构,获取内容字段和向量字段名称。
- 调用 'lindorm_retrieve_from_index' 工具,指定知识库名称、查询文本、内容字段、向量字段和期望结果数量,执行知识检索。
- 调用 'lindorm_show_tables' 或 'lindorm_describe_table' 工具探索数据库结构。
- 调用 'lindorm_execute_sql' 工具执行特定的SQL查询(目前仅支持SELECT)。
LLM会根据其能力和用户指令,自动选择并调用合适的工具,并将工具返回的结果作为上下文信息,用于生成更准确、更相关的回复。
信息
分类
数据库与文件