@cool-ai/beach-channel-mcp
v0.1.2
Published
Beach MCP channel — expose a Beach agent as an MCP tool over stdio or streamable HTTP. Implements core's ChannelAdaptor.
Downloads
181
Readme
@cool-ai/beach-channel-mcp
The MCP channel adaptor: it exposes a Beach agent as an MCP tool. A caller invokes the tool, the call is routed, and the reply comes back as the tool's result. It implements core's ChannelAdaptor, and like A2A it is a way for one agent to reach another — here over the Model Context Protocol.
An MCP tool call is synchronous, so the adaptor is a blocking channel: the tool handler holds its result open — keyed on a correlation id carried on the reply destination — until the routed reply arrives, then resolves with the reply text. A call whose reply never comes returns an error result after replyTimeoutMs.
The package imports no MCP SDK at runtime. You wire the tool onto your own McpServer (stdio or streamable HTTP) with registerOn; the routing engine here is transport-agnostic.
Use
import { MCPChannelAdaptor } from '@cool-ai/beach-channel-mcp';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
const mcp = new MCPChannelAdaptor({
inbound: (req) => channelRouter.inbound(req),
render: (parts) => toText(parts), // optional; defaults to string-or-JSON
});
const server = new McpServer({ name: 'baxter', version: '1.0.0' });
mcp.registerOn(server, { toolName: 'ask_baxter' });
// Connect `server` over stdio or streamable HTTP, and register `mcp` as a
// channel-router adaptor so replies resolve the tool call.The caller's tool arguments are handed through channel-blind as the inbound message's data; your request handler interprets them.
