Gatekit
 ](https://github.com/gatekit-ai/gatekit/releases)  
一个可破解的MCP网关。
Gatekit是一个模型上下文协议网关,用于控制LLM和MCP工具之间的流量,以实现更好的可见性、安全性和控制。
它附带了用于工具管理、内容安全、审计日志和令牌使用跟踪的插件。支持本地stdio服务器和远程HTTP/SSE服务器。
需要自定义行为? 使用插件而不是fork进行扩展。 您的自定义设置保持独立,因此您可以继续获取Gatekit更新,而不会发生合并冲突。
内置插件句柄:
- 工具管理 --只公开您想要的工具,重命名和修改描述,以获得更清晰的上下文和更好的可发现性
- 内容安全 --在PII和秘密离开您的机器之前捕获它们,防御基本的提示注入攻击(基于正则表达式)
- 审核日志记录 --调试失败、跟踪使用情况、检查完整的请求和响应正文
- 令牌使用跟踪 --使用CSV导出估算每台服务器和工具的令牌消耗量
- Stdio服务器沙盒 --使用操作系统本机隔离(macOS安全带、Linux bubblewrap)限制本地MCP服务器可以在您的计算机上访问的内容
*Gatekit配置编辑器(终端UI)*
快速开始
安装
# With uv (recommended)
uv tool install gatekit
# With pipx
pipx install gatekit
# With pip (in a virtual environment)
pip install gatekit需要Python 3.10+。适用于macOS、Linux和Windows。
用法
gatekit引导式设置
TUI包括一个指导设置向导,该向导:
- 自动检测 您系统上的MCP客户端(Claude Desktop、Codex、Claude Code、Cursor、Windsurf)
- 发现 每个客户端的所有已配置MCP服务器
- 生成 完整的Gatekit配置
- 提供 带有复制按钮的客户端特定设置说明
- 创造 如果要还原,请还原脚本
手动配置
对于引导安装未检测到的MCP客户端,将Gatekit配置为MCP服务器 command 和 args:
{
"servers": {
"gatekit": {
"command": "gatekit-gateway",
"args": ["--config", "/absolute/path/to/gatekit.yaml"]
}
}
}VS代码示例(.vscode/mcp.json):
{
"servers": {
"gatekit": {
"command": "gatekit-gateway",
"args": ["--config", "${userHome}/.config/gatekit/gatekit.yaml"]
}
}
}运作原理
Gatekit代理模型上下文协议(MCP)客户端和服务器之间的流量。 配置文件 定义要代理的服务器和要运行的插件。
┌─────────────┐ ┌───────────────────┐ ┌─────────────────┐
│ MCP Client │ │ gatekit-gateway │ │ MCP Server(s) │
│ (Claude, │─────────────▶│ │─────────────▶│ (filesystem, │
│ Cursor) │◀─────────────│ plugins │◀─────────────│ github, etc.) │
└─────────────┘ └───────────────────┘ └─────────────────┘
▲
│ configures
│
┌─────────┴────────┐ ┌─────────────┐
│ gatekit.yaml │ writes │ gatekit │
│ │◀─────────────│ (TUI) │
│ • mcp servers │ └─────────────┘
│ • security │
│ • auditing │
│ • middleware │
└──────────────────┘gatekit-TUI。检测您的MCP客户端,发现服务器,并生成YAML配置文件。gatekit.yaml-您的配置。定义上游服务器和插件。gatekit-gateway-运行时。您的MCP客户端指向此处。将插件应用于所有流量。
插件 拦截客户端和服务器之间的流量,允许您修改、阻止或记录消息:
- 安全 -阻止或编辑敏感内容(个人身份信息、机密)
- 中间件 -转换请求/响应(过滤工具、重命名、修改)
- 审计 -记录所有MCP流量以进行调试或合规
内置插件
中间件
- 刀具管理器 -过滤、重命名和自定义工具描述
- 呼叫跟踪 -将诊断信息附加到工具响应中
安全
- PII过滤器 -检测和编辑个人身份信息(基于正则表达式)
- 秘密过滤器 -检测API密钥、令牌和其他机密(基于正则表达式)
- 快速注射过滤器 -检测常见的提示注入模式(基于正则表达式的基本保护)
审计
- JSON行 -用于处理的结构化日志
- CSV文件 -电子表格兼容日志
- 人类可读 -用于快速查看的纯文本日志
- 令牌使用量估算器 -通过实时TUI显示和CSV导出跟踪每台服务器和工具的令牌消耗
自定义插件
当内置插件不够时,编写自己的插件。插件拦截和修改工具调用和响应,启用:
- 修剪响应以避免上下文膨胀
- 将凭据注入到工具调用中,而不将其暴露给LLM
- 从其他数据源添加其他信息
- 危险行为的人工审批
- 响应缓存和重复数据删除
from gatekit.plugins.interfaces import MiddlewarePlugin, PluginResult
class MyPlugin(MiddlewarePlugin):
async def process_request(self, request, server_name):
# Your logic here
return PluginResult()
async def process_response(self, request, response, server_name):
# Your logic here
return PluginResult()
HANDLERS = {"my_plugin": MyPlugin}看 插件开发指南 了解详情。
文档
路线图和限制
安全插件使用基于正则表达式的模式匹配,而不是生产级ML/NLP。
计划的功能包括:
- 增强检测 -支持一流的第三方安全和隐私解决方案,如Microsoft Presidio、Yelp Secrets等。
- 响应修剪 -内置响应调整功能,有助于减少上下文膨胀
反馈
许可证
Apache许可证2.0-请参阅 许可证
______________________________________________________________________
Gatekit v0.3.0 -一种可破解的MCP网关
