数据库分析MCP服务器

一个实用的数据库分析MCP服务器,通过模型上下文协议(MCP)提供SQLite数据库操作,适用于与AI助手(如Claude)的数据分析工作流程。

  • by khuyentran1401
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 khuyentran1401/database-analytics-mcp

使用说明

数据库分析MCP服务器

使用FastMCP构建的实用数据库分析MCP服务器,通过模型上下文协议(MCP)提供SQLite数据库操作。非常适合使用Claude等人工智能助手的数据分析工作流程。

此服务器提供什么

🛠️ 工具 (互动操作)

  • connect_db -连接到SQLite数据库文件
  • execute_query -执行带有安全检查的SQL查询
  • list_tables -列出数据库中的所有表

📊 资源 (只读数据访问)

  • schema://tables/{table_name} -获取表列信息和结构
  • data://tables/{table_name} -获取示例表数据以供预览

🔐 安全功能

  • 通过危险操作阻塞防止SQL注入
  • 用于安全架构探索的只读资源访问
  • 使用描述性消息进行全面的错误处理

设置和安装

  1. 克隆存储库:

    git clone https://github.com/khuyentran1401/database-analytics-mcp.git
    cd database-analytics-mcp
    
  2. 安装UV(推荐):

    # Install UV if you haven't already
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. 安装依赖项:

    # UV automatically manages dependencies from pyproject.toml
    uv sync
    
  4. 测试服务器:

    uv run example_usage.py
    
  5. 添加到克劳德代码

    # Quick setup
    claude mcp add database-analytics -- uv run database_mcp_server.py
    

    验证安装:

    # Check if the server is registered
    claude mcp list
    

其他MCP客户端

对于支持标准协议的任何MCP客户端:

servers:
  - name: database-analytics
    transport:
      type: stdio
      command: uv
      args: ["run", "database_mcp_server.py"]

示例工作流

用Claude代码进行数据探索

  1. 连接到数据库

    Connect to my SQLite database at ./sample_database.db
    
  2. 探索架构

    What tables are available in this database?
    
  3. 检查表结构

    Show me the schema for the users table
    
  4. 预览数据

    Show me some sample data from the users table
    
  5. 运行分析查询

    Calculate total sales by product category
    
  6. 导出结果

    Export the query "SELECT product_name, SUM(quantity) as total_sold FROM orders GROUP BY product_name" to CSV file called sales_report.csv
    
  7. 获取表统计信息

    Show me statistics for the users table
    

常见用例

  • 数据库架构发现:快速了解数据库结构
  • 数据质量检查:验证数据完整性的样本数据
  • 随即分析:安全运行自定义SQL查询
  • 报告生成:执行复杂的分析查询
  • 数据探索:使用分页浏览表和关系
  • 数据导出:将查询结果导出到CSV以供外部分析
  • 性能监控:跟踪查询执行时间

可用工具和资源

工具(交互式操作)

工具 参数 说明
connect_db database_path: str 连接到SQLite数据库文件
execute_query sql: str 执行带有安全检查和计时的SQL查询
list_tables 无 列出连接数据库中的所有表
export_to_csv sql: str, filename: str 将查询结果导出到CSV文件

资源(只读访问)

资源URI 描述
schema://tables/{table_name} 获取列信息、类型、约束、外键
data://tables/{table_name} 获取具有分页、统计(限制、偏移)的示例行
stats://tables/{table_name} 获取全面的表统计和列分析