Skip to main content

MCP server that connects AI applications to relational databases via object-relational mapping (ORM)

Reason this release was yanked:

Unbounded mcp dependency; upgrade to 0.6.2

Project description

ORMCP Server

Make your relational data AI ready

ORMCP Server is a Model Context Protocol (MCP) server that enables AI assistants to interact with relational databases using intuitive, object-oriented operations in JSON format.

What is ORMCP Server?

ORMCP Server bridges the gap between AI applications and relational databases. It leverages the Gilhari microservice framework and JDX ORM to provide seamless database access through the standardized MCP protocol.

Instead of writing SQL, AI assistants like Claude and Gemini can work with your data using natural language and high-level object operations.

Key Features

  • 🌍 Database Agnostic - Works with any JDBC-compliant database (PostgreSQL, MySQL, Oracle, SQL Server, SQLite, etc.)
  • ✅ MCP Compliant - Fully compatible with the Model Context Protocol standard
  • 🔄 Object-Relational Mapping - JSON object operations transparently mapped to relational data
  • 🧾 Declarative ORM - Define mappings using simple JDX grammar
  • 🚀 High Performance - Optimized with connection pooling, caching, and minimal database trips
  • 🔒 Secure - Domain model-specific operations with optional read-only mode

Quick Start

Installation

pip install ormcp-server

Existing Gemfury beta users: If you previously installed via Gemfury, you can continue using that channel or switch to PyPI. Both are supported during the beta period.

Accessing Full Package with SDK and Examples

The source distribution includes everything you need to get started beyond the installable package itself — a curated subset of the Gilhari SDK and a ready-to-use example microservice.

# Download source distribution from PyPI
pip download --no-binary :all: ormcp-server

# Extract it (use the appropriate version number)
tar -xzf ormcp_server-*.tar.gz
cd ormcp_server-*/

# Now you have access to:
# - Gilhari_SDK/          Gilhari SDK essentials (libs, config, docs)
#                         Note: JDX User Manual excluded due to size; available at
#                         https://www.softwaretree.com/v1/products/jdx/docs/JDX-5.0-Manual-v1.pdf
# - gilhari_example1/     Ready-to-use SQLite-backed example microservice
# - package/client/       Example MCP client code
# - package/docs/         Additional ORMCP documentation

Existing Gemfury beta users:

pip download --no-binary :all: \
  --index-url https://YOUR_TOKEN@pypi.fury.io/softwaretree/ \
  --extra-index-url https://pypi.org/simple \
  ormcp-server

Basic Usage

  1. Configure and start your Gilhari microservice (handles database connectivity)
  2. Configure ORMCP Server:
export GILHARI_BASE_URL="http://localhost:80/gilhari/v1/"
export MCP_SERVER_NAME="MyORMCPServer"
  1. Start the server:
ormcp-server
  1. Connect your AI client (e.g., Claude Desktop):
{
  "mcpServers": {
    "my-ormcp-server": {
      "command": "ormcp-server",
      "env": {
        "GILHARI_BASE_URL": "http://localhost:80/gilhari/v1/",
        "MCP_SERVER_NAME": "MyORMCPServer"
      }
    }
  }
}

How It Works

AI Assistant <--MCP--> ORMCP Server <--REST--> Gilhari Microservice <--JDBC--> Database
  1. User sends natural language request to AI assistant (e.g., Claude)
  2. AI assistant translates natural language into MCP tool calls
  3. ORMCP Server receives MCP tool calls and translates to REST API calls
  4. Gilhari microservice executes database operations via JDBC/SQL
  5. Results returned as JSON objects through the chain back to user

Example Interactions

Query data:

"Show me all users in California"
"What's the average age of users?"

Manage data:

"Create a new user named John Smith in Boston"
"Update all users in New York to have status=active"

Explore schema:

"What types of objects are available?"
"Show me the attributes of the User class"

Available MCP Tools

  • getObjectModelSummary - Discover classes and relationships
  • query - Retrieve objects with filtering and sorting
  • getObjectById - Fetch specific objects by primary key
  • access - Navigate object relationships
  • getAggregate - Calculate COUNT, SUM, AVG, MIN, MAX
  • insert - Create new objects
  • update - Update existing objects
  • update2 - Bulk-update existing objects
  • delete - Delete objects
  • delete2 - Bulk-delete existing objects

In the READONLY mode, the insert/update/update2/delete/delete2 tools are not available.

Requirements

  • Python 3.12+
  • Docker (for Gilhari microservice)
  • JDBC driver for your database
  • MCP-compatible client (Claude Desktop, Gemini CLI, etc.)

Documentation

Beta Notice

ORMCP Server is currently in Beta for testing and evaluation purposes only. Not intended for commercial use.

Support

License

Proprietary software owned by Software Tree, LLC. See LICENSE for terms.

Beta Evaluation: Free for testing during evaluation period.

Commercial licensing terms will be announced at the time of commercial release. For information or to express interest, contact Software Tree at ormcp_support@softwaretree.com or visit https://www.softwaretree.com.


Software Tree | Making databases AI-accessible

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

ormcp_server-0.6.1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

ormcp_server-0.6.1-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file ormcp_server-0.6.1.tar.gz.

File metadata

  • Download URL: ormcp_server-0.6.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ormcp_server-0.6.1.tar.gz
Algorithm Hash digest
SHA256 025e7013ffce09b3159c0a8d4354cbde7c69349a03488f78b87181be2bbe277d
MD5 187856e65efb9085286195a4b82d644e
BLAKE2b-256 e25e634bcd731ecd43241d9b37682afeb51e99a8948897824c43a53f3cb28d7b

See more details on using hashes here.

File details

Details for the file ormcp_server-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: ormcp_server-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ormcp_server-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a324650cbfff65e6e6ed7d5924d74dd2ad85942bab800d9c53d28900d5c1445
MD5 e11a950ea87b2440db4010f1a3fce06f
BLAKE2b-256 57d46609c4f1afd928b584b7326c11846105ac9d80dde101494fcbd77b7d2f96

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