toolgate
Provides optional OpenAI-compatible tool calling for the chat interface, routing PT/EN messages to governed tools by leveraging an LLM instead of the deterministic intent baseline; enabled via GATEWAY_LLM_API_KEY.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@toolgatelist pending dynamic tool approvals waiting for four-eyes review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
toolgate
English · Português
A control panel for the tools an AI assistant can use. You decide who can use each tool, passwords stay encrypted, and every call is logged so you can check later who did what.

What you can do
Chat with the tools. Ask "which grants are overdue in MS?" and the chat picks the right tool, asks for anything missing and explains the result. Conversations are saved.
Control who uses what. Each role (admin, analyst, auditor) only sees the tools it is allowed to call.
Add new tools without touching code. Register an HTTP endpoint in the panel; it only goes live after another person approves it.
Keep passwords and tokens safe. They're encrypted and never shown back on screen.
Audit everything. Each call becomes a log entry with personal data (tax ids, emails, cards) already masked. Entries are chained by hash, so you can tell if someone edited an old one.
Works with Claude Desktop or any MCP client, plus the web panel.
Related MCP server: MCP Tool Gateway
Running it
git clone https://github.com/murilo-bassan/mcp-tool-gateway.git
cd mcp-tool-gateway
pip install -r requirements-dev.txt
python -m pytest # tests
python scripts/demo_traffic.py # optional: sample activity
python -m uvicorn web.app:app --port 8600 # http://localhost:8600Test logins: admin/admin, analyst/analyst and auditor/auditor. Also runs with docker compose up --build.
To use it in Claude Desktop, copy docs/claude_desktop_config.example.json.
To try it from the terminal:
python scripts/mcp_call.py list
python scripts/mcp_call.py call invoices.validate_tax_id '{"tax_id": "11.222.333/0001-81"}'The chat works without any model. To use an LLM, set GATEWAY_LLM_API_KEY, GATEWAY_LLM_BASE_URL
and GATEWAY_LLM_MODEL (any OpenAI-compatible API).
How it works
Every call, whether it comes from Claude Desktop, the panel or another system, goes through the same path: check permission, apply the rate limit, validate the arguments, run, log. No entry point skips those steps.
gateway/
executor.py the single path for every call
access.py users, roles and permissions
registry.py tools registered from the panel
audit.py hash-chained log
masking.py personal data masking
chat.py the chat
domains/ sample tools (invoices and grants)
server.py MCP server
web/ web panelDesign decisions are in docs/adr and the security model in docs/security.md.
Screens
Console | Audit log |
|
|
Registered tools | Permissions |
|
|
Stack: Python, FastAPI, MCP, SQLite, Docker
All data is made up. MIT license.
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
One MCP endpoint for your company's tools, with per-person sign-in, policy and audit.
- GentkeyOAuthcom.gentkey
One MCP URL for all your connectors — scoped writes, enforced constraints, and a full audit trail.
Discover, plan and run tools across your connected business systems through one OAuth MCP endpoint
Related MCP Servers
FlicenseNot gradedqualityBmaintenanceA unified MCP layer that serves organization toolkits as MCP endpoints with per-tool permissions, an async approval queue, and full audit logging.-- AlicenseNot gradedqualityCmaintenanceEnables centralized proxy and orchestration of MCP servers, providing unified tool discovery, authentication, and secure request routing. It adds a human-in-the-loop approval gate for high-risk actions and audit logging.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceProvides a security and context-control layer that multiplexes multiple MCP servers behind a single endpoint, scanning tool definitions and results, enforcing authorization, rate limiting, and audit logging, and dynamically retrieving tools to manage context window usage.MIT
- AlicenseNot gradedqualityAmaintenanceEnables teams to onboard remote MCP servers, enforce function-level permissions and credential modes, and let developers expose permitted tools through a unified MCP endpoint with search and execute functions while auditing usage.MIT



