1. Conduid
  2. AI
  3. SDK
MCP server · AI

SDK

A clojure/ring adapter for the official modelcontextprotocol Java SDK

Unclaimed EPL-2.0 last commit 11 months ago ai
39Low

Scored 5 days ago · breakdown

About SDK

SDK is an MCP server published by latacora in the AI category: a clojure/ring adapter for the official modelcontextprotocol Java SDK.

The repository has 14 stars and 2 forks, with the last commit 11 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/latacora/mcp-sdk

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about SDK

Powered by Claude · Grounded in docs

I know everything about SDK. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 3 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.

2 checks have not been run yet.

README

A Clojure library for easily building compliant Model Context Protocol (MCP) servers. It achieves this by wrapping the official Java SDK as a ring handler that can be embedded into Clojure applications while still leveraging Clojure middleware and routing. This makes it easy to use the most recommended transport (Streamable Http), while not complicating your Clojure apps by needing to mount multiple servlets.


Installation

com.latacora/mcp-sdk {:git/url "https://github.com/latacora/mcp-sdk"
                      :git/sha "<latest-commit-sha>"}

Usage

(require '[com.latacora.mcp.core :as mcp])

; for tools, this library provides a convenient way to construct 
; tool specifications using malli schemas for input and output 
; validation (as well as json-schema generation)
(def tool
  (mcp/create-tool-specification
    {:name          "add"
     :title         "Add two numbers"
     :description   "Adds two numbers together"
     :input-schema  [:map [:a int?] [:b int?]]
     :output-schema [:map [:result int?]]
     :handler       (fn [_exchange {:keys [a b]}]
                      {:result (+ a b)})}))

; when you construct the mcp handler you provide java objects
; like the underlying modelcontextprotocol requests. this means
; you're free to build any of the other mcp server features using
; interop. at a future date we might provide clojure wrappers to
; make constructing them easier, but for now we only provide one for
; tools since they're the most common and tedious to construct with interop.
(def handler (mcp/create-ring-handler {:name "hello-world" :version "1.0.0" :tools [tool]}))

; note that this is a custom run-jetty function that preserves
; the original servlet request/response objects in metadata so
; they can be passed to the embedded mcp servlet. it is a drop-in
; replacement for ring.adapter.jetty/run-jetty. here we perform no
; routing and so the mcp server is mounted at the root path, but you
; can embed the handler anywhere in your routing tree.
(def server (mcp/run-jetty handler {:port 3000 :join? false}))


Testing

You can use the mcp inspector to test your MCP server.

npx @modelcontextprotocol/inspector --server-url http://localhost:3000

License

Copyright © Latacora

Distributed under the Eclipse Public License version 2.0.

README fetched from the repository 3 days ago. The original is authoritative.

Questions

About SDK

How do I install SDK?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is SDK safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 3 of the 4 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is SDK still maintained?

The last commit was 11 months ago and 4 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.