# Directory Structure
```
├── build.sh
├── deps.edn
├── README.md
├── src
│ └── modex
│ └── mcp
│ └── datomic.clj
└── src-build
└── build.clj
```
# Files
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
```markdown
1 | # Datomic MCP Server
2 |
3 | Built with [Modex](https://github.com/theronic/modex).
4 |
5 | Set environment variable `DATOMIC_URI` in your MCP config. Example below.
6 |
7 | ## Build Uberjar & Configure Claude Desktop
8 |
9 | ```json
10 | {
11 | "mcpServers": {
12 | "modex-datomic-mcp": {
13 | "command": "java",
14 | "args": ["-jar", "/Users/petrus/code/datomic-mcp/target/theronic-datomic-mcp-0.3.0.jar"],
15 | "env": {"DATOMIC_URI": "<your datomic URI here>"}
16 | }
17 | },
18 | "globalShortcut": ""
19 | }
20 | ```
21 |
22 | ## Datomic API Support
23 |
24 | - [x] Concurrent queries (async message handling since Modex 0.3.0)
25 | - [x] `datomic.api/q`
26 | - [x] `datomic.api/datoms`
27 | - [x] `datomic.api/with` (via `q-with` tool)
28 | - [x] `datomic.api/pull`
29 | - [x] `datomic.api/pull-many`
30 | - [x] `datomic.api/entity`
31 | - [x] `datomic.api/touch`
32 | - [x] `datomic.api/entid`
33 | - [ ] `datomic.api/transact` – not sure if good idea :)
34 | - [ ] Send Progress Messages Connection Progress
35 | - [ ] Better cursor-based pagination
36 | - [ ] Stable `db` basis (currently each query runs `(d/db conn)`) – easy to fix.
37 | - [ ] `d/as-of` support. Related to basis above.
38 |
39 | ## License
40 |
41 | MIT Licence. Free for commercial & non-commercial use.
42 |
43 | All I ask is that if you find a bug in datomic-mcp or Modex, please report it :)
44 |
45 | Note that Modex itself has a different licence.
46 |
47 | ## Author(s)
48 |
49 | - [Petrus Theron](http://petrustheron.com)
50 |
```
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
```bash
1 | clojure -T:build uber
```