scala-mcp

[md]Clients

scala-mcp also ships an McpClient API — the symmetric counterpart to the server side. Use it to drive an MCP server from your own code: scripting tool calls, testing servers you've written, or building an LLM agent that consumes MCP tools and resources.

Transport Module Platforms Use it for
Stdio mcp-stdio JVM, JS, Native Spawning a subprocess MCP server (Claude-style .mcp.json command entries)
Streamable HTTP + SSE mcp-http4s JVM, JS, Native Connecting to a networked MCP server (type: "http" entries, remote agents)

Both transports have the same shape:

Once initialized, McpClient[F] exposes typed methods for every server-side capability — listTools / callTool, listResources / readResource / subscribe, listPrompts / getPrompt, ping, plus a notifications stream of server-initiated notifications.

Where to next