First release of https://b12n-oss.github.io/mcp-tkx A Clojure and ClojureScript library for building MCP clients and servers, forked from metosin/mcp-toolkit and taken forward through the newer protocol revisions. • Five revisions, 2024-11-05 through 2026-07-28, and one session can serve both the handshake era and the stateless one at the same time • 2026-07-28 support is the reason this exists: no handshake, server-initiated requests replaced by multi round-trip input_required results, resources/subscribe replaced by subscriptions/listen • Namespaced wire keys survive the round trip - _meta keys like io.modelcontextprotocol/protocolVersion lose their namespace under a naive camel-snake-kebab pass, and nothing throws when they do, so tests pin it • Zero reader conditionals in src/, so the JVM and the ClojureScript build really do run the same code, and JVM-only coverage means something • Runs on Babashka 1.13.220+ with promesa 12, checked by a task that drives a real tools/list and tools/call rather than just requiring the namespaces • 236 tests, 4 runnable examples, a 14-page guide, EPL-2.0 • Namespaces stay mcp-toolkit.* on purpose, so it is a drop-in for upstream Github: https://github.com/b12n-oss/mcp-tkx
A few small announcements of libraries I’ve vibecoded and use while building Vis: 1. https://github.com/Blockether/skjema — I needed something with performance characteristics similar to Malli, with full JSON Schema support, but focused purely on validation. The idea of schema-compiled validators is inspired by Malli. Kudos to @ikitommi and the Metosin team for their craftsmanship. 2. https://github.com/Blockether/svar — a continuously evolving library for schema-based or schema-less calls to LLM providers. It’s compatible with Anthropic, OpenAI, and Codex, and supports both streaming and non-streaming responses. 3. https://github.com/Blockether/spel — stability improvements to the daemon, support for the latest Playwright, and generally faster and more reliable operation. It also now supports iOS/Android application development. I use it daily while developing the Vis Companion App — for screenshots, bounding-box calculations, retrieving information from pages, and writing Playwright test cases. 4. https://github.com/Blockether/lanterna — a fork of Lanterna with support for emoticons, improved click-region handling, and better grid/flex/scrollbar support on macOS. The addition I’m most excited about is HTML application support. You can write your regular Java/Clojure application, embed the SSE Lanterna route into your Ring application, and effectively get the TUI inside your web application. I’ve been using this quite frequently while developing Vis from my phone: it lets me work on the application and make sure the TUI and web UI remain visually consistent.