Enables interaction with Lindorm (a multi-model NoSQL database on Alibaba Cloud), providing tools for querying data through vector search, full-text search, and SQL operations on wide tables, as well as managing knowledge bases and indexes.
Lindorm MCP Server
This repository is an example of how to create a MCP server for Lindorm, a multi-model NoSQL database.
Usage
Configuration on lindorm
To utilize this MCP server, follow these steps:
Purchase the Lindorm wide-table engine, search-engine, vector-engine, and AI-engine on Alibaba Cloud.
Deploy a text-embedding model by following the official instructions.
Create your index (knowledgebase) and import your data using the deployed embedding model.
Related MCP server: Alibaba Cloud RDS OpenAPI MCP Server
Environment Setup
Clone this repository and navigate to the project directory.
Create your environment file:
Edit the .env file with your specific configuration:
LINDORM_INSTANCE_ID: Your Lindorm instance ID
USING_VPC_NETWORK: Set to true if running on VPC network, otherwise false
USERNAME: Your Lindorm account username
PASSWORD: Your Lindorm account password
TEXT_EMBEDDING_MODEL: The name of your deployed text-embedding model
TABLE_DATABASE: The database for SQL operations Note: This configuration assumes all engines share the same username and password.
Running the MCP Server
You should install uv.
Directly start the mcp server.
Visual Studio Code
Install the Cline extension.
Create the
.envfile under/path/to/alibabacloud-lindorm-mcp-server/Copy the MCP configuration from .vscode/mcp.json to cline_mcp_settings.json, replacing paths and variables as needed.
Start the MCP server through the Cline extension.
Components
LindormVectorSearchClient: Performs full-text and vector searches on the search and vector engines.LindormWideTableClient: Executes SQL operations on Lindorm wide tables.
Available Tools
lindorm_retrieve_from_index: Retrieve from an existing indexes(or knowledgebase) using both full-text search and vector search, and return the aggregated resultsParameters
index_name: the index name, or known as knowledgebase name
query: the query that you want to search in knowledgebase
content_field: the text field that store the content text. You can get it from the index structure by lindorm_get_index_mappings tool
vector_field: the vector field that store the vector index. You can get it from the index structure by lindorm_get_index_mappings tool
top_k: the result number that you want to return
lindorm_get_index_fields: Get the fields info of the indexes(or knowledgebase), especially get the vector stored field and content stored field.Parameters:
index_name: the index name, or known as knowledgebase name
lindorm_list_all_index: List all the indexes(or knowledgebase) you have.lindorm_execute_sql: Execute SQL query on Lindorm database.Parameters
query: The SQL query to execute which start with select
lindorm_show_tables: Get all tables in the Lindorm databaselindorm_describe_table: Get tables schema in the Lindorm databaseParameters
table_name: the table name