adk_mcp 2026.3.2+1 copy "adk_mcp: ^2026.3.2+1" to clipboard
adk_mcp: ^2026.3.2+1 copied to clipboard

MCP protocol client primitives for ADK Dart packages.

adk_mcp #

English | 한국어 | 日本語 | 中文

adk_mcp provides MCP (Model Context Protocol) client primitives for Dart.

It includes:

  • Streamable HTTP MCP client (McpRemoteClient)
  • stdio MCP client (McpStdioClient)
  • MCP constants, method names, protocol version handling, and JSON-RPC helpers

Platform Support Matrix (Current) #

Status legend:

  • Y Supported
  • Partial Partially supported / environment dependent
  • N Not supported
Feature / Surface Dart VM / CLI Flutter (Android/iOS/Linux/macOS/Windows) Flutter Web Notes
McpRemoteClient (Streamable HTTP transport) Y Y Y HTTP/HTTPS only (StreamableHTTPConnectionParams).
Protocol negotiation + JSON-RPC helper methods Y Y Y Same protocol behavior across transports/platforms.
Server message/read loop (readServerMessagesOnce) Y Y Y Web requires CORS-compatible MCP endpoint for browser access.
McpStdioClient transport Y Partial N Web uses a stub that throws UnsupportedError; non-web requires local process support.
StdioConnectionParams process spawn (Process.start) Y Partial N Environment-dependent on Flutter runtime/sandbox policies.
HTTP session termination (terminateSession) Y Y Y Uses MCP Streamable HTTP DELETE termination flow.
Built-in credential/token lifecycle manager N N N Headers/tokens are caller-managed.

Feature Support Matrix (Current) #

Status legend:

  • Y Supported
  • Partial Partial / integration required
  • N Not supported yet

Supported / Working #

Area Feature Status Notes
Transport Streamable HTTP MCP client Y JSON-RPC call/notify with initialize handshake support.
Transport stdio MCP client Y Child-process based JSON-RPC transport.
Protocol MCP protocol version negotiation Y Supports 2025-03-26, 2025-06-18, 2025-11-25.
RPC helpers Tools/resources/prompts/tasks/logging/sampling/roots/elicitation method helpers Y High-level helper methods are provided for client calls.
Paging Cursor-based pagination helper (collectPaginatedMaps) Y Works for both HTTP and stdio clients.
Server events Server notification/request callback hooks Y onServerMessage / onServerRequest are supported.
Session HTTP session termination helper Y terminateSession() sends MCP DELETE termination request.

Partial / Not Yet Supported #

Area Feature Status Notes
Package scope MCP server implementation N adk_mcp is client-only.
Transport WebSocket/other non-HTTP non-stdio transports N Only streamable HTTP and stdio are implemented.
Server request handling Built-in business handlers for server-initiated requests Partial Without onServerRequest, only ping is implicitly accepted.
Streaming lifecycle Long-lived managed background subscription API Partial readServerMessagesOnce() provides one SSE read pass; lifecycle orchestration is app-managed.
Auth Built-in OAuth/token lifecycle manager N Caller supplies headers/tokens; credential lifecycle is out of scope.
ADK integration Runner/tool wiring for ADK agents N Integration lives in adk_dart, not in adk_mcp.

Install #

dart pub add adk_mcp

Usage #

import 'package:adk_mcp/adk_mcp.dart';

final McpRemoteClient client = McpRemoteClient(
  clientInfoName: 'example_client',
  clientInfoVersion: '1.0.0',
);

final connection = StreamableHTTPConnectionParams(
  url: 'http://localhost:8000/mcp',
);

final Object? result = await client.call(
  connectionParams: connection,
  method: 'tools/list',
  params: const <String, Object?>{},
);

Repository #

License #

Apache-2.0

1
likes
150
points
80
downloads

Publisher

unverified uploader

Weekly Downloads

MCP protocol client primitives for ADK Dart packages.

Repository (GitHub)
View/report issues

Topics

#mcp #agents #ai #protocol

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

http

More

Packages that depend on adk_mcp