The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Modex
Modex is a Clojure MCP Library to augment your AI models with Tools, Resources & Prompts using Clojure (Model Context Protocol). Implements MCP Server & Client.
Install
git clone https://github.com/theronic/modexInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →Modex: Model Context Protocol Server & Client Library in Clojure
Modex (MOdel + ContEXt) is a Clojure library that lets you augment your AI with new tools, resources and prompts.
Modex implements (most of) the Model Context Protocol to build MCP Servers & Clients in 'native' Clojure.
Because it's native Clojure, you don't need to deal with Anthropic's MCP Java SDK.
Modex implements the stdio transport in the 2024-11-05 MCP spec, so no need for a proxy like
mcp-proxy to translate between SSE <=> stdio or vice versa.
Screenshot of Modex in Action
Claude Desktop can talk to a Modex MCP Server via its MCP client:
Table of Contents
- Quickstart
- What is MCP?
- What can Modex do?
- Detailed Step-by-Step Instructions
- Implementation
- Project Status
- Rationale
- FAQ
- Licence
Example Tools
- Datomic MCP uses Modex to expose Datomic tools so your models can query DB schema and data in dev or prod.
Quickstart
git clone git@github.com:theronic/modex.gitcd modex./build.shbuilds an uberjar attarget/modex-mcp-0.2.2.jar.- Open your Claude Desktop Config at
~/Library/Application\ Support/Claude/claude_desktop_config.json - Configure a new MCP Server that will run the uberjar at its full path:
{
"mcpServers": {
"modex-mcp-hello-world": {
"command": "java",
"args": ["-jar", "/Users/your-username/code/modex/target/modex-mcp-0.2.2.jar"]
}
},
"globalShortcut": ""
}
- Restart Claude Desktop to activate your new MCP Server + tools :) (Cmd+R refresh does not reload config, only restarts tools)
- Tell Claude to "run the inc tool with 123", authorize the tool and you should see an output of 124.
What is MCP?
MCP lets you augment your AI models with Tools, Resources & Prompts:
- Tools are things it can do, like query a database (e.g. Datomic).
- Resources are files and data it can read, like PDF bank statements.
- Prompts are templated messages and workflows.
Use Cases
Modex is used by datomic-mcp, which exposes our production Datomic databases to an MCP client like Claude Desktop. The AI model intelligently diagnoses support queries in production by reading our database schema and running queries that checks server state & IPs, so it can try to reach it and compare the desired state of VMs against the actual state in our clusters.
Over time, I hope to automate the bulk of our recurring support queries using Modex + other MCP tools.
What can Modex do?
Full Example
There is an MCP server example in src/modex/mcp/core.clj that defines an MCP server with some basic tools.
Your MCP client (e.g. Claude Desktop) can connect to this server and use exposed tools to provide additional context to your AI models.
Data Structures
Tools
Internally, a tool is just Tool record with several Parameter arguments:
(defrecord Tool [name doc args handler])(defrecord Parameter [name doc type required default])
However, it is more convenient to define tools using the tool & tools macros below.
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io