Embabel Database is REST-compliant database based on a simple repository structure. Default implementation includes an in-memory database with a JSON local file persistence.
The Database is loaded from the Project Llm LeaderBoard Project with a dedicated Agent to load and maintain on a periodic basis.
Embabel Database Core comprises of the core repository definition including models and initial In-Memory implementation
Embabel Database Agent comprises of the repository maintenance agent implemented in Java. This agent is responsible for retrieveing and updating the repositories from the Llm LeaderBoard using a Git and parsing process.
Embabel Database Server is a Spring Rest standlone server that supports running the repository and exposing it via REST endpoints.
GET /api/v1/models
returns an array of JSON objects representing a ModelMetadata
object
GET /api/v1/models/{model id}
returns a specific model
GET /api/v1/models/search/findByName?name={model name}
returns a list of matching ModelMetadata
including providers and costs for each matching model
GET /api/v1/models/search/findByNameContains?contains={model name}
returns a list of matching ModelMetadata
where the name contians the 'name' passed
GET /api/v1/models/search/findByNameAndProvider?name={model name}&provider={provider name}
returns a list of matching ModelMetadata
GET /api/v1/models/search/findByTags?tags={tag name}
returns a list of matching ModelMetadata
GET /api/v1/models/search/findByProvider?provider={provider name}
returns a list of matching ModelMetadata
GET /api/v1/models/count
returns the number of models in the repository
GET /api/v1/models/lastUpdate
returns a timestamp for when the repository was last refreshed
GET /api/v1/tags
returns a list of tag objects that models are mapped to
GET /api/v1/agents/{agentName}/processes
returns a list of process names from memory for a specific agent name
Repository maintenance is via an Agent approach. The server provides an MCP Server compliant toolset as well as a direct, manual mechanism to trigger the Agent. The Agent will validate if the repository needs refreshing.
POST /api/v1/agents/{agentName}
manually triggers the repository maintenance agent (e.g. POST /api/v1/agents/A1ModelRepositoryAgent
)
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
© 2025 Embabel Software, Inc.