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
- Configure and start your Gilhari microservice (handles database connectivity)
- Configure ORMCP Server:
export GILHARI_BASE_URL="http://localhost:80/gilhari/v1/"
export MCP_SERVER_NAME="MyORMCPServer"
- Start the server:
ormcp-server
- 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
- User sends natural language request to AI assistant (e.g., Claude)
- AI assistant translates natural language into MCP tool calls
- ORMCP Server receives MCP tool calls and translates to REST API calls
- Gilhari microservice executes database operations via JDBC/SQL
- 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
- Complete Documentation: github.com/softwaretree/ormcp-docs
- API Reference: ORMCP Tools Reference
- Quick Start: Getting Started Guide
- GitHub repositories with working examples: Browse Examples
- Example Microservice: github.com/SoftwareTree/gilhari_example1
Beta Notice
ORMCP Server is currently in Beta for testing and evaluation purposes only. Not intended for commercial use.
Support
- Email: ormcp_support@softwaretree.com
- Issues: github.com/softwaretree/ormcp-docs/issues
- Website: softwaretree.com
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ormcp_server-0.6.4.tar.gz.
File metadata
- Download URL: ormcp_server-0.6.4.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
368752e7e5acef8225e4b1c9cb31d792aede83773d92d6ab8c1720a43c7b4e0d
|
|
| MD5 |
26c35b6db14d4c0f4cbda5262dcf2e98
|
|
| BLAKE2b-256 |
31bd74a0d8dc7e307b9f1021da2ca579ab861609f593a0c30bd8a0fcc5b775ae
|
File details
Details for the file ormcp_server-0.6.4-py3-none-any.whl.
File metadata
- Download URL: ormcp_server-0.6.4-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5227493f9a9b4e5e8bc095a2558fcb5e44a395e68613c827282b37b9c1947c4c
|
|
| MD5 |
f6ccb431541844e0a48602d82dd04ac7
|
|
| BLAKE2b-256 |
91a91c8279797afcd817e98ba87b1ea12083d6fef397a21f9b0d8f5ddc6df8fc
|