mcp_dart 1.1.2 copy "mcp_dart: ^1.1.2" to clipboard
mcp_dart: ^1.1.2 copied to clipboard

Dart Implementation of Model Context Protocol (MCP) SDK.

MCP(Model Context Protocol) for Dart #

Coverage Pub Version likes

The Model Context Protocol (MCP) is a standardized protocol for communication between AI applications and external services. It enables:

  • Tools: Allow AI to execute actions (API calls, computations, etc.)
  • Resources: Provide context and data to AI (files, databases, APIs)
  • Prompts: Pre-built prompt templates with arguments

Understanding MCP: Client, Server, and Host #

MCP follows a client-server architecture with three key components:

  • MCP Host: The AI application that provides the user interface and manages connections to multiple MCP servers.

    • Example: Claude Desktop, IDEs like VS Code, custom AI applications
    • Manages server lifecycle, discovers capabilities, and orchestrates interactions
  • MCP Client: The protocol implementation within the host that communicates with servers.

    • Handles protocol negotiation, capability discovery, and request/response flow
    • Typically built into or used by the MCP host
  • MCP Server: Provides capabilities (tools, resources, prompts) that AI can use through the host.

    • Example: Servers for file system access, database queries, or API integrations
    • Runs as a separate process and communicates via standardized transports (stdio, StreamableHTTP)

Typical Flow: User ↔ MCP Host (with Client) ↔ MCP Protocol ↔ Your Server ↔ External Services/Data

Requirements #

  • Dart SDK version ^3.0.0 or higher

Ensure you have the correct Dart SDK version installed. See https://dart.dev/get-dart for installation instructions.

What This SDK Provides #

This SDK lets you build both MCP servers and clients in Dart/Flutter.

  • Build MCP Servers - Create servers that expose tools, resources, and prompts to AI hosts
  • Build MCP Clients - Create AI applications that can connect to and use MCP servers
  • Full MCP Protocol Support - Complete MCP specification 2025-11-25 implementation
  • Multiple Transport Options - Stdio, StreamableHTTP, Stream, or custom transports
  • All Capabilities - Tools, Resources, Prompts, Sampling, Roots, Completions, Elicitation, Tasks
  • OAuth2 Support - Complete authentication with PKCE
  • Type-Safe - Comprehensive type definitions with null safety
  • Cross-Platform - Works on Linux, Windows, macOS, Web, and Flutter

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.

Model Context Protocol Version #

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.

It's also backward compatible with previous versions including 2025-06-18, 2025-03-26, 2024-11-05, and 2024-10-07.

Documentation #

Getting Started #

Core Concepts #

Advanced Features #

  • 🔐 OAuth Authentication - OAuth2 guides and examples
  • 📝 For resources, prompts, and other features, see the Server and Client guides

Quick Start with CLI #

The fastest way to create an MCP server is using the mcp_dart_cli:

# Install the CLI
dart pub global activate mcp_dart_cli

# Create a new project
mcp_dart create my_server

# Navigate and run
cd my_server
mcp_dart serve

Your server is now running! Use mcp_dart inspect to test it:

mcp_dart inspect              # List all capabilities
mcp_dart inspect --tool add --json-args '{"a": 1, "b": 2}'   # Call a tool

CLI Commands #

Command Description
create Scaffold a new MCP server project
serve Run your server (stdio or HTTP)
doctor Check project health and connectivity
inspect Test and debug server capabilities

📖 Full CLI Documentation

Connecting to AI Hosts #

Configure your server with AI hosts like Claude Desktop:

{
  "mcpServers": {
    "my_server": {
      "command": "mcp_dart",
      "args": ["serve"],
      "cwd": "/path/to/my_server"
    }
  }
}

Tip

For manual server implementation or advanced use cases, see the Server Guide.

Authentication #

This library supports OAuth2 authentication with PKCE for both clients and servers. For complete authentication guides and examples, see the OAuth Authentication documentation.

Platform Support #

Platform Stdio StreamableHTTP Stream Custom
Desktop (CLI/Server)
Web (Browser)
Flutter (Mobile/Desktop)

Custom Transports: You can implement your own transport layer by extending the transport interfaces if you need specific communication patterns not covered by the built-in options.

More Examples #

For additional examples including authentication, HTTP clients, and advanced features:

Community & Support #

Credits #

This library is inspired by the following projects:

48
likes
160
points
5.82k
downloads

Publisher

verified publisherleehack.com

Weekly Downloads

Dart Implementation of Model Context Protocol (MCP) SDK.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

http

More

Packages that depend on mcp_dart