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
If you have an existing Gemfury token from an earlier beta install, it will no longer work — Gemfury access has been discontinued. Use pip install ormcp-server above, which installs from public PyPI directly.
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
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 and evaluation for 30 days from the date of installation.
Commercial licensing: Use of ORMCP Server beyond the evaluation period is subject to then-applicable Software Tree licensing terms. 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
Release files for ormcp-server 0.6.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ormcp_server-0.6.8.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ormcp_server-0.6.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / ormcp_server-0.6.8.tar.gz
| Download URL | ormcp_server-0.6.8.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c626528ec623855f9e7e982d80c691a8c2d3fee55661f64ca03e5201cc786eec
|
|
BLAKE2b-256 checksum How to use checksums |
6db8b100a3fa076291a8a0321a78bd25cf7e4006ed421a8467fd2abdfa474df4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / ormcp_server-0.6.8-py3-none-any.whl
| Download URL | ormcp_server-0.6.8-py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1cebbe19bcf12cdc5df82392b1178aceeddf6315b18135475c727736a6fe4578
|
|
BLAKE2b-256 checksum How to use checksums |
642225c1702c87ffd48029dc5f5b83b7cdd6e32d07538fb4e1197138742cdaa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|