#
tokens: 632/50000 2/2 files
lines: on (toggle) GitHub
raw markdown copy reset
# 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
```