MariaDB MCP(模型上下文协议)服务器实现
概览
MCP MariaDB服务器提供模型上下文协议(MCP)接口用于管理和查询MariaDB数据库,支持标准SQL操作和基于向量/嵌入的高级搜索。该服务器设计用于AI助手,实现了AI驱动的数据流与关系型和向量数据库的无缝集成。 MCP MariaDB服务器展示了一套通过标准化协议与MariaDB数据库和向量存储交互的工具。它支持:- 列表数据库和表 - 检索表模式 - 执行安全的只读SQL查询 - 创建和管理基于嵌入的向量存储 - 与嵌入提供商(目前为OpenAI、Gemini和HuggingFace)集成(可选) - : 主MCP服务器逻辑和工具定义。- : 从环境和.env文件加载配置。- : 处理嵌入服务集成(OpenAI)。- : 手动和自动化测试文档及脚本。 - - 列出所有可访问的数据库。
概述(AI 翻译)
MCP MariaDB服务器提供模型上下文协议(MCP)接口用于管理和查询MariaDB数据库,支持标准SQL操作和基于向量/嵌入的高级搜索。该服务器设计用于AI助手,实现了AI驱动的数据流与关系型和向量数据库的无缝集成。
目录
- 概述
- 核心组件
- 可用工具
- 嵌入与向量存储
- 配置与环境变量
- 安全考量
- 安装与设置
- 使用示例
- 集成 - Claude桌面/光标/风帆冲浪
- 伐木
- 测试
概述
MCP MariaDB 服务器通过标准化协议与 MariaDB 数据库和向量存储交互提供了一套工具。它支持:
- 列出数据库和表格
- 检索表模式
- 执行安全的只读SQL查询
- 创建和管理基于嵌入的搜索向量存储
- 与嵌入提供商集成(目前为OpenAI、Gemini和HuggingFace)(可选)
核心组件
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
MCP MariaDB Server
The MCP MariaDB Server provides a Model Context Protocol (MCP) interface for managing and querying MariaDB databases, supporting both standard SQL operations and advanced vector/embedding-based search. Designed for use with AI assistants, it enables seamless integration of AI-driven data workflows with relational and vector databases.
Table of Contents
- Overview
- Core Components
- Available Tools
- Embeddings & Vector Store
- Configuration & Environment Variables
- Security Considerations
- Installation & Setup
- Usage Examples
- Integration - Claude desktop/Cursor/Windsurf
- Logging
- Testing
Overview
The MCP MariaDB Server exposes a set of tools for interacting with MariaDB databases and vector stores via a standardized protocol. It supports:
- Listing databases and tables
- Retrieving table schemas
- Executing safe, read-only SQL queries
- Creating and managing vector stores for embedding-based search
- Integrating with embedding providers (currently OpenAI, Gemini, and HuggingFace) (optional)
Core Components
- server.py: Main MCP server logic and tool definitions.
- config.py: Loads configuration from environment and
.envfiles. - embeddings.py: Handles embedding service integration (OpenAI).
- tests/: Manual and automated test documentation and scripts.
Available Tools
Standard Database Tools
-
list_databases
- Lists all accessible databases.
- Parameters: None
-
list_tables
- Lists all tables in a specified database.
- Parameters:
database_name(string, required)
-
get_table_schema
- Retrieves schema for a table (columns, types, keys, etc.).
- Parameters:
database_name(string, required),table_name(string, required)
-
get_table_schema_with_relations
- Retrieves schema with foreign key relations for a table.
- Parameters:
database_name(string, required),table_name(string, required)
-
execute_sql
- Executes a read-only SQL query (
SELECT,SHOW,DESCRIBE). - Parameters:
sql_query(string, required),database_name(string, optional),parameters(list, optional) - Note: Enforces read-only mode if
MCP_READ_ONLYis enabled.
- Executes a read-only SQL query (
-
create_database
- Creates a new database if it doesn’t exist.
- Parameters:
database_name(string, required)
Vector Store & Embedding Tools (optional)
Note: These tools are only available when EMBEDDING_PROVIDER is configured. If no embedding provider is set, these tools will be disabled.
- create_vector_store
- Creates a new vector store (table) for embeddings.
安装
docker run -i --rm -p 9001:9001 -e DB_HOST= -e DB_PORT= -e DB_USER= -e DB_PASSWORD= -e DB_NAME= mariadb-mcp-server python src/server.py --host 0.0.0.0 --transport stdio配置
{
"mcpServers": {
"MariaDB_Server": {
"command": "uv",
"args": [
"--directory",
"path/to/mariadb-mcp-server/",
"run",
"server.py"
],
"envFile": "path/to/mcp-server-mariadb-vector/.env"
}
}
}