Content
# MySQL MCP Project
This project is an intelligent MySQL MCP Server that combines the advantages of traditional relational databases (MySQL) and vector databases (Milvus), achieving intelligent querying and document management through AI technology. The project provides the following core functionalities:
1. **Intelligent Table Structure Query**: Automatically find relevant database table structures through natural language descriptions.
2. **SQL Query Execution**: Supports executing SQL statements and returning query results.
3. **Intelligent Document Processing**: Supports uploading, parsing, and vectorizing storage of various document formats.
4. **Vector Similarity Search**: Intelligent content retrieval based on semantic understanding.
5. **Automated Data Synchronization**: Regularly updates database table structures to the vector database.
## Flowchart
System Flowchart

Technical Architecture Diagram

Data Flow Diagram

## Environment Configuration
The project requires the following environment variables to be configured (set in the `.env` file):
### MySQL Database Configuration
- `DB_USER`: Database username
- `DB_PASSWORD`: Database password
- `DB_HOST`: Database host address
- `DB_PORT`: Database port (default 3306)
- `DB_NAME`: Database name
- `DB_PARAMS`: Database connection parameters (e.g., character set, timezone, etc.)
### SiliconFlow API Configuration (for vector embedding)
- `SILICONFLOW_TOKEN`: SiliconFlow API access token
- `SILICONFLOW_URL`: SiliconFlow API endpoint URL
### Milvus Vector Database Configuration
- `MILVUS_HOST`: Milvus server address
- `MILVUS_PORT`: Milvus service port (default 19530)
- `MILVUS_COLLECTION`: Milvus collection name
## Features
### 🔍 Intelligent Table Structure Query
- **Tool Name**: `get_can_use_table`
- **Function Description**: Smartly find relevant table structure information based on natural language descriptions.
- **Technical Implementation**: Uses vector embedding technology to convert queries into vectors and performs similarity searches in Milvus.
- **Application Scenario**: Quickly understand relevant table structures before writing SQL.
### 💾 SQL Query Execution
- **Tool Name**: `execute_sql`
- **Function Description**: Directly execute MySQL database queries and return results.
- **Security Features**: Supports query timeout control to prevent long-running queries.
- **Return Format**: Structured query result data.
### 📄 Intelligent Document Processing
- **Tool Name**: `doc`
- **Function Description**: Upload documents and automatically vectorize and store them in Milvus.
- **Supported Formats**:
- Text files (.txt, .md, etc.)
- PDF documents (.pdf)
- HTML files (.html)
- Other common document formats
- **Processing Flow**: Document parsing → Content segmentation → Vector embedding → Storage in vector database.
### 🤖 Automated Data Synchronization
- **Scheduled Updates**: Automatically fetch database table structure changes every 5 minutes.
- **Incremental Synchronization**: Smartly identifies new table structures to avoid duplicate processing.
- **Vectorized Storage**: Automatically converts table structure information into vectors and stores them.
### 🔎 Vector Similarity Search
- **Efficient Retrieval**: Uses Milvus for millisecond-level vector similarity searches.
- **Semantic Understanding**: Understands query semantics based on AI embedding models.
- **Precise Matching**: Supports cosine similarity algorithms, providing accurate relevance ranking.
## Main Process Description
### 1. System Initialization Process
Load environment configuration → Initialize logging system → Connect to MySQL database → Connect to Milvus vector database → Initialize SQLite cache.
### 2. Vector Database Preparation Process
Check Milvus collection → Create collection (if it does not exist) → Retrieve all table structures → Vectorize processing → Store in vector database.
### 3. Intelligent Query Process
Natural language input → Vector embedding → Milvus similarity search → Return relevant table structures → User writes SQL → Execute query → Return results.
### 4. Document Processing Process
Document upload → Format recognition → Content parsing → Text segmentation → Vector embedding → Store in Milvus → Return processing status.
## Usage Instructions
### Environment Preparation
1. Ensure MySQL database is accessible.
2. Ensure Milvus vector database is running properly.
3. Obtain SiliconFlow API access token.
### Deployment Steps
1. **Compile the Application**:
```bash
go build -o yourPath/mcp-mysql
```
2. Configure environment variables: Create a `.env` file in yourPath and configure the relevant environment variables.
3. MCP Client Configuration:
```json
"mcpName": {
"timeout": 60,
"command": "yourPath/mcp-mysql",
"args": [
"-m",
"query",
""
],
"transportType": "stdio"
}
```
## Technical Architecture
### Core Components
- MySQL: Main data storage
- Milvus: Vector database, stores embedded vectors
- SiliconFlow: AI embedding service, provides text vectorization
- SQLite: Local storage
- Go: Primary development language
- MCP Protocol: Communication protocol
### Key Technologies
- Vector Embedding: Uses advanced AI models to convert text into high-dimensional vectors.
- Similarity Search: Fast retrieval algorithm based on cosine similarity.
- Document Parsing: Supports intelligent document processing in various formats.
## Dependencies
- Go 1.23+
- MySQL Database
- Milvus Vector Database v2.5+
- SiliconFlow API (for generating text embedding vectors)
- zap logging library (for structured logging)
## Additional Resources
* MCP Official Documentation: https://modelcontextprotocol.io/introduction
* Install Cline Extension for vscode (MCP host): https://docs.cline.bot/getting-started/installing-cline
* Milvus Local Installation Guide: https://milvus.io/docs/install_standalone-docker-compose.md
* SiliconFlow Registration and APIKEY Acquisition: https://docs.siliconflow.cn/cn/userguide/quickstart
Connection Info
You Might Also Like
MarkItDown MCP
Converting files and office documents to Markdown.
Filesystem
Model Context Protocol Servers
Sequential Thinking
Offers a structured approach to dynamic and reflective problem-solving,...
codex-mcp-server
Codex Mcp Server
mcp-vosdroits
MCP Server for searching French public service and tax information.
payloadcmsmcp
Payload CMS MCP Server