mcp-toolkit
Health Pass
- License — License: EPL-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 35 GitHub stars
Code Pass
- Code scan — Scanned 7 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This library provides a Clojure(Script) SDK for building Model Context Protocol (MCP) clients and servers. It handles the communication layer and provides an I/O agnostic, asynchronous framework for developers building MCP integrations.
Security Assessment
Overall risk: Low. The automated code scan checked 7 files and found no dangerous patterns, hardcoded secrets, or requests for excessive permissions. The repository strictly requires human-typed and human-reviewed code for all contributions, which significantly mitigates the risk of automated supply-chain attacks or sneaking malicious scripts into the codebase. As a development library, it is inherently I/O agnostic, meaning any network requests, shell execution, or sensitive data access will entirely depend on how the end-developer configures and uses the toolkit in their own projects.
Quality Assessment
The project is actively maintained, with its most recent repository push occurring today. It is licensed under EPL-2.0, which is a standard, permissive open-source license. While it currently has a relatively small community footprint with 35 GitHub stars, it is backed by Metosin, a well-known and highly respected consultancy in the Clojure ecosystem. Developers should note that the project explicitly labels itself as "alpha quality" and is still working on full compatibility with the newest protocol versions, so breaking changes might occur.
Verdict
Safe to use, but keep in mind that the library is still in the alpha stage of development.
a lib to build MCP clients and MCP servers in Clojure(script)
MCP Toolkit
This library is a very unofficial MCP SDK in Clojure.
It handles the communication between MCP clients and MCP servers, and attempts to provide
a Clojure-ish experience to developers working on expending the MCP ecosystem.
Status: alpha quality
Tested on Claude Desktop and Claude Code, no problems found for the features implemented.
Implemented features
- API for both clients & servers
- CLJC
- Clojure
- Clojurescript
- Babashka
- I/O agnostic library
- Uses Promesa to support async tasks in prompts, resources and tools
- Compatible with protocol versions
-
2024-11-05 -
2025-03-26 -
2025-06-18(not yet)
-
- MCP features implemented
- Cancellation
- Ping
- Progress
- Roots
- Sampling
- Prompts
- Resources
- Tools
- Completion
- Logging
- Pagination
- Example projects
- CLJC server using STDIO
- CLJC client using STDIO
- CLJ server using HTTP/SSE
- CLJ server using Streamable HTTP (PR welcome)
Usage
See the README.md in the example/cljc-server-stdio/ project to learn:
- how to use this library to make your own MCP server in Clojure, and
- how to develop its components (prompts, resources and tools) via the REPL
while the server is running.
Additionally, see the documentation on CLJDocs or in the doc/ directory.
Testing
npm install
./bin/kaocha --watch
Its place in the AI ecosystem
MCP toolkit aims to be more convenient for the Clojure community than
the official MCP SDKs for Java or Typescript.
It provides utilities to build an MCP server in Clojure(script), but
doesn't provide any prompts, resources or tools to help working on a Clojure codebase.
It is typically used for building general purpose MCP stuffs.
Other MCP libs
- MCP Clojure SDK: similar library, discovered after being mostly done implementing this one 😅
- Calva's Backseat Driver
- Clojure MCP
- Modex
Contributing
Only code typed and reviewed by a human will be accepted for review, discussion, and maybe merged.
We have a policy of keeping the source code clean, organized, and easy to read for a human.
Advices for improving the chances for your PR to be accepted:
- Keep your PR small and in line with an associated Github issue.
- If you plan some significant changes, it's best to discuss them in an issue first,
to keep the contribution aligned with the technical direction of project. - Do not reformat the source code unless you found a formatting issue,
in which case you should use a separate PR just for that.
License
This project is distributed under the Eclipse Public License v2.0.
Copyright (c) Metosin and contributors.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found