MCP

Hawa Code 支持 MCP ,只需要简单配置就可以使用

用户级别配置

在 ~/.hcode/hcode.json 中配置属性 mcpServers,用户级别 MCP 配置对所有项目都可用,同时因为是配置在本地,不会被 git 提交到代码库中,可以作为个人的私有配置。

本地项目配置

在 ~/.hcode/hcode.json 中的指定项目配置中设置属性 mcpServers,本地项目配置只能对特定的项目生效,同时因为是配置在本地,不会被 git 提交到代码库中,可以作为个人的私有配置。

项目配置

在 {项目路径}/.mcp.json 中配置,项目配置只能在当前项目中生效,同时可以随代码提交到代码库中,可以多人共享配置。

配置示例

以下是项目配置示例,其它配置格式相同,可以参考配置。

 { 
"mcpServers": {
"supabase": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@supabase/mcp-server-supabase@latest",
"--access-token",
"<personal-access-token>"
]
}
}
}

动态参数配置

配置文件中的字符串值支持使用 ${...} 引用动态变量,加载配置时变量会自动替换为实际值。插值只发生在内存中,不会回写配置文件。

支持的变量:

变量 说明
${env.NAME} 环境变量
${env.NAME:-default} 环境变量,未定义时使用默认值 default
${home} 用户主目录
${cwd} 当前项目目录
${projectName} 当前项目名称(与 ~/.hcode/projects 下的项目目录命名一致)
${globalConfigDir} 全局配置目录(~/.hcode)
${projectConfigDir} 当前项目的配置目录(~/.hcode/projects/<项目名称>)

需要输出字面量 ${ 时,使用 \${ 转义。变量未定义且未提供默认值时,保留原文并输出告警。

配置示例:

 {
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@dahawa/hawa-sqlite-mcp",
"${projectConfigDir}/data.db"
]
},
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp",
"headers": {
"Authorization": "Bearer ${env.SUPABASE_TOKEN}"
}
}
}
}

MCP 管理

在终端可以通过 /mcp 斜杠命令进行 MCP 管理。
MCP 启用和禁用状态统一保存在 ~/.hcode/hcode.json 的指定项目 approvedMcprcServers、rejectedMcprcServers 属性中。应该通过 /mcp 斜杠命令进行管理,不建议手动修改。