Skip to main content
Glama
NikhilBansalv

MCP Python Server

๐Ÿš€ MCP Server & Database Integration using Python

A Python-based Model Context Protocol (MCP) server built using FastMCP that exposes database operations as MCP tools. The project integrates a local SQLite database and demonstrates how AI clients such as Claude Desktop and a custom Python client can interact with backend services through MCP.


๐Ÿ“Œ Project Overview

This project was developed as part of my internship to understand and implement the Model Context Protocol (MCP).

The server exposes database operations through MCP tools, allowing AI applications and clients to interact with a structured SQLite database.

The project demonstrates:

  • Building an MCP server using FastMCP

  • Integrating a SQLite database with multiple tables

  • Exposing database operations as MCP tools

  • Connecting through a Python client

  • Integrating with Claude Desktop

  • Automated testing using pytest


Related MCP server: Gestao-MCP

โœจ Features

  • โœ… Python-based MCP Server using FastMCP

  • โœ… SQLite Database Integration

  • โœ… Users, Products and Orders Database

  • โœ… CRUD Operations

  • โœ… Search Functionality

  • โœ… Parameterized SQL Queries

  • โœ… Structured JSON Responses

  • โœ… Logging

  • โœ… Python MCP Client

  • โœ… Claude Desktop Integration

  • โœ… Automated Testing using pytest


๐Ÿ›  Tech Stack

Technology

Purpose

Python 3.13

Programming Language

FastMCP

MCP Server Framework

SQLite

Local Database

pytest

Automated Testing

Claude Desktop

MCP Client

MCP Inspector

Tool Testing

VS Code

Development Environment


๐Ÿ— System Architecture

                 Claude Desktop
                       โ”‚
                       โ”‚
                (MCP Tool Calls)
                       โ”‚
                       โ–ผ
            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
            โ”‚    FastMCP Server   โ”‚
            โ”‚      server.py      โ”‚
            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚         โ”‚
                  โ–ผ         โ–ผ
             MCP Tools   Logging
                  โ”‚
                  โ–ผ
             Database Layer
                 db.py
                  โ”‚
                  โ–ผ
            SQLite Database
      (Users โ€ข Products โ€ข Orders)

๐Ÿ“‚ Project Structure

mcp-python-server/
โ”‚
โ”œโ”€โ”€ client.py              # Python MCP client
โ”œโ”€โ”€ server.py              # FastMCP server exposing database tools
โ”œโ”€โ”€ db.py                  # Database access layer
โ”œโ”€โ”€ seed.py                # Creates and seeds the SQLite database
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ pytest.ini
โ”œโ”€โ”€ README.md
โ”‚
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ test_db.py         # Database tests
โ”‚   โ””โ”€โ”€ test_tools.py      # MCP tool tests
โ”‚
โ””โ”€โ”€ .gitignore

๐Ÿ—„ Database Schema

The project uses a SQLite database consisting of three tables.

Users

Column

Type

id

INTEGER

name

TEXT

email

TEXT

Products

Column

Type

id

INTEGER

name

TEXT

category

TEXT

price

REAL

stock

INTEGER

Orders

Column

Type

id

INTEGER

user_id

INTEGER

product_id

INTEGER

quantity

INTEGER

order_date

TEXT


๐Ÿ”ง MCP Tools

User Tools

Tool

Description

get_all_users

Retrieve all users

get_user

Retrieve a user by ID

search_user

Search users by name

add_user

Add a new user

remove_user

Delete a user


Product Tools

Tool

Description

get_all_products

Retrieve all products

get_product

Retrieve a product by ID

search_product

Search products


Order Tools

Tool

Description

get_all_orders

Retrieve all orders


๐Ÿš€ Installation & Setup

Clone the repository

git clone https://github.com/<your-username>/mcp-python-server.git

cd mcp-python-server

Create a virtual environment

python -m venv venv

Activate the environment

venv\Scripts\activate

Install dependencies

pip install -r requirements.txt

Generate the SQLite database

python seed.py

โ–ถ Running the Project

Start the MCP Server

mcp dev server.py

Run the Python Client

python client.py

Execute Tests

pytest

Expected Output

===========================
10 passed
===========================

๐Ÿ“ธ Screenshots

MCP Inspector

MCP Inspector


Claude Desktop Integration

Claude Desktop


Python Client

Python Client


Automated Testing

Pytest


๐Ÿค– Claude Desktop Integration

The MCP server can be integrated with Claude Desktop using the MCP configuration file.

Once configured, Claude Desktop can directly invoke the available MCP tools.

Example prompts:

  • Show all users.

  • List all products.

  • Search for Laptop.

  • Show all orders.

  • Create a new user.


๐Ÿงช Testing

Automated testing was implemented using pytest.

The test suite validates:

  • Database operations

  • CRUD functionality

  • Search operations

  • Invalid user handling

  • Invalid product handling

  • MCP tool responses

Current Status

โœ… 10 Tests Passed


F
license - not found
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NikhilBansalv/MCP-Python-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server