项目简介
FastMCP是一个基于Dart语言开发的服务器框架,专注于帮助开发者快速构建符合Model Context Protocol (MCP) 标准的应用后端。它通过提供简洁的API、注解和代码生成,简化了MCP核心功能(如资源管理、工具调用、Prompt模板)的实现,并支持多种传输协议,旨在为大型语言模型(LLM)客户端提供高效、类型安全且可扩展的上下文服务。
主要功能点
- 快速开发: 使用Dart函数和直观的注解,轻松定义MCP的工具、资源和Prompt模板。
- 类型安全: 自动生成参数解析和验证代码,减少运行时错误,提高开发效率。
- 自动Schema生成: 函数签名自动转换为符合MCP规范的JSON Schema,确保协议兼容性。
- 高级特性支持: 内置支持处理长任务、向客户端报告任务进度以及取消正在执行的任务。
- 协议合规: 严格遵循MCP '2025-06-18' 规范,架构现代且模块化。
- 可插拔传输: 支持Stdio(标准输入/输出)和Http等多种传输协议,方便本地开发和生产部署。
安装步骤
- 确保您的开发环境中已安装Dart SDK。
- 在您的Dart项目的 'pubspec.yaml' 文件的 'dependencies' 部分添加 'fastmcp':
dependencies: fastmcp: ^latest_version # 请替换为pub.dev上的最新版本 - 在 'dev_dependencies' 部分添加 'build_runner' 和 'fastmcp_generator':
dev_dependencies: build_runner: ^latest_version # 请替换为pub.dev上的最新版本 fastmcp_generator: ^latest_version # 请替换为pub.dev上的最新版本 - 运行 'dart pub get' 安装所有依赖。
- 在项目根目录运行代码生成器:'dart run build_runner build'。
服务器配置
MCP客户端需要配置服务器的启动命令和参数才能建立连接。以下是一个可能的JSON配置示例:
{ "server": { "name": "我的FastMCP服务器", "command": "dart", "args": ["run", "lib/main.dart"], "transport": "http", "http_port": 8080 }, "description": "一个使用FastMCP框架构建的示例MCP服务器,提供LLM上下文服务。" }
- 'server.name': 服务器的显示名称,例如 "我的FastMCP服务器"。
- 'server.command': 用于启动MCP服务器进程的命令,此处为 'dart'。
- 'server.args': 传递给 'command' 的参数列表,此处为 '["run", "lib/main.dart"]',指示运行 'lib/main.dart' 文件。
- 'server.transport': 指示MCP服务器使用的传输协议。'"stdio"' 表示通过标准输入/输出进行通信,适用于本地开发和调试。'"http"' 表示通过HTTP协议进行通信,适用于网络部署。
- 'server.http_port': (可选) 如果 'transport' 为 '"http"',则指定MCP服务器监听的HTTP端口,例如 '8080'。
- 'description': 对该MCP服务器的简要描述。
基本使用方法
- 定义MCP实体: 在您的Dart文件中,使用 '@Tool()', '@Resource()', '@Prompt()' 等注解来标记您的Dart函数或类,FastMCP会自动将它们注册为MCP服务。例如,您可以定义一个 'greet' 工具函数。
- 运行代码生成器: 执行 'dart run build_runner build',这将根据您的注解生成必要的MCP协议适配代码。
- 启动服务器: 运行您的Dart应用程序,例如 'dart run lib/main.dart'。服务器将启动并监听MCP客户端请求,如示例中所示,它可能会通过Stdio或HTTP(例如 'http://0.0.0.0:8080/mcp')提供服务。
信息
分类
开发者工具