pydbcx-mcp

pydbcx-mcp

0

pydbcx-mcp is a Python-based MCP server designed to enable communication with diverse data sources through the JDBCX server. It supports multiple data formats and is configurable using environment variables, providing a robust solution for data integration.

JDBCX MCP Server

pydbcx-mcp is a Python implementation of MCP server for enabling communication with diverse data sources via JDBCX server.

Python Version MCP Protocol smithery badge Verified on MseeP

image

Installation

Start JDBCX server

Starts the JDBCX server container. Check out here for more information.

# Start the server
docker run --rm --name bridge -d -p8080:8080 jdbcx/jdbcx server
# Test if the server if ready
curl -v 'http://localhost:8080/config'
# Check server logs
docker logs --tail=100 -f bridge
# Shutdown the server
docker stop bridge

Configure MCP server

To install JDBCX MCP server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @jdbcx/pydbcx-mcp --client claude

Alternatively, add the MCP server into your JSON config file.

Development/Unpublished Server Configuration

{
  "mcpServers": {
    "jdbcx": {
      "command": "uv",
      "args": [
        "--directory",
        "</path/to/your/pydbcx-mcp/dir>",
        "run",
        "pydbcx-mcp"
      ],
      "env": {
        "DEFAULT_QUERY_TIMEOUT_SECONDS": "30",
        "JDBCX_SERVER_URL": "http://localhost:8080/",
        "JDBCX_SERVER_TOKEN": "",
        "MAX_ROWS_LIMIT": "5000"
      }
    }
  }
}

Published Server Configuration

{
  "mcpServers": {
    "jdbcx": {
      "command": "uvx",
      "args": ["pydbcx-mcp"],
      "env": {
        "DEFAULT_DATA_FORMAT": "md"
      }
    }
  }
}

Published SSE Server Configuration

{
  "mcpServers": {
    "jdbcx": {
      "url": "http://localhost:8080/sse"
    }
  }
}

Note: remember to start the SSE server first by JDBCX_SERVER_URL=http://localhost:8080/ DEFAULT_QUERY_TIMEOUT_SECONDS=30 uvx pydbcx-mcp --transport sse.

Configuration

Configure the server using environment variables:

VariableDescriptionDefault
JDBCX_LOG_LEVELLog levelDEBUG
JDBCX_SERVER_URLJDBCX server URLhttp://localhost:8080
JDBCX_SERVER_TOKENJDBCX server access tokenNone
DEFAULT_ACCEPT_ENCODINGDefault accept-encodingidentity
DEFAULT_QUERY_TIMEOUT_SECONDSDefault query timeout (seconds)10
DEFAULT_DATA_FORMATDefault data format (md, jsonl, csv)csv
DEFAULT_ROWS_LIMITDefault number of rows can be returned100
MAX_ROWS_LIMITMaximum number of rows can be returned1000
MCP_TRANSPORTMCP server transport (stdio, see)stdio
MCP_SERVER_HOSTMCP server listening address0.0.0.0
MCP_SERVER_PORTMCP server listening port8080
MCP_SERVER_NAMEMCP server nameJDBCX MCP Server

Note: It is highly recommended to enable access token in JDBCX server and configure JDBCX_SERVER_TOKEN accordingly for security reason.