MM

mariadb/mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

214 stars 91 forks 质量 85 趋势 26MIT

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)(可选)

核心组件

  • server.py:主MCP服务器逻辑和工具定义。
  • config.py:加载环境和.env文件中的配置。

本页由 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

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 .env files.
  • 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_ONLY is enabled.
  • 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.
在 GitHub 查看完整 README

安装

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
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "MariaDB_Server": { "command": "uv", "args": [ "--directory", "path/to/mariadb-mcp-server/", "run", "server.py" ], "envFile": "path/to/mcp-server-mariadb-vector/.env" } } }