ZM

zfinix/mcp_server_dart

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

21 stars 4 forks 品質 72 トレンド 14MIT

Dart の開発者向け MCP (Model Context Protocol) フレームワークで、アノテーションとコード生成を行います.

概要

A と . @MCPTool、@MCPResource、または@MCPPromptでMCPサーバーをアノテーションとして簡単に構築できます。json serializableやフリーズされた作品と同様です。 - : シンプルなアノテーションでMCPツール、リソース、およびプロンプトを宣言 - : 拡張ベースの登録でbuild runnerを使用して自動ボイラープレート生成 - : 継承ボイラープレートなしのクリーンな方法宣言 - : stdio、HTTP、およびストリーミング可能なHTTPのサポート - Server-Sentイベント(SSE) - : 自動パラメータ抽出によるフルダート型安全 - 方法の署名から自動入力スキーマ生成 - : JSON-RPCコマンド検証と包括的なテストスイート - : 現在のMCP-RCP-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-.

概要(AI 翻訳)

Dart** の **developer-friendly MCP (Model Context Protocol) フレームワークで、annotations と code 生成 を使用します。MCP サーバーを [@MCPTool、 [@MCPResource]、 [@MCPPrompt]] で簡単にアノテーション方法として構築できます。 [json_serializable] または [freezed]] の操作方法に似ています。

✨ 機能

  • ️️ アノテーションベース:単純なアノテーションでMCPツール、リソース、およびプロンプトを宣言 -**** コード生成**:build_runnerを用いた自動ボイラープレート生成 -✨ いいえ [[T6] 必須: 継承ボイラープレートのないクリーンな方法宣言
  • ** 複数の交通機関**: Server-Sent Events (SSE) による stdio、HTTP、および Streamable HTTP のサポート -** ANSIタイプ安全**:自動変数抽出を用いる完全なダーツのタイプ安全 -JSON Schema:メソッドシグネチャから自動入力スキーマ生成
  • 十分にテストされる: JSON-RPCコマンド検証による包括的なテストスイート -⚡ 生産準備完了:Relic HTTPサーバーで現在のMCP 2025-11-25整列プロトコル実装 -** 現代の機能**: MCPロギング、完了、タスク管理ツールコール、およびメタデータを初期化するリッチなMCPサポート

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

A developer-friendly MCP (Model Context Protocol) framework for Dart with annotations and code generation. Build MCP servers as easily as annotating methods with @MCPTool, @MCPResource, or @MCPPrompt - similar to how json_serializable or freezed works.

✨ Features

  • 🏷️ Annotation-based: Declare MCP tools, resources, and prompts with simple annotations
  • 🔧 Code generation: Automatic boilerplate generation using build_runner with extension-based registration
  • ✨ No @override required: Clean method declarations without inheritance boilerplate
  • 📡 Multiple transports: Support for stdio, HTTP, and Streamable HTTP with Server-Sent Events (SSE)
  • 🔍 Type-safe: Full Dart type safety with automatic parameter extraction
  • 📚 JSON Schema: Automatic input schema generation from method signatures
  • 🧪 Fully tested: Comprehensive test suite with JSON-RPC command validation
  • ⚡ Production ready: Current MCP 2025-11-25-aligned protocol implementation with Relic HTTP server
  • 🧠 Modern capabilities: Built-in support for MCP logging, completions, task-augmented tool calls, and richer initialize metadata
  • 🌐 Modern HTTP: Built on Relic framework with middleware support, CORS, logging, and health checks
  • 🔧 Monitoring: Built-in health check endpoints and connection monitoring
  • 📊 SSE Support: Server-Sent Events for real-time streaming on the modern MCP streamable HTTP transport

🚀 Quick Start

1. Add Dependencies

dependencies:
  mcp_server_dart: ^1.1.2
  relic: ^0.5.0  # Modern HTTP framework
  logging: ^1.3.0  # For server logging

dev_dependencies:
  build_runner: ^2.4.13

2. Create Your MCP Server

import 'package:mcp_server_dart/mcp_server_dart.dart';

part 'my_server.mcp.dart'; // Generated file

class MyMCPServer extends MCPServer {
  MyMCPServer() : super(name: 'my-server', version: '1.0.0') {
    // Register all generated handlers using the extension
    registerGeneratedHandlers();
  }

  @MCPTool('greet', description: 'Greet someone by name')
  Future greet(String name) async {
    return 'Hello, $name! 👋';
  }
GitHub で README 全文を見る

インストール

npx @modelcontextprotocol/inspector --cli http://localhost:8080/mcp --transport streamable-http --method tools/list
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "my-server": { "command": "/path/to/mcp-server" } } }