Datomic MCP Server 0.2.0 v0.3.1 is out for AI-assisted queries:
• now supports prospective transacts via q-with MCP tool (= d/with + d/q ) so you can see how an AI model's transactions would affect production system without actually transacting: https://github.com/theronic/datomic-mcp
• concurrent queries so slow d/q does not block MCP client or timeout
• fixes render bug in datoms MCP tool
• more tools like d/pull, d/entid, d/touch etc.
• free for commercial-use (MIT licence)
We are using datomic-mcp at work to diagnose cloud hosting support queries with the help of AI: knowing only your Datomic schema (which AI queries dynamically), an LLM like Claude Sonnet 3.7 can autonomously traverse your Datomic graph and gather information like private/public IP addresses, check server reachability (via separate ping tool), and compare it to the state of the VM on our production Proxmox cluster.
With the addition of a few tools, this will soon handle 90% of our technical support, like client-requested ZFS snapshots, backups (which are tricky to automate due to risk of filling the host disk). Probably also moving VMs with less error than a human :)
Talk about https://t.co/Sew27uJ2CV is up (recorded 2025-04-19).
https://github.com/theronic/datomic-mcp now supports concurrent queries (upgraded to latest Modex v0.3.0). Also has new tools for:
• d/pull
• d/entid
• d/touch
• d/pull
• d/pull-many
Next Up:
• d/as-of,
• stable db basis via d/db
• figure out MCP cursor-based pagination
• Bonus: support multiple DB connections so AI can d/q across multiple data sources.
Note that if d/connect is slow, e.g. to a remote production Datomic over VPN, you may need to wait for the "Connected to Datomic." message in MCP stderr logs before using the Datomic MCP tools, or it will throw that conn is nil. Need to figure out correct notifications for this.
Also, slow queries are currently blocking the main thread, which can time out for slow queries. Sorry, will fix! Need to add concurrency-safe bus for messages over stdio transport.
What is MCP?
will try!
@alexmiller MCP is a way to augment your LLMs with new Tools, Resources & Prompts. I've exposed Datomic's API as MCP tools so that MCP clients like Claude Desktop can interrogate our production Datomic systems. I can ask quite complex questions, and using only the Datomic schema, it will fgure out which queries to run to determine certain states. E.g. when a cloud hosting customer says their VM is unreachable, we use datomic-mcp + a few more MCP tools to diagnose VM issues in production. The LLM will check if server is reachable, if it's supposed to be up, if their account is in good standing, etc.
btw. updated datomic-mcp to MIT licence, so now free for commercial & non-commercial use.
@alexmiller I'm presenting a talk on my Clojure MCP library, Modex, at the SciCloj AI meetup on Saturday, 19 April, if you want to hear more about it: https://clojureverse.org/t/scicloj-ai-meetup-4-weaving-llm-tools-into-the-feedback-loop-why-mcp-sucks-how-to-use-it-anyway-modex/ (these Datomic tools will feature heavily) I'm relatively confident that an LLM + MCP tools will soon be doing 90% of our technical customer support (mostly related to billing inquiries, disk snapshots and backups which are difficult to automate because of reasons) and hopefully save the company ~$5k/month on support costs.