
一个面向开发者的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_runnerwith extension-based registration - ✨ No
@overriderequired: 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! 👋';
}
安装
npx @modelcontextprotocol/inspector --cli http://localhost:8080/mcp --transport streamable-http --method tools/list配置
{
"mcpServers": {
"my-server": {
"command": "/path/to/mcp-server"
}
}
}