mcp-clj
An implementation of the Model-Channel Protocol (MCP) in Clojure, designed to expose Clojure REPL functionality over an SSE transport.
Project Description
mcp-clj is a Clojure implementation of the Model-Channel Protocol (MCP) defined by Anthropic. It provides both client and server components for MCP communication, with a specific focus on exposing Clojure REPL functionality. The project aims to maintain compatibility with Anthropic's MCP specification while providing a simple and reliable implementation.
Usage
Add mcp-clj as a dependency to your project.
- Clone the mcp-clj repository:
git clone https://github.com/your-repo/mcp-clj.git
- Add the project as a dependency:
:mcp-clj {:extra-deps
{org.hugoduncan/mcp-clj
{:local/root
"/path tp/mcp-clj"}}}
- In the project, start the server:
(def server (mcp-clj.mcp-server.core/create-server {:port 3001}))
This will start the server on port 3001. You can then connect to the server using an MCP client.
Configuration
Configuring Claude Desktop
To configure Claude Desktop to use mcp-clj, you need to use mcp-proxy.
In claude_desktop_config.json
, add:
"mcp-proxy": {
"command": "mcp-proxy",
"args": [
"http://localhost:3001/sse"
],
"env": {
"API_ACCESS_TOKEN": "ABC"
}
}
Contributing
Contributions to mcp-clj are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and ensure all tests pass.
- Submit a pull request with a detailed description of your changes.
License
mcp-clj is licensed under the MIT License. See the LICENSE file for more details.