About
๐ Datomic MCP Server
README
AI. Query. Persist. Extend.
A robust Clojure-based MCP server designed for querying Datomic databases and integrating with AI-powered workflows.
๐ Key Features
๐๏ธ Connect to Datomic (SQL / Dev / Cloud)
- Seamlessly connect to your Datomic database and run queries directly from AI workflows.
- Works with Datomic Pro (SQL, Dev-local) and Datomic Cloud setups.
๐ Query entity relationships

๐ Aggregate queries & computations

๐งพ Entity properties and history
- Explore entity attributes
- Query temporal history (as-of, since)
- Transaction-time navigation

โ๏ธ Getting Started
โถ๏ธ Run the MCP Server
Run with Clojure CLI:
clojure -X:mcp
Or from Emacs REPL:
(mcp-server)
โ Check Server Health
Use the following command to verify the MCP server is up and responding to JSON-RPC:
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}}' \
| /usr/local/bin/clojure -M -m datomic-mcp.core
Expected response:
Datomic MCP Server running on STDIO transport.
{"jsonrpc":"2.0","method":"notifications/tools/list_changed"}
...
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"logging":{},"tools":{"listChanged":true}},"serverInfo":{"name":"datomic-server","version":"0.1.0"}}}
๐ฅ๏ธ MCP Client Configuration (Claude Desktop)
Example client setup for launching the server from Claude Desktop:
{
"datomic-mcp": {
"command": "/bin/bash",
"args": [
"-c",
"cd /Users/xlisp/CljPro/datomic-mcp-server && /usr/local/bin/clojure -M -m datomic-mcp.core"
]
}
...
}
- Tools

๐ฎ Roadmap
inspired by https://github.com/xlisp/datascript-mcp-server
- Query live Datomic databases ๐ connect to SQL / Dev-local / Cloud
- Hybrid queries across Datomic + DataScript ๐ offline + persistent data https://github.com/xlisp/datascript-mcp-server
- Visualize Datomic relationships ๐ Visualization MCP Server
- Import/export datasets ๐ transit, edn, or AI-generated inserts
- Filesystem MCP integration ๐ browse schema & migrations https://github.com/xlisp/filesystem-mcp-server
- Support Datomic history queries ๐ temporal navigation (as-of, since, history)
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
FQA
change list
- Datomic in-memory database already supports
- Connect any Datomic database url
Run in JDK 17 (datomic client)
export JAVA_HOME="/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home" #'/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home'
export PATH=$JAVA_HOME/bin:$PATH
export CPPFLAGS="-I/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home/include"
Run datomic transactor
- datomic-pro-1.0.6165 transactor must run on java 1.8 ( brew install openjdk@8 ), other jdk will errors
Execution error (ActiveMQInternalErrorException) at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl/sendBlocking (ChannelImpl.java:404).
โ datomic-pro-1.0.6165 ./rundatomic.sh
Launching with Java options -server -Xms4g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=50
Starting datomic:sql://<DB-NAME>?jdbc:postgresql://localhost:5432/db123123?user=postgres&password=123456, you may need to change the user and password parameters to work with your jdbc driver ...
Built with Clojure. Powered by Datomic. Inspired by the future of persistent querying. In the Source we trust.
Installing Datomic
This server has no published package โ it is built from source. Open the repository and follow its README.
โธ github.com/xlisp/datomic-mcp-serverFAQ
Is Datomic MCP free?
Yes, Datomic MCP is free โ one-click install via Unyly at no cost.
Does Datomic need an API key?
No, Datomic runs without API keys or environment variables.
Is Datomic hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Datomic in Claude Desktop, Claude Code or Cursor?
Open Datomic on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install โ the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Datomic with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
