Skip to content

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/modex

Install command taken from the project's README or registry entry. Always review code before running it.

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

  1. Quickstart
  2. What is MCP?
  3. What can Modex do?
  4. Detailed Step-by-Step Instructions
  5. Implementation
  6. Project Status
  7. Rationale
  8. FAQ
  9. 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

  1. git clone git@github.com:theronic/modex.git
  2. cd modex
  3. ./build.sh builds an uberjar at target/modex-mcp-0.2.2.jar.
  4. Open your Claude Desktop Config at ~/Library/Application\ Support/Claude/claude_desktop_config.json
  5. 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": ""
}
  1. Restart Claude Desktop to activate your new MCP Server + tools :) (Cmd+R refresh does not reload config, only restarts tools)
  2. 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

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

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…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io