패키지, 저장소 및 앱 카테고리 검색

패키지 상세v2.4.3

mcp_dart

모델 컨텍스트 프로토콜(MCP) SDK의 다트 구현.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
34.3만
좋아요
81
Pub 점수
160

패키지 설치

flutter pub add mcp_dart

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

mcp_dart 패키지는 모델 컨텍스트 프로토콜(MCP) SDK의 Dart 구현으로, Flutter 애플리케이션에서 컨텍스트 인식 AI 모델을 원활하게 통합할 수 있도록 합니다. 모델 컨텍스트, 프롬프트 및 응답을 관리하기 위한 표준화된 프로토콜을 정의함으로써 클라이언트와 LLM 간의 구조적 통신을 촉진합니다. AI 기반 앱을 개발하는 개발자를 위해 설계되었으며, Android, iOS, 웹, macOS, Windows, Linux에서 크로스플랫폼 배포를 지원합니다. 이 패키지는 동적 컨텍스트 데이터 처리를 단순화하여 프롬프트 정확도를 향상시키고 생성 워크플로우의 지연 시간을 줄입니다.

사용 사례

  • AI 챗 인터페이스 통합
  • LLM 프롬프트 관리 향상
  • 맥락 인식 보조자 구축
  • 실시간 AI 응답 활성화
  • 다중 모델 워크플로우 지원

주요 기능

  • 크로스 플랫폼 호환성
  • 표준화된 컨텍스트 프로토콜
  • 효율적인 프롬프트 처리
  • 실시간 컨텍스트 동기화
  • 경량 및 모듈식 디자인

적합한 대상

  • LLM을 사용하는 플러터 개발자
  • AI 애플리케이션 빌더
  • AI를 통합하는 풀스택 개발자
  • 다양한 플랫폼에서 일관된 AI 동작이 필요한 팀
  • 구조화된 AI 컨텍스트가 필요한 프로젝트

고려 사항

  • MCP 기준 이해 필요
  • 호환되는 LLM 백엔드에 따라 다름
  • 사용자 정의 모델 통합을 위해 추가 설정이 필요할 수 있습니다
  • 명확한 AI 컨텍스트 요구 사항이 있는 프로젝트에 가장 적합

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

MCP (Model Context Protocol) for Dart

Coverage Stable package likes

mcp_dart is a dual-era Dart and Flutter SDK for MCP clients, servers, and AI hosts. It implements the complete core client/server wire surface of the locked MCP 2026-07-28 specification, retains the MCP 2025-11-25 feature set, and negotiates supported earlier initialization-based specifications.

Here, core means the normative wire requirements assigned to client and server roles by the pinned final specification. It excludes optional MCP extensions, host UI behavior, an authorization-server implementation, JSON Schema external-reference resolution, and custom JSON Schema vocabularies.

[!IMPORTANT] This release is mcp_dart 2.4.2. The separately versioned stable CLI remains mcp_dart_cli 0.2.1, which requires mcp_dart ^2.4.2. Current source passes every scored requirement in the official alpha.11 MCP 2025-11-25 and 2026-07-28 client and server sets, including all 25 required 2026 authorization scenarios, plus bidirectional published TypeScript SDK 2.0.0 and Python SDK 2.1.1 interoperability.

SDK Tier 1 target

The project is pursuing MCP SDK Tier 1. Tier 1 is not yet claimed or assigned. The technical baseline is green; the remaining official audit, repository-governance, and SDK Working Group steps are tracked in the roadmap and 48-feature coverage inventory.

The public maintenance contract is documented in the contribution guide, security policy, dependency policy, and versioning policy.

Requirements

Package Minimum Dart SDK
mcp_dart 2.4.2 3.4
mcp_dart_cli 0.2.1 3.12

SDK-only generated projects retain the SDK's Dart 3.4 minimum. CLI projects use Dart 3.12 because the CLI and its toolchain target that release.

Install Dart from dart.dev.

Installation

Production channel

Use the latest stable package for production projects:

dart pub add mcp_dart
Pin the stable SDK release

Pin the stable 2.4 line explicitly when reproducible dependency resolution is important:

dependencies:
  mcp_dart: ^2.4.2

The snippets below use the current stable SDK line. Package versions remain separate from protocol profiles: McpProtocol.stable names the SDK's default compatibility policy.

The SDK and CLI are versioned independently. The stable CLI's ^2.4.2 constraint accepts SDK versions from 2.4.2 up to, but not including, 3.0.0.

For direct SDK integration, start with the getting-started guide. The CLI below is optional and provides scaffolding, inspection, and conformance commands.

What the SDK provides

  • MCP servers, clients, and host integrations with null-safe Dart APIs.
  • Core tools, resources, prompts, completion, elicitation, subscriptions, logging, roots, and sampling APIs with behavior selected for the negotiated protocol era. MCP 2026-07-28 logging is retained for compatibility but is deprecated upstream.
  • Stdio, Streamable HTTP, IO stream, and custom transports.
  • OAuth client discovery/PKCE hooks, server authentication callbacks, DNS rebinding protection, and strict Streamable HTTP validation.
  • An experimental Tasks extension implementation, MCP Apps metadata helpers, and generic extension negotiation. Extensions are separate from core protocol coverage; Tasks is not an official extension or part of the SDK's core conformance claim.
  • Automated MCP 2025-11-25 and MCP 2026-07-28 conformance, bidirectional published TypeScript SDK 2.0.0 interoperability, bidirectional Python SDK 2.1.1 interoperability, real-browser transport tests, a real Flutter Web service integration in Chrome, deterministic widget tests, and an independent pinned JSON Schema Test Suite gate.
  • mcp_dart 2.4.2 bounds incoming stdio and IO stream messages to 10 MiB by default, with configurable limits for larger messages. See the transport guide before upgrading integrations that exchange larger frames.
  • Hardened Streamable HTTP access and JSON-RPC error diagnostics, plus the deprecated, opt-in legacy HTTP+SSE client with same-origin routing and bidirectional interoperability against official TypeScript SDK 1.30.0 and Python SDK 2.1.1 peers.

MCP has three roles: a host owns the user experience, a client connects that host to one server, and a server exposes tools, resources, and prompts. A host can manage multiple clients and servers.

Protocol profiles

Profile Protocol behavior
McpProtocol.stable Default dual-era profile: prefer MCP 2026-07-28, then fall back to initialization-based MCP specifications; body-only discovery probes are bounded to 5 seconds
McpProtocol.legacy Initialization-era profile: negotiate the MCP 2025-11-25, MCP 2025-06-18, MCP 2025-03-26, MCP 2024-11-05, or MCP 2024-10-07 specification
McpProtocol.require2026 Require MCP 2026-07-28 and reject legacy initialization

Use stableProtocolVersion or defaultProtocolVersion for MCP 2026-07-28. previewProtocolVersion remains as a deprecated alias for applications built against a 2.3 prerelease. latestInitializationProtocolVersion remains 2025-11-25 when the default profile falls back to the legacy lifecycle. For compatibility, latestProtocolVersion and supportedProtocolVersions retain their mcp_dart 2.2 initialization-era values; use allSupportedProtocolVersions for the dual-era list.

Select a profile only when you need to constrain negotiation:

final legacyClient = McpClient(
  const Implementation(name: 'my-client', version: '1.0.0'),
  options: const McpClientOptions(protocol: McpProtocol.legacy),
);

final strict2026Server = McpServer(
  const Implementation(name: 'my-server', version: '1.0.0'),
  options: const McpServerOptions(protocol: McpProtocol.require2026),
);

See the MCP 2026-07-28 transition guide for fallback rules and APIs specific to MCP 2026-07-28, or run the strict MCP 2026-07-28 example. Applications upgrading from the stable 2.2 line should also follow the 2.2 to 2.3 migration guide.

Quick start with the CLI

Install the matching stable CLI:

dart pub global activate mcp_dart_cli 0.2.1
mcp_dart create my_server
cd my_server
mcp_dart inspect

The 0.2.1 CLI creates a project with mcp_dart: ^2.4.2. The inspector launches the generated stdio server itself. After leaving the interactive inspector, you can run a single tool directly:

mcp_dart inspect --tool add --json-args '{"a": 1, "b": 2}'

Useful commands:

Command Purpose
create Scaffold a Dart MCP server using the SDK channel paired with the CLI
serve Run a generated server over stdio or HTTP
doctor Check project health and connectivity
inspect Interactively use a server's capabilities
inspect-server Produce a structured report for a live server
inspect-client Run a stdio harness that inspects a connecting client
trace Proxy and record a real stdio session
conformance Run the repository's built-in protocol regression fixtures

See the CLI documentation for command options and scope.

Documentation

Standalone integration examples may declare newer Dart SDK requirements; check each example README before running it.

Authentication

StreamableHttpClientTransport supports OAuthClientProvider and optional authorization-code discovery. Servers can use authenticator or authenticationHandler and publish protected-resource metadata.

The checked-in OAuth examples store tokens in plaintext files for local learning. Production applications must use platform secure storage or an encrypted credential service. See the OAuth examples and Streamable HTTP authentication.

Do not expose example HTTP servers directly to untrusted networks. Production deployments should use TLS, authenticate requests, and configure the documented Host and Origin protections.

Platform support

Target Stdio Streamable HTTP Legacy HTTP+SSE IO/custom stream
Dart VM / desktop server Yes Client and server Client and server Yes
Browser / Flutter Web No process spawning Client Client Yes
Flutter mobile Only app-managed native helpers Remote client Remote client Yes
Flutter desktop Local helper processes Client and server Client and server Yes

Legacy HTTP+SSE is deprecated under MCP SEP-2596 and is retained only for explicit compatibility. Use Streamable HTTP for new remote integrations.

See Flutter host and client recipes for lifecycle and secure-storage guidance.

Choosing a Dart MCP package

The Dart team maintains dart_mcp in dart-lang/ai. Choose it when you prefer the Dart team's APIs. Choose mcp_dart when you need this SDK's transport, security, compatibility, extension, and inspection surface. Re-check both packages' current releases before a production decision.

Support

카테고리

의존성

의존성 목록 3 개

소스 저장소

이 패키지를 사용하는 프로젝트

순위