{"repo":"bmorphism/ocaml-mcp-sdk","free":true,"listed":false,"github":"https://github.com/bmorphism/ocaml-mcp-sdk","clone":"git clone https://github.com/bmorphism/ocaml-mcp-sdk.git","description":"OCaml SDK for Model Context Protocol using Jane Street's oxcaml_effect library","language":"OCaml","stars":61,"topics":[],"license":"MIT","category":"mcp-servers","readme_excerpt":"OCaml MCP SDK with oxcaml effect An OCaml implementation of the Model Context Protocol (MCP) using Jane Street's oxcaml effect library for algebraic effects. Overview This SDK provides a complete implementation of MCP using OCaml 5's effect system through Jane Street's oxcaml effect library, which provides: - O(1) effect dispatch using handler indices - Typed handler lists using GADTs - Mode annotations for safe concurrent programming ( @@ portable , @ local , @ unique , @ contended ) - Efficient continuations with proper memory management Architecture The SDK is organized into several effect modules: Transport Effect Handles low-level I/O operations: Protocol Effect Manages JSON-RPC protocol: Resource, Tool, and Prompt Effects Implement MCP capabilities: Usage Creating a Client Creating a Server Building The project uses dune and requires OCaml 5.0 or later: Implementation Details Effect Composition The SDK uses oxcaml effect 's typed handler lists to compose multiple effects: Mode Safety The implementation leverages OCaml 5's mode system through oxcaml effect : - @ local - Stack-allocated values - @ unique - Linear/affine types - @@ portable - Thread-safe values - @ contended - Values that may be accessed concurrently Handler Indices Effect dispatch is O(1) using handler indices, making the system efficient even with many active effects. Dependencies - OCaml = 5.0 - dune = 3.16 - yojson (for JSON handling) - unix (for stdio) - oxcaml effect (vendored from Jane Street's with","default_branch":null,"files":null,"tree":[],"storefront":"/r/bmorphism","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bmorphism/ocaml-mcp-sdk/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}