使用说明
MCP-fires🔒️LL
这是一个位于代理和所有工具使用请求之间的小工具,能够 为每个文件夹、git仓库和用户应用基于正则表达式的策略。
它目前通过pretooluse钩子支持Claude Code和GitHub Copilot CLI。
快速入门
下载并安装 发布 二进制文件,可以从您的 $PATH 环境变量。
有关更多安装说明,请查看 安装 部分
将所需代码段添加到您选择的代理中:
Claude Code
在任一情况下 ~/.config/settings.json (全球)或 .config/settings.json (每个项目):
{
"hooks": {
"PreToolUse": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "/usr/local/bin/mcp-firewall claude"
}
]
}
]
}
}
GitHub Copilot CLI
在 .github/hooks/mcp-firewall.json (每个项目):
{
"version": 1,
"hooks": {
"preToolUse": [
{
"type": "command",
"command": "/usr/local/bin/mcp-firewall claude"
}
]
}
}
那么,你所要做的就是制定你的第一份保单。这里有一个很好的起点:
~/.config/mcp-firewall/config.jsonnet
[
{
name: 'Simple commands',
// Note the space at the end of the patterns!
// Without it, commands like 'sortmalliciously' would also be allowed!
allow: [
'echo ',
'sort ',
'uniq ',
'wc ',
'ls( -\w+)?$', // Allow ls, ls -lah, etc. but not ls /etc/secrets!
],
}
]
[!提示] 而mcp防火墙使用
jsonnet对于所有策略文件,这样做只是为了允许更多 复杂和共享的政策。如果您不熟悉该语言,请将其视为普通JSON 还有支持评论的额外好处!
安装
要下载并安装mcp防火墙:
- 从下载最新编译的二进制文件 发布
- 使用克隆和构建项目
go build -o mcp-firewall ./cmd - 只需运行它
nix run git+https://github.com/dzervas/mcp-firewall-无安装步骤(不推荐) - 使用nix-flake作为输入:
NixOS/Home-Manager installation with flake
flake.nix
{
inputs.mcp-firewall.url = "github:dzervas/mcp-firewall";
inputs.mcp-firewall.inputs.nixpkgs.follows = "nixpkgs";
}
我假设输入是 speciaArgs 以便可以从任何模块访问:
configuration.nix
environment.systemPackages = [ inputs.mcp-firewall.packages.x86_64-linux.default ]
home-manager.nix
home.packages = [ inputs.mcp-firewall.packages.x86_64-linux.default ]
更多安装选项即将推出!
高级用法
对于希望进一步扩展并利用jsonnet跨平台共享规则集的用户 项目,这里有一些有用的信息:
- 这
lib子目录~/.config/mcp-firewall或价值$MCP_FIREWALL_CONFIG_DIR可用于libsonnet文件 - 这
vendor启示目录下的子目录可用于供应商库(例如使用jsonnet-bundler) - 使用的jsonnet实现是go jsonnet,您可以在 go.mod