MCP就绪
基于Zig的MCP(模型上下文协议)服务器,为Klar编程语言提供语言智能。此服务器使Claude Code能够理解、分析和导航Klar代码库。
特性
- 类型检查 (
klar_check)-验证Klar代码并获得诊断 - 悬停信息 (
klar_hover)-在任何位置获取类型和文档信息 - 转到定义 (
klar_definition)-跳转到符号定义 - 查找引用 (
klar_references)-查找符号的所有用法 - 文件符号 (
klar_symbols)-列出文件中的所有符号 - 代码补全 (
klar_completions)-获取智能代码建议
需求
- 之字形 0.15或更高
- macOS、Linux或Windows
安装
从源代码构建
- 克隆存储库:
git clone https://github.com/your-username/MCP-Klar.git
cd MCP-Klar- 构建服务器:
./build.sh或手动:
zig build -Doptimize=ReleaseSafe- 二进制文件将位于
zig-out/bin/mcp-klar
运行测试
./run-tests.sh配置
环境变量
| 变量 | 描述 |
|---|---|
KLAR_STD_PATH | Klar标准库路径 |
KLAR_VERBOSE | 设置为 1, true,或 yes 启用详细输出 |
项目配置(klar.json)
创建一个 klar.json 项目根目录中的文件:
{
"std_path": "/path/to/klar/std",
"project_root": ".",
"source_dirs": ["src", "lib"],
"verbose": false
}配置优先级(从高到低):
- 环境变量
klar.json文件- 默认值
使用Claude代码
将服务器添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"klar": {
"command": "/path/to/mcp-klar"
}
}
}可用工具
清楚_检查
键入检查Klar文件并返回诊断结果。
参数:
file(string,必填)-.kl文件的路径content(字符串,可选)-未保存缓冲区的文件内容覆盖
\_向上
获取某个位置符号的类型和文档信息。
参数:
file(string,必填)-.kl文件的路径line(整数,必填)-行号(1-索引)column(整数,必填)-列号(1-索引)content(字符串,可选)-未保存缓冲区的文件内容覆盖
明确_定义
转到某个位置的符号定义。
参数:
file(string,必填)-.kl文件的路径line(整数,必填)-行号(1-索引)column(整数,必填)-列号(1-索引)content(字符串,可选)-未保存缓冲区的文件内容覆盖
klar_references
查找某一位置对符号的所有引用。
参数:
file(string,必填)-.kl文件的路径line(整数,必填)-行号(1-索引)column(整数,必填)-列号(1-索引)content(字符串,可选)-未保存缓冲区的文件内容覆盖include_definition(布尔值,可选)-在结果中包含定义
明确_符号
列出Klar文件中的所有符号。
参数:
file(string,必填)-.kl文件的路径content(字符串,可选)-未保存缓冲区的文件内容覆盖kind(字符串,可选)-按符号类型(函数、结构、枚举、变量等)筛选
klar_完井
在Klar文件中的某个位置获取代码补全。
参数:
file(string,必填)-.kl文件的路径line(整数,必填)-行号(1-索引)column(整数,必填)-列号(1-索引)content(字符串,可选)-未保存缓冲区的文件内容覆盖prefix(字符串,可选)-筛选器补全的前缀
可用资源
klar://std/docs
返回Klar标准库的全面文档。
klar://project/structure
返回项目目录结构,列出所有 .kl 文件夹。
故障排除
服务器未启动
- 确保安装了Zig 0.15+:
zig version - 从源代码重建:
./build.sh - 检查二进制文件是否存在:
ls -la zig-out/bin/mcp-klar
未返回诊断结果
- 确保文件路径正确且可访问
- 检查文件是否有
.kl扩展 - 尝试使用
content包含文件内容的参数
找不到标准库
设置 KLAR_STD_PATH 环境变量或在中配置它 klar.json.
许可证
麻省理工学院
