Python Library
Schema-driven entity management for AI-native applications.
Define entities as JSON Schemas + a manifest. The library handles CRUD, validation, ID generation, storage, and search. Add FastMCP to serve it as an MCP server.
Install
Section titled “Install”# Core library (entity management only)uv add upjack
# With MCP server supportuv add upjack[mcp]Usage: Entity Management
Section titled “Usage: Entity Management”from upjack import UpjackApp
app = UpjackApp.from_manifest("manifest.json")
# Create an entitycontact = app.create_entity("contact", { "first_name": "Sarah", "last_name": "Chen", "email": "sarah@example.com",})
# List entitiescontacts = app.list_entities("contact")
# Update an entityapp.update_entity("contact", contact["id"], {"lead_score": 85})
# Get a single entitycontact = app.get_entity("contact", contact["id"])
# Delete an entity (soft delete by default)app.delete_entity("contact", contact["id"])Usage: MCP Server
Section titled “Usage: MCP Server”from upjack.server import create_server
mcp = create_server("manifest.json", root="./workspace")mcp.run()This generates CRUD tools for every entity type in the manifest, exposes context and skills as MCP resources, and handles validation automatically. See the CRM example for a complete example.
Requirements
Section titled “Requirements”- Python >= 3.13
- FastMCP >= 3.0 (only for
upjack[mcp])