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.
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
.env
file 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 results- Parameters
- 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
- Parameters
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
- Parameters:
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
- Parameters
lindorm_show_tables
: Get all tables in the Lindorm databaselindorm_describe_table
: Get tables schema in the Lindorm database- Parameters
- table_name: the table name
- Parameters
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An example server that enables interaction with Alibaba Cloud's Lindorm multi-model NoSQL database, allowing applications to perform vector searches, full-text searches, and SQL operations through a unified interface.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.Last updated -84PythonMIT License
- -securityFlicense-qualityA server that enables interaction with PostgreSQL, MySQL, MariaDB, or SQLite databases through Claude Desktop using natural language queries.Last updated -Python
- -securityFlicense-qualityA Model Context Protocol server that provides tools for interacting with databases, including PostgreSQL, DuckDB, and Google Cloud Storage Parquet files.Last updated -2TypeScript
- AsecurityAlicenseAqualityA server that enables LLMs like Claude to query AWS DynamoDB databases through natural language requests, supporting table management, data querying, and schema analysis.Last updated -749JavaScriptMIT License