Skip to content

Latest commit

 

History

History
69 lines (65 loc) · 3.23 KB

todo.org

File metadata and controls

69 lines (65 loc) · 3.23 KB

Create a Stdio-transport based server implementation

Create a template project for easily creating MCP servers

  • State “DONE” from “TODO” [2025-04-27 Sun 18:30]
  • State “TODO” from [2025-04-27 Sun 18:28]
See:
  1. mcp-clojure-server-deps-new for a deps-new based template
  2. example-cool-mcp-server for a Github template project

WORKING Add client support to mcp-clojure-sdk

  • State “WORKING” from “TODO” [2025-05-24 Sat 14:38]

WORKING Add basic client support for the stdio transport, based on what python-sdk and typescript-sdk do

  • State “WORKING” from “TODO” [2025-05-24 Sat 14:38]

WORKING Create an integration test for the current server code using such a client, based on clojure-lsp integration tests

  • State “WORKING” from “TODO” [2025-05-25 Sun 11:41]
  • See:

Update the README of mcp-clojure-sdk.

Refer to typescript-sdk as a reference

Write an example mcp-client-tool to run mcp-servers locally and list what they do/don’t provide

Support servers launched using npx/node

Support servers launched using uv/python

Support servers launched using java

Add support for dynamic server capability negotiation

Add support for the SSE / Streaming HTTP transport to mcp-clojure-sdk

Add support for SSE transport

Add support for Streaming HTTP transport

WORKING Implement the entire roots section of the protocol

  • State “WORKING” from “TODO” [2025-05-03 Sat 16:38]

WORKING Bring the spec up-to-date and track the differences

Add an integration test for end-to-end testing the server

See integration.client from lsp4clj for inspiration

Implement the HTTP-SSE Transport

Implement the SSE-transport based server

Implement the SSE-transport based client

Checks and Balances in the mcp-cljc-sdk code

Make sure that handle-* functions are implement proper checks

Read through the python decorator code to double-check if we are doing the right thing here.

Implement best practices for prompts

Implement best practices for tools

Implement best practices for resources

Ensure that error handling is correctly done for transports

Implement best practices for transports

Implement the entire sampling section of the protocol

Create a CLI tool for how tools, prompts, resources should be defined

  1. Easily create new projects, in deps-new style
  2. Organize them properly, making it possible to build servers fast.
  3. Make it language-agnostic, allowing the tool to create Clojure, Python, TS projects.

Explore babashka as the runner in Claude Desktop / Inspector

The current code is wildly incompatible with bb, so this is a long-shot. But bb compatibility will mean speed and ease of use.