使用说明
项目简介
mcp_dart 是一个使用 Dart 语言开发的 MCP (Model Context Protocol) 服务器库。它旨在帮助开发者快速搭建 MCP 服务器,以便为大型语言模型 (LLM) 应用提供外部数据访问、工具调用和 Prompt 管理等功能。虽然目前项目还处于实验阶段,但它已经实现了 MCP 协议的核心功能,可以作为学习和实验 MCP 服务器的良好起点。
主要功能点
- 资源管理 (Resources):支持托管和管理各种类型的资源,为 LLM 提供上下文数据。
- 工具注册与执行 (Tools):允许注册和执行外部工具,扩展 LLM 的能力边界,例如进行计算、搜索等。
- Prompt 模板 (Prompts):支持定义和渲染 Prompt 模板,定制与 LLM 的交互方式。
- 传输协议支持:目前支持 Stdio 和 SSE 传输协议,方便与不同类型的 MCP 客户端集成。
安装步骤
由于是 Dart 库,你需要先安装 Dart SDK。安装完成后,可以将该仓库克隆到本地,或者将代码复制到你的 Dart 项目中。
对于简单的示例,你可以直接运行仓库中提供的示例代码。
服务器配置
MCP 服务器需要配置后才能被 MCP 客户端(例如 Claude Desktop)发现和使用。配置信息通常是一个 JSON 文件,你需要根据你的实际部署情况进行修改。以下是一个基于 'mcp_dart' 仓库示例生成的配置,你可以参考它来配置你的 MCP 客户端:
{ "mcpServers": { "dart_calculator_server": { // 服务器名称,可以自定义,在客户端中用于标识 "command": "dart", // 启动服务器的命令,这里假设你的 Dart SDK 的 dart 命令在 PATH 环境变量中 "args": [ // 启动命令的参数 "run", // Dart 运行命令 "path/to/your/mcp_dart/example/calculator_mcp_server_example.dart" // 指向你的 calculator_mcp_server_example.dart 文件的路径,你需要替换为实际路径 ] } } }
配置参数说明:
- 'mcpServers': 固定的顶级键,表示 MCP 服务器配置。
- 'dart_calculator_server': 服务器名称,可以自定义,用于在客户端中识别和选择服务器。
- 'command': 启动 MCP 服务器的可执行命令。对于 Dart 开发的服务器,通常是 'dart' 命令。
- 'args': 传递给 'command' 的参数列表。
- '"run"': Dart 命令的 'run' 参数,用于直接运行 Dart 脚本。
- '"path/to/your/mcp_dart/example/calculator_mcp_server_example.dart"': 请务必替换为你的 'calculator_mcp_server_example.dart' 文件在本地文件系统中的实际路径。 如果你的服务器代码在其他文件中,也需要相应修改。
注意: 上述配置假设你使用 JIT 模式运行 Dart 代码。如果你编译成了可执行文件 (AOT),则 'command' 应该指向编译后的可执行文件路径,'args' 数组可能为空或者包含其他必要的参数。 请根据你的实际部署方式调整配置。
基本使用方法
- 编写 MCP 服务器代码:使用 'mcp_dart' 库提供的类和方法,例如 'MCPServer', 'ToolRunner' 等,定义你的服务器功能,包括工具、资源和 Prompt 模板。可以参考仓库中的 'example' 目录下的示例代码。
- 运行 MCP 服务器: 使用 'dart run' 命令或编译后的可执行文件运行你的服务器代码。服务器默认会使用 Stdio 或 SSE 等传输协议,等待客户端连接。
- 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,根据上述 “服务器配置” 部分的说明,配置你的 MCP 服务器信息,包括启动命令和参数。确保客户端能够正确找到并启动你的服务器。
- 在 LLM 应用中使用: 配置完成后,你的 MCP 客户端应该能够连接到你的 MCP 服务器。在支持 MCP 协议的 LLM 应用中,你就可以利用服务器提供的工具、资源和 Prompt 模板来增强 LLM 的功能。例如,调用计算器工具进行数学运算,或者访问外部数据资源作为 LLM 的上下文信息。
简单示例:
仓库中提供了一个简单的计算器工具示例 ('calculator_mcp_server_example.dart')。你可以直接运行这个示例,并按照上述配置步骤将其配置到 MCP 客户端中,体验工具调用的功能。
dart run example/calculator_mcp_server_example.dart
然后,在 MCP 客户端中配置相应的服务器信息,即可测试计算器工具。
信息
分类
开发者工具