飞镖LSP MCP
一个模型上下文协议(MCP)服务器,为Claude Code提供Dart语言分析功能。该工具使用Dart语言服务器为Dart项目提供实时诊断、代码导航和符号搜索。
特性
- 实时诊断:从Dart分析器获取错误、警告和提示
- 转到定义:导航到符号定义
- 查找引用:查找符号的所有用法
- 悬停信息:获取类型信息和文档
- 文件符号:列出文件中的所有符号
- 工作空间符号搜索:在整个项目中搜索符号
先决条件
安装
- 克隆此存储库
- 安装依赖项:
uv sync用法
作为MCP服务器(用于克劳德代码)
添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"dart-lsp": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "D:\\GIT\\BenjaminKobjolke\\dart-lsp-mcp", "run", "python", "-m", "dart_lsp_watcher.mcp_server"]
}
}
}作为CLI工具
观看Dart项目进行诊断:
# Watch mode (continuous)
start.bat path/to/dart/project
# Check a single file
check.bat lib/main.dart path/to/dart/project
# Get server capabilities
capabilities.bat path/to/dart/project可用CLI命令
| 命令 | 描述 |
|---|---|
start.bat | Dart诊断的Watch文件夹 |
check.bat [folder] | 检查单个文件 |
| `definition.bat | |
| [folder]` | 转到定义 |
| `references.bat | |
| [folder]` | 查找参考文献 |
| `hover.bat | |
| [folder]` | 获取悬停信息 |
symbols.bat [folder] | 列出文档符号 |
search.bat [folder] | 搜索工作区符号 |
capabilities.bat [folder] | 显示LSP功能 |
MCP工具
当用作MCP服务器时,可以使用以下工具:
| 工具 | 说明 |
|---|---|
get_diagnostics | 获取项目或特定文件的Dart诊断 |
find_references | 查找某个位置的符号的所有引用 |
go_to_definition | 导航到符号定义 |
get_hover | 获取符号的文档和类型信息 |
get_document_symbols | 列出文件中的所有符号 |
search_symbols | 在整个工作空间中搜索符号 |
get_capabilities | 获取LSP服务器功能 |
reindex | 重新扫描工作区以检测新的/删除的Dart文件 |
配置
创建一个 dart_lsp.json 在项目根目录中配置忽略模式的文件:
{
"ignore": [
"build/**",
".dart_tool/**",
"**/*.g.dart"
]
}发展
运行测试:
tools\tests.bat许可证
麻省理工学院
