Skip to content

Commit 8ef0637

Browse files
authored
docs: clarify mcp_dart positioning versus dart_mcp (#103)
* docs: clarify positioning versus dart_mcp * docs: standardize StreamableHTTP naming * docs: clarify OAuth and protocol claims * docs: disambiguate Dart MCP package positioning
1 parent 2d32beb commit 8ef0637

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,26 @@ dart pub get
6060
-**All Capabilities** - Tools, Resources, Prompts, Sampling, Roots, Completions, Elicitation, Tasks
6161
-**Extension Support** - Generic `extensions` negotiation with typed MCP Apps helpers and TypeScript-style `registerAppTool` / `registerAppResource`
6262
-**Latest Content/Metadata Types** - `resource_link`, themed `icons`, and `annotations.lastModified`
63-
-**OAuth2 Support** - Complete authentication with PKCE
63+
-**OAuth Authentication Hooks** - `OAuthClientProvider`, server authenticators, and OAuth2/PKCE examples
6464
-**Transport Security Controls** - DNS rebinding protection and strict Streamable HTTP validation with compatibility toggles
6565
-**Type-Safe** - Comprehensive type definitions with null safety
6666
-**Cross-Platform** - Works on Linux, Windows, macOS, Web, and Flutter
6767

6868
The goal is to make this SDK as similar as possible to the official SDKs available in other languages, ensuring a consistent developer experience across platforms.
6969

70+
## Choosing between `mcp_dart` and the Dart team `dart_mcp` package
71+
72+
The Dart ecosystem now has more than one MCP package. The Dart team-maintained [`dart_mcp`](https://pub.dev/packages/dart_mcp) package lives in [`dart-lang/ai`](https://github.com/dart-lang/ai/tree/main/pkgs/dart_mcp) and is a good place to look when you specifically want the Dart team's implementation.
73+
74+
`mcp_dart` is a community SDK focused on production-oriented MCP servers and clients for Dart and Flutter applications. It is designed for teams that need broad protocol coverage, multiple transports, security controls, and tooling around real deployments.
75+
76+
| Package | Best fit | Notes |
77+
|---------|----------|-------|
78+
| `dart_mcp` | Projects that prefer the Dart team-maintained package or want to follow the Dart team's evolving MCP APIs closely. | Check the package docs and changelog for its current feature set and stability guarantees. |
79+
| `mcp_dart` | Production-focused Dart/Flutter MCP servers, clients, and hosts that need broad transport, auth, security, and tooling support today. | Includes StreamableHTTP, `OAuthClientProvider` and server `authenticator` hooks with OAuth2/PKCE examples, MCP Apps helpers, strict transport security controls, CLI tooling, and compatibility with MCP protocol version `2025-11-25`. |
80+
81+
Use this comparison as a starting point, not a permanent verdict: both packages can evolve quickly. If you compare them for a production decision, re-check the current pub.dev releases and docs first.
82+
7083
## Model Context Protocol Version
7184

7285
The current version of the protocol is `2025-11-25`. This library is designed to be compatible with this version, and any future updates will be made to ensure continued compatibility.
@@ -151,7 +164,7 @@ Configure your server with AI hosts like Claude Desktop:
151164
152165
## Authentication
153166

154-
This library supports OAuth2 authentication with PKCE for both clients and servers. For complete authentication guides and examples, see the [OAuth Authentication documentation](https://github.com/leehack/mcp_dart/tree/main/example/authentication).
167+
This library provides OAuth-aware client and server authentication hooks, including `OAuthClientProvider` for StreamableHTTP clients and server-side `authenticator` callbacks. For OAuth2/PKCE guides and examples, see the [OAuth Authentication documentation](https://github.com/leehack/mcp_dart/tree/main/example/authentication).
155168

156169
## Platform Support
157170

0 commit comments

Comments
 (0)