ZM

zfinix/mcp_server_dart

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

21 stars 4 forks Качество 72 Тренд 14MIT

MCP (Model Context Protocol) для Dart с аннотациями и генерацией кода.

Обзор

А с и . Создавать MCP-серверы так же легко, как аннотировать методы с помощью @MCPTool, @MCPResource или @MCPPrompt - подобно тому, как работает json serializable или замороженный. - Объявить инструменты, ресурсы и подсказки MCP с простыми аннотациями - : Автоматическая генерация boilerplate с помощью build runner с регистрацией на основе расширений - : Декларации чистого метода без наследственного boilerplate - : Поддержка stdio, HTTP и потокового HTTP с событиями сервера-отправителя (SSE) - : Полная безопасность типа Dart с автоматическим извлечением параметров - : Автоматическая генерация схемы ввода из сигнатур метода - : Комплексный набор тестов с валидацией команд JSON-RPC - : Текущая реализация протокола MCP 2025-11-25 с сервером Relic HTTP - : Встроенная поддержка журналирования MCP, завершение, вызовы инструментов с расширенными задачами и более богатые инициализации метаданных - : Построенный на Relic фреймворк с поддержкой промежуточного программного обеспечения, CORS, регистрация и проверки здоровья - : Встроенные конечные точки проверки здоровья и мониторинг соединения - : ...

Обзор (машинный перевод)

Удобный для разработчиков MCP (Model Context Protocol) фреймворк для Dart** с аннотациями и генерированием кода. Создавайте MCP-серверы так же легко, как и аннотирующие методы с @MCPTool, @MCPResource или @MCPPrompt - аналогично тому, как работают json_serializable или freezed.

Feature Особенности

**️️ Аннотация на основе **: Объявлять инструменты, ресурсы и подсказки MCP с простыми аннотациями

  • *** Поколение кода**: Автоматическая генерация с использованием build_runner с регистрацией на основе расширения
  • ** * Нет @override требуется**: Декларация чистого метода без наследования
  • *** Множественные перевозки**: Поддержка stdio, HTTP и Streamable HTTP с серверными событиями (SSE) *** Типобезопасный**: Полная безопасность типа Dart с автоматическим извлечением параметра ** ma Схема JSON**: Автоматическая генерация схем ввода из сигнатур метода ** полностью проверено**: Комплексный набор тестов с валидацией команд JSON-RPC Производство готово: Текущая реализация протокола MCP 2025-11-25 с сервером Relic HTTP ** Современные возможности**: Встроенная поддержка для регистрации MCP, завершения, вызовов инструментов с расширенными задачами и более богатой инициализации метаданных

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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! 👋';
  }
Открыть полный README на GitHub

Установка

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" } } }