数据库管理工具

一个基于FastMCP构建的强大数据库管理工具,提供交互式界面用于管理SQLite数据库,包含服务器和客户端组件。

  • by sajithamma
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sajithamma/mysql-mcp-server

使用说明

MySQL MCP服务器

一个用FastMCP构建的强大的数据库管理工具,为管理SQLite数据库提供了一个交互式界面。该项目包括一个服务器组件和一个客户端界面,便于数据库操作。

特性

  • 列出数据库中的所有表
  • 获取任何表的详细架构信息
  • 使用格式化的结果执行SQL查询
  • 用于数据库操作的交互式客户端界面

先决条件

  • Python 3.8或更高版本
  • pip(Python包安装程序)

设置

  1. 克隆存储库:
git clone git@github.com:sajithamma/mysql-mcp-server.git
cd mysql-mcp-server
  1. 创建并激活虚拟环境:
# Create virtual environment
python3.12 -m venv venv

# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 运行夹具以创建数据库:
python sqlite_fixture.py

项目结构

该项目由两个主要部分组成:

  1. mcpserver.py -MCP服务器实现
  2. mcpclient.py -客户端界面

服务器组件

服务器提供以下工具:

@mcp.tool()
def list_tables() -> List[str]:
    """List all tables in the SQLite database."""
    # Implementation details...

@mcp.tool()
def describe_table(table_name: str) -> Dict[str, Any]:
    """Get the schema information for a specific table."""
    # Implementation details...

@mcp.tool()
def run_query(query: str) -> Dict[str, Any]:
    """Execute a SQL query and return the results."""
    # Implementation details...

客户端组件

客户端为数据库操作提供了一个交互式界面:

async def main():
    server = MCPServerSse(
        name="SQLite Database Manager",
        params={
            "url": "http://localhost:8000/sse",
        },
    )
    # Client implementation...

运行应用程序

  1. 启动MCP服务器:
fastmcp run mcpserver.py:mcp --transport sse --host 127.0.0.1 --port 8000
  1. 在单独的终端中,运行客户端:
python mcpclient.py

用法

服务器和客户端都运行后,您可以使用自然语言命令与数据库进行交互。客户端支持以下操作:

  1. 列出数据库中的所有表
  2. 获取任何表的详细架构信息
  3. 执行SQL查询以检索或修改数据

命令示例:

  • “显示数据库中的所有表”
  • “描述用户表的结构”
  • “运行查询以从用户表中选择所有记录”

环境变量

创建一个 .env 项目根目录中的文件,包含以下变量:

# Add any required environment variables here

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。