Apache 2.0 licensed
Gatekit is a Model Context Protocol gateway that controls traffic between your LLM and MCP tools for better visibility, security, and control.
Extend it with plugins, not forks. Your customizations stay separate, so you can keep getting Gatekit updates without merge conflicts.
Built-in plugins handle:
Gatekit proxies traffic between Model Context Protocol (MCP) clients and servers. Config files define which servers to proxy and which plugins to run.
Plugins intercept traffic between client and servers, allowing you to modify, block, or log messages:
Plugins intercept traffic between client and servers, allowing you to modify, block, or log messages.
Transform requests and responses
Regex-based pattern matching. Not a substitute for dedicated security tooling.
Log all MCP traffic for debugging or compliance
When the built-in plugins aren't enough, write your own. Plugins intercept and modify tool calls and responses, enabling:
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}
Run gatekit to launch the terminal UI. The guided setup wizard handles configuration for supported clients.
Requires Python 3.10+.
Gatekit currently only supports local stdio servers and regex pattern matching based security and privacy filters.
Planned features include:
Have feedback on the roadmap? Join the discussion. Found a bug? Open an issue. For anything else: dbright@gatekit.ai