此仓库是一个如何为 Lindorm 创建 MCP 服务端的示例,Lindorm 是一个支持多模的 NoSQL 数据库,能为用户提供多样化的数据存储和处理能力。
要利用此 MCP 服务端,请按照以下步骤操作:
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 操作的数据库 |注意:此配置假设所有引擎共享相同的用户名和密码。
你需要安装 uv。
直接启动 MCP 服务端。
cd /path/to/alibabacloud-lindorm-mcp-server/
uv pip install .
uv run python -m src.lindorm_mcp_server.server
/path/to/alibabacloud-lindorm-mcp-server/ 下创建 .env 文件。.vscode/mcp.json 复制 MCP 配置到 cline_mcp_settings.json,根据需要替换路径和变量。以下是使用 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:表名称