Dart MCP 服务器
一个可分布式的模型上下文协议 (MCP) 服务器,用于公开 Dart SDK 命令以支持 AI 开发。该服务器通过实现模型上下文协议 (MCP),弥合了 AI 编程助手与 Dart/Flutter 开发工作流程之间的差距。
特征
此 MCP 服务器提供对以下 Dart SDK 命令的无缝访问:
命令 | 描述 |
---|---|
dart-analyze | 分析 Dart 代码中的错误、警告和 lint |
dart-compile | 将 Dart 编译为各种格式(exe、AOT/JIT 快照、JavaScript) |
dart-create | 从模板创建新的 Dart 项目 |
dart-doc | 为 Dart 项目生成 API 文档 |
dart-fix | 对 Dart 源代码应用自动修复 |
dart-format | 根据样式指南格式化 Dart 源代码 |
dart-info | 显示有关已安装 Dart 工具的诊断信息 |
dart-package | 使用包(获取、添加、升级、过时等) |
dart-run | 运行 Dart 程序并支持传递参数 |
dart-test | 运行支持过滤和报告选项的测试 |
主要优点
- 智能路径处理:自动将相对路径解析为绝对路径,确保命令无论工作目录如何都能正常工作
- 项目自动检测:识别主目录和工作区等常见位置中的 Dart/Flutter 项目
- 跨平台支持:适用于 macOS、Linux 和 Windows
- 零配置:开箱即用,具有合理的默认设置
- MCP 集成:兼容任何 MCP 客户端,包括 Windsurf、Cline 和其他模型上下文协议实现
先决条件
- Node.js :18.x 或更高版本
- Dart SDK :已安装 3.0 或更高版本,并且可在 PATH 中使用
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Dart MCP 服务器:
使用 npx(推荐)
使用 npx 无需安装即可直接运行服务器:
全局安装
为了更方便地访问,您可以全局安装服务器:
然后使用以下命令运行它:
来自源
与 MCP 客户端集成
Windsurf / Codeium IDE 配置
要将此 MCP 服务器与 Windsurf 或 Codeium IDE 一起使用,请将以下内容添加到您的mcp_config.json
文件(通常位于~/.codeium/windsurf/mcp_config.json
):
环境变量
DART_MCP_VERBOSE
:设置为任意值以启用详细日志记录以进行调试
MCP 工具使用示例
以下是如何使用服务器提供的 MCP 工具的示例。这些示例展示了可以传递给每个工具的参数。
dart 分析
分析 Dart 代码中的错误、警告和 lint:
dart 编译
将 Dart 代码编译为各种格式:
支持的格式: exe
、 aot-snapshot
、 jit-snapshot
、 kernel
、 js
dart 创建
从模板创建一个新的 Dart 项目:
关于项目名称和输出的注释:
- 如果仅提供
projectName
,则它将用作创建项目的目录名称。 - 如果提供了
output
,它将被用作创建项目的目录。 - Dart 中的实际包/项目名称来自 Dart CLI 的最终目录名称。
支持的模板: console
、 package
、 server-shelf
、 web
dart 文档
为 Dart 项目生成 API 文档:
dart-fix
对 Dart 源代码应用自动修复:
dart 格式
根据样式指南格式化 Dart 源代码:
dart 信息
显示有关已安装的 Dart 工具的诊断信息:
dart 包
使用包(pub 命令):
支持的命令: get
、 upgrade
、 outdated
、 add
、 remove
、 publish
、 deps
、 downgrade
、 cache
、 run
、 global
飞镖跑
运行支持传递参数的 Dart 程序:
飞镖测试
运行支持过滤和报告选项的测试:
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
工具 API 参考
dart 分析
分析目录或文件中的 Dart 代码。
例子:
dart 编译
将 Dart 编译为各种格式。
例子:
dart 创建
创建一个新的 Dart 项目。
笔记:
- 如果提供了
output
,则项目将在该目录中创建。 - 如果仅提供
projectName
,它将被用作目录名称。 - 实际的 Dart 包名称源自最终的目录名称。
例子:
dart 文档
为 Dart 项目生成 API 文档。
例子:
dart-fix
对 Dart 源代码应用自动修复。
例子:
dart 格式
惯用格式的 Dart 源代码。
例子:
dart 信息
显示有关已安装工具的诊断信息。
例子:
dart 包
使用包(pub 命令)。
例子:
飞镖跑
运行 Dart 程序。
例子:
飞镖测试
对项目运行测试。
例子:
发展
错误处理
服务器实现了全面的错误处理:
- 捕获命令执行错误并进行适当格式化
- 路径解析问题通过详细诊断进行报告
- 长时间运行操作的超时处理
- Dart 命令的正确退出代码传播
贡献
请参阅CONTRIBUTING.md了解详细的贡献指南。
我们的提交格式如下:
例子:
执照
麻省理工学院
Related MCP Servers
- AsecurityAlicenseAqualityA Dart-based MCP server implementation that enables AI-assisted task management, document handling, and workspace organization through standardized tools and seamless Dart integration.Last updated -101,2953JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that wraps the dbt CLI tool, enabling AI coding agents to interact with dbt projects through standardized MCP tools. Developed by Mammoth Growth.Last updated -15PythonMIT License
- AsecurityAlicenseAqualityAn official AI Model Context Protocol server that enables AI assistants to interact with Dart project management by creating/managing tasks and documents through prompts and tools.Last updated -151,295110TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that implements AI-First Development framework principles, allowing LLMs to interact with context-first documentation tools and workflows for preserving knowledge and intent alongside code.Last updated -333PythonAGPL 3.0