Skip to main content

A read-only MCP server for interacting with a DB2 database.

Project description

db2-mcp-server

PyPI version License: MIT Coverage

Overview

The db2-mcp-server is a Python-based server utilizing the MCP framework to interact with IBM DB2 databases. It provides tools for listing tables and retrieving table metadata.

Features

  • List Tables: Retrieve a list of tables from the connected DB2 database.
  • Get Table Metadata: Fetch metadata for a specific table, including column details and data types.

Requirements

  • Python 3.12
  • FastMCP (latest stable version)
  • IBM DB2 Python driver (ibm_db)
  • Pydantic

Setup Instructions

  1. Clone the Repository

    git clone <repository-url>
    cd db2-mcp-server
    
  2. Set Up Virtual Environment

    uv v0.6.x
    source uv/bin/activate
    
  3. Install Dependencies

    pip install -r requirements.txt
    
  4. Run the Server

    python src/db2_mcp_server/core.py
    

Testing

  • Use pytest (version ≥ 7.0.0) for running tests.
  • Current test coverage: 97.19% (exceeding the 80% requirement).
  • Comprehensive test suite includes:
    • Core functionality tests (test_core.py)
    • Database tools tests (test_list_tables.py, test_metadata_retrieval.py)
    • Caching mechanism tests (test_cache.py)
    • Logging configuration tests (test_logger.py)
  • Run tests with:
    pytest --cov=src/db2_mcp_server --cov-report=html tests/
    
  • For verbose output:
    pytest --cov=src/db2_mcp_server --cov-report=term-missing -v
    

Security and API Restrictions

  • The server is read-only, prohibiting SQL INSERT, UPDATE, or DELETE operations.
  • Uses a database user with only SELECT privileges.

Logging

  • Errors are logged with structured logs in JSON format, excluding sensitive data.

Contribution

  • Contributions are welcome. Please follow the project's coding standards and testing guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

db2_mcp_server-0.1.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

db2_mcp_server-0.1.1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file db2_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: db2_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for db2_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 579dd0c0e3c31e3f3b6b4dfdfa86c7274013b0c3dccbdaa4eb69f4a6cc4d4ff1
MD5 cc4e6eb7ba9fccbeedbc1c80897969e9
BLAKE2b-256 a7258ea17d18d28a729bc7ff5b6712f8a69a1345499fbf22b6bbabf08c1f7714

See more details on using hashes here.

File details

Details for the file db2_mcp_server-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: db2_mcp_server-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for db2_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9dfed706365edc892445185222a83343d6902e881f2be040e5b05adcc3b3cc13
MD5 439470688c5e2bba453e66f39228d391
BLAKE2b-256 5b935f71c37cec02355054b0385e0609f73f494feeae56319430fe1a66517b23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page