ZM

zfinix/mcp_server_dart

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

21 stars 4 forks 质量 72 趋势 14MIT

一个面向开发者的MCP(模型上下文协议)Dart框架,支持注释和代码生成。

概览

A 带有 和 。构建 MCP 服务器和用 @MCPTool、@MCPResource 或 @MCPPrompt 的注释方法一样简单——类似于 json_serializable 或 freezed 的工作原理。 - : 声明MCP工具、资源和提示符,附带简单注释 - : 使用build_runner自动生成样板,基于扩展注册 - : 干净的方法声明无继承样板 - : 支持stdio、HTTP和可流式HTTP,支持服务器发送事件(SSE) - : 全Dart类型安全,自动参数提取 - : 自动从方法签名生成输入模式 - : 具备JSON-RPC命令验证的综合测试套件 - : 当前MCP 2025-11-25协议实现,配备Relic HTTP服务器 - : 内置支持MCP日志、完成、任务增强工具调用及丰富初始化元数据 - :基于Relic框架,支持中间件、CORS、日志和健康检查 - :内置健康检查端点和连接监控 - :...

概述(AI 翻译)

一个开发者友好型MCP(模型上下文协议)框架,适用于Dart,支持注释和代码生成。构建MCP服务器和注释方法一样简单,比如用@MCPTool、@MCPResource或@MCPPrompt——类似于json_serializable或freezed的工作原理。

✨ 特色

  • ** 🏷️ 基于注释的**:声明MCP工具、资源和提示,并附带简单注释
  • ** 🔧 代码生成**:使用build_runner的自动样板生成,基于扩展注册
  • ** ✨ 无需@override]:无需继承模板的干净方法声明
  • ** 📡 多重传输**:支持stdio、HTTP和带有服务器发送事件(SSE)的可流式HTTP。
  • ** 🔍 类型安全**:全Dart类型安全,具备自动参数提取功能
  • ** 📚 JSON 模式**:从方法签名自动生成输入模式
  • ** 🧪 完全测试**:包含JSON-RPC命令验证的综合测试套件
  • ** ⚡ 生产准备**:当前MCP 2025-11-25对齐协议实现,采用Relic HTTP服务器
  • ** 🧠 现代化功能**:内置支持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
新手?先看 mcpskill.org 教程 →

配置

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