cloudllm_mcp 0.3.1

Reusable MCP runtime, protocol types, and HTTP server/client primitives.
Documentation
# cloudllm_mcp

`cloudllm_mcp` is the published package name for the standalone Rust crate
that exposes the `mcp` library target. Code can still import it as `mcp`.

`mcp` is a standalone Rust crate containing reusable MCP-oriented tool
protocol primitives, an HTTP client/server runtime, and supporting utilities.

It exists so multiple projects in this repository can share the same MCP
foundation without creating circular dependencies.

## What It Provides

- tool protocol primitives:
  - `ToolProtocol`
  - `ToolMetadata`
  - `ToolParameter`
  - `ToolResult`
  - `ToolRegistry`
- MCP events:
  - `McpEvent`
  - `McpEventHandler`
- MCP runtime:
  - `UnifiedMcpServer`
  - `MCPServerBuilder`
  - `McpClientProtocol`
- server utilities:
  - `HttpServerAdapter`
  - `HttpServerConfig`
  - `HttpServerInstance`
  - `IpFilter`
  - `AuthConfig`
- streamable HTTP transport:
  - `StreamableHttpConfig`
  - `streamable_http_router`
  - `streamable_http_router_with_sse`
- SSE (Server-Sent Events) support:
  - `SseBroadcaster` — multi-subscriber broadcast channel for SSE events
  - `SseEventHandler` — bridges `McpEvent` lifecycle events into the SSE stream
  - `SseMessage` — typed SSE message with optional event name and JSON data
  - GET endpoint returns `text/event-stream` when a broadcaster is attached
  - POST requests automatically broadcast JSON-RPC results/errors as SSE events

## Build

```bash
cargo build -p cloudllm_mcp
```

Build with HTTP server support:

```bash
cargo build -p cloudllm_mcp --features server
```

## Test

```bash
cargo test -p cloudllm_mcp
```

## Intended Use

- `cloudllm` depends on `mcp` for its shared MCP protocol/runtime layer
- `mentisdb` depends on `mcp` for its MCP-facing tool schema and result types

This crate is transport/runtime infrastructure, not a complete agent framework.