Home / MCP / Datomic MCP Server

Datomic MCP Server

Runs a Datomic MCP server via Modex, enabling MCP clients to query and manage Datomic data through a Java-based runtime.

other
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "datomic_mcp": {
            "command": "java",
            "args": [
                "-jar",
                "/Users/petrus/code/datomic-mcp/target/theronic-datomic-mcp-0.3.0.jar"
            ],
            "env": {
                "DATOMIC_URI": "<your datomic URI here>"
            }
        }
    }
}

This MCP server lets you run a Datomic MCP instance built with Modex, enabling you to query and interact with your Datomic data through MCP clients. It provides a local, self-contained way to run the Datomic MCP server in your environment and connect to your Datomic URI securely.

How to use

You run the Datomic MCP server locally and connect your MCP client to it. The server exposes several Datomic API capabilities, including querying and data retrieval, as well as core entity functions. You should configure your client to point at the local server or any reachable MCP endpoint, and provide the required Datomic URI so the server can access your data source.

How to install

Prerequisites: ensure you have Java installed on your system.

Prepare your MCP configuration by using the following JSON structure. Replace <your datomic URI here> with your actual Datomic URI. Save this configuration to a file that your MCP client will read, or load it in your MCP runtime as appropriate.

{
  "mcpServers": {
    "modex-datomic-mcp": {
      "command": "java",
      "args": ["-jar", "/Users/petrus/code/datomic-mcp/target/theronic-datomic-mcp-0.3.0.jar"],
      "env": {"DATOMIC_URI": "<your datomic URI here>"}
    }
  },
  "globalShortcut": ""
}

Additional configuration notes

The server is started by running the Java command shown in the configuration. Provide your actual Datomic URI in the environment variable so the MCP server can connect to your Datomic instance.

Notes on API support

The server supports a range of Datomic API calls. Available capabilities include the following: datomic.api/q, datomic.api/datoms, datomic.api/with (via q-with), datomic.api/pull, datomic.api/pull-many, datomic.api/entity, datomic.api/touch, and datomic.api/entid. The transact API and some advanced features are not enabled by default or are not recommended in this setup.

License

MIT Licence. Free for commercial & non-commercial use.

Author

Petrus Theron

Available tools

datomic.api/q

Execute a Datomic query to retrieve data from the Datomic database.

datomic.api/datoms

Access datoms matching a pattern or criteria, enabling detailed data retrieval.

datomic.api/with

Wrap a set of datoms in a transaction-like context to apply changes via q-with.

datomic.api/pull

Fetch a structured data map for a given entity using a pull pattern.

datomic.api/pull-many

Fetch multiple entities efficiently using a batch pull.

datomic.api/entity

Resolve an entity id to its map representation with attributes.

datomic.api/touch

Mark an entity as updated or refresh its database-backed state.

datomic.api/entid

Resolve an entity id or keyword to a valid entity identifier.