+288
claudeio/lib_mcp/SERVER_SESSION_README.md
+288
claudeio/lib_mcp/SERVER_SESSION_README.md
···
···+The `Server_session` module provides a high-level, easy-to-use API for creating MCP (Model Context Protocol) servers in OCaml using Eio.+call_tool : (name:string -> arguments:Jsont.json option -> Messages.Tools.call_result) option;+get_prompt : (name:string -> arguments:(string * string) list option -> Messages.Prompts.get_result) option;+complete : (ref_:Messages.Completions.completion_ref -> argument:string -> Messages.Completions.result) option;+The module uses Eio structured concurrency. All operations are safe within the same Eio domain. The Session module handles concurrent requests using Eio fibers.
+284
claudeio/lib_mcp/capabilities.ml
+284
claudeio/lib_mcp/capabilities.ml
···
···
+161
claudeio/lib_mcp/capabilities.mli
+161
claudeio/lib_mcp/capabilities.mli
···
···
+356
claudeio/lib_mcp/client_session.ml
+356
claudeio/lib_mcp/client_session.ml
···
···+mutable on_log_message : (level:Messages.Logging.level -> logger:string option -> data:Jsont.json -> unit) option;
+217
claudeio/lib_mcp/client_session.mli
+217
claudeio/lib_mcp/client_session.mli
···
···+let transport = Transport_stdio.create ~sw (module Eio.Stdenv : Eio.Stdenv.S with type t = _) env in+val call_tool : t -> name:string -> ?arguments:Jsont.json -> unit -> Messages.Tools.call_result+val get_prompt : t -> name:string -> ?arguments:(string * string) list -> unit -> Messages.Prompts.get_result+val complete : t -> ref:Messages.Completions.completion_ref -> argument:string -> Messages.Completions.result+val on_log_message : t -> (level:Messages.Logging.level -> logger:string option -> data:Jsont.json -> unit) -> unit
+246
claudeio/lib_mcp/content.ml
+246
claudeio/lib_mcp/content.ml
···
···
+125
claudeio/lib_mcp/content.mli
+125
claudeio/lib_mcp/content.mli
···
···
+4
claudeio/lib_mcp/dune
+4
claudeio/lib_mcp/dune
+279
claudeio/lib_mcp/jsonrpc.ml
+279
claudeio/lib_mcp/jsonrpc.ml
···
···
+161
claudeio/lib_mcp/jsonrpc.mli
+161
claudeio/lib_mcp/jsonrpc.mli
···
···
+11
claudeio/lib_mcp/mcp.ml
+11
claudeio/lib_mcp/mcp.ml
···
···
+63
claudeio/lib_mcp/mcp.mli
+63
claudeio/lib_mcp/mcp.mli
···
···
+900
claudeio/lib_mcp/messages.ml
+900
claudeio/lib_mcp/messages.ml
···
···
+660
claudeio/lib_mcp/messages.mli
+660
claudeio/lib_mcp/messages.mli
···
···
+371
claudeio/lib_mcp/server_session.ml
+371
claudeio/lib_mcp/server_session.ml
···
···+get_prompt : (name:string -> arguments:(string * string) list option -> Messages.Prompts.get_result) option;+complete : (ref_:Messages.Completions.completion_ref -> argument:string -> Messages.Completions.result) option;
+208
claudeio/lib_mcp/server_session.mli
+208
claudeio/lib_mcp/server_session.mli
···
···+call_tool : (name:string -> arguments:Jsont.json option -> Messages.Tools.call_result) option;+get_prompt : (name:string -> arguments:(string * string) list option -> Messages.Prompts.get_result) option;+complete : (ref_:Messages.Completions.completion_ref -> argument:string -> Messages.Completions.result) option;+val send_log_message : t -> level:Messages.Logging.level -> ?logger:string -> data:Jsont.json -> unit -> unit+val send_progress : t -> progress_token:string -> progress:float -> ?total:float -> unit -> unit
+254
claudeio/lib_mcp/session.ml
+254
claudeio/lib_mcp/session.ml
···
···
+140
claudeio/lib_mcp/session.mli
+140
claudeio/lib_mcp/session.mli
···
···
+29
claudeio/lib_mcp/transport.ml
+29
claudeio/lib_mcp/transport.ml
···
···
+34
claudeio/lib_mcp/transport.mli
+34
claudeio/lib_mcp/transport.mli
···
···
+179
claudeio/lib_mcp/transport_stdio.ml
+179
claudeio/lib_mcp/transport_stdio.ml
···
···
+38
claudeio/lib_mcp/transport_stdio.mli
+38
claudeio/lib_mcp/transport_stdio.mli
···
···
+30
claudeio/mcp.opam
+30
claudeio/mcp.opam
···
···+"An Eio-based OCaml library implementing the Model Context Protocol for connecting AI assistants with tools and data sources"