Skip to main content

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

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.5.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.5-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ormcp_server-0.6.5.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for ormcp_server-0.6.5.tar.gz
Algorithm Hash digest
SHA256 d047ce0ce94e3e167e231a34af1c6973f2df7cd778ec6f20a897114609f87219
MD5 b54e556c963c51edcf9733c8a62ee544
BLAKE2b-256 98fa05beaf726daba5b68e1f2b9cfddf4331b5edbdddec6e822dfb13c26c9f93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ormcp_server-0.6.5-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for ormcp_server-0.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 24d18054dc54b4e736a59810b25bad244baaa53eb9fda843f74be77859409994
MD5 7fe5f0539df10e33c81161d731102d87
BLAKE2b-256 fd81ddb018b98a7f7e34857d26a6eb867259d1d2facb28b48977c05af5ed6f0b

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