MCP Hub
Back to servers

SQL Analysis MCP Server

A specialized MCP server for SQL analysis that integrates with a local directory of SQL files to demonstrate client-side sampling capabilities. It provides a framework for testing model interactions with SQL-based contexts using the FastMCP library.

Updated
Aug 5, 2025

Model Context Protocol (MCP) Server

This project is a simple example of a server that implements the Model Context Protocol (MCP), which tests using "sampling" where available on the MCP client.

Prerequisites

  • Python 3.x
  • uv: A fast Python package installer and resolver.
  • fastmcp: A library for building MCP servers and clients.
  • Node.js and npm (to use npx).

Installation

  1. Install dependencies:

    Use uv to sync the project's dependencies from pyproject.toml and uv.lock. This will install fastmcp and other necessary packages.

    uv sync
    

Running the Server in Development

To run the server and inspect it with the MCP Inspector tool, execute the following command in your terminal. You can find more information about the inspector tool in the official documentation.

npx @modelcontextprotocol/inspector uv run mcp_server.py -- --sql_path /path/to/your/sql/files

This command does the following:

  • npx @modelcontextprotocol/inspector: Downloads and runs the official MCP Inspector.
  • uv run mcp_server.py: The inspector then uses uv to execute the mcp_server.py script within the project's managed virtual environment.

The inspector will launch in your web browser, providing a user interface to interact with the running MCP server.

Running the Server in Production

In a production environment, an MCP client would connect to the server. The client needs a configuration that tells it how to start and communicate with the server. This is typically done with a JSON configuration file.

You can generate the JSON configuration for this server using the fastmcp command-line tool:

fastmcp install mcp-json mcp_server.py -- --sql_path /path/to/your/sql/files

This will output a JSON object that you can use to configure an MCP client. The generated configuration for this server will look like this:

{
  "mcpServers": {
    "sql-analysis-server": {
      "command": "uv",
      "args": ["run", "mcp_server.py", "--", "--sql_path", "/path/to/your/sql/files"],
      "cwd": "/home/your-dev-folder/sql-analysis-mcp-server"
    }
  }
}

This configuration tells the client to start the "sql-analysis-server" by running the command uv run mcp_server.py -- --sql_path /path/to/your/sql/files and to communicate with it using the standard input/output (stdio) transport.

Reviews

No reviews yet

Sign in to write a review