article
README
🚀 Lindorm MCP 服务端
此仓库是一个如何为 Lindorm 创建 MCP 服务端的示例,Lindorm 是一个支持多模的 NoSQL 数据库,能为用户提供多样化的数据存储和处理能力。
🚀 快速开始
✨ 主要特性
- 多引擎支持:支持 Lindorm 的宽表引擎、搜索引擎、向量引擎和 AI 引擎。
- 便捷操作:提供一系列工具,可进行全文检索、向量检索、SQL 查询等操作。
📦 安装指南
Lindorm 上的配置
要利用此 MCP 服务端,请按照以下步骤操作:
- 在 Alibaba Cloud 购买 Lindorm 的宽表引擎、搜索引擎、向量引擎和 AI 引擎。
- 根据官方指南 部署一个文本嵌入模型。
- 使用部署的嵌入式模型创建索引(知识库)并导入数据。
环境搭建
- 克隆此仓库并进入项目目录。
- 创建你的环境文件:
cp .env.example .env
- 根据具体需求编辑
.env文件: | 属性 | 详情 | |------|------| |LINDORM_INSTANCE_ID| 你的 Lindorm 实例 ID | |USING_VPC_NETWORK| 如果在 VPC 网络上运行设置为 true,否则 false | |USERNAME| 你的 Lindorm 账户用户名 | |PASSWORD| 你的 Lindorm 账户密码 | |TEXT_EMBEDDING_MODEL| 部署的文本嵌入模型名称 | |TABLE_DATABASE| 执行 SQL 操作的数据库 |
注意:此配置假设所有引擎共享相同的用户名和密码。
运行 MCP 服务端
你需要安装 uv。
直接启动 MCP 服务端。
cd /path/to/alibabacloud-lindorm-mcp-server/
uv pip install .
uv run python -m src.lindorm_mcp_server.server
Visual Studio Code
- 安装 Cline 扩展。
- 在
/path/to/alibabacloud-lindorm-mcp-server/下创建.env文件。 - 从
.vscode/mcp.json复制 MCP 配置到cline_mcp_settings.json,根据需要替换路径和变量。 - 使用 Cline 扩展启动 MCP 服务端。
💻 使用示例
基础用法
以下是使用 lindorm_retrieve_from_index 工具从现有索引中检索信息的示例:
# 假设已经安装并配置好环境
from some_module import lindorm_retrieve_from_index
result = lindorm_retrieve_from_index(
index_name="your_index_name",
query="your_query_content",
content_field="your_content_field",
vector_field="your_vector_field",
top_k=10
)
print(result)
📚 详细文档
组件
LindormVectorSearchClient:在搜索和向量引擎上执行全文检索和向量检索。LindormWideTableClient:对 Lindorm 宽表执行 SQL 操作。
可用工具
lindorm_retrieve_from_index:从现有索引(或知识库)中使用全文检索和向量检索,并返回聚合结果。- 参数:
index_name:索引名称,即知识库名称query:要在知识库中搜索的查询内容content_field:存储内容文本的字段。你可以从索引结构中通过lindorm_get_index_mappings工具获取vector_field:存储向量索引的字段。你可以从索引结构中通过lindorm_get_index_mappings工具获取top_k:要返回的结果数量
- 参数:
lindorm_get_index_fields:获取索引(或知识库)的字段信息,特别是获取存储向量和内容的字段。- 参数:
index_name:索引名称,即知识库名称
- 参数:
lindorm_list_all_index:列出所有索引(或知识库)。lindorm_execute_sql:在 Lindorm 数据库上执行 SQL 查询。- 参数
query:以 select 开头的要执行的 SQL 查询
- 参数
lindorm_show_tables:获取 Lindorm 数据库中的所有表lindorm_describe_table:获取 Lindorm 数据库中表的模式信息- 参数:
table_name:表名称
- 参数:
扫码加入微信群