
Zeqqat
io.github.zeqqatPublished by GitHub account zeqqatv0.2.8Updated Nov 8, 2026
Open source MCP gateway: agents call your APIs without holding keys or seeing secrets.
Overview
Open source MCP gateway that lets an AI agent call your APIs and MCPs through one URL, without holding API keys or seeing secrets.
- What you can do
- Search, describe and run API endpoints exposed through the gateway, including the full Dokploy API
- Check identity and manage permissions and policies for a connection
- Manage stored secrets without exposing them to the agent
- Import any API from its OpenAPI spec so each endpoint becomes a tool
- Read gateway documentation from inside the agent
- When to use it
- Useful when you want an agent to operate your APIs or Dokploy deployments but do not want to hand it raw API keys, and you want per-connection permissions, policies and an activity log of what was called and why.
- Requirements
- Remote endpoint at zeqqat.com (hosted, free while in beta) or a self-hosted Docker Compose install with Postgres. Self-hosting needs ZEQQAT_PUBLIC_URL, POSTGRES_PASSWORD, BETTER_AUTH_SECRET, ZEQQAT_ENCRYPTION_KEY and ENABLED_AUTH_PROVIDERS, plus GitHub or Google OAuth client credentials for sign-in. Agents connect over OAuth 2.1.
Installation
In SourceWeft
- Open Zeqqat in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Follow the launch instructions in the repository.
README
[License] [Release] [Docker image] [Stars]
Give AI access to your APIs and MCPs. Minus the risk.
Website · Self-host guide · Agent docs · Blog
Works with Claude, Claude Code, ChatGPT, Cursor, Gemini and any MCP client.
Zeqqat is an open source MCP gateway between AI agents and your APIs. Your agent connects to one Zeqqat URL instead of holding your API keys. Zeqqat decides what it may do, makes the call for it, and records everything. Self-host it on your own Dokploy for free, or use the hosted version at zeqqat.com.
✨ Features
- Keys stay out of the model: API keys are encrypted at rest and never returned to an agent.
- Scrubbed responses: env vars, tokens and private keys are stripped from every response before the model sees it.
- Permissions per connection: allow reading, creating, editing or deleting, one connection at a time.
- Policies: allow exactly the tools you list, and share policies with others.
- Activity log: every request shows who asked, which agent, the reason it gave, what it called and what came back.
- Teams: organizations, workspaces and roles, so teammates get their own access instead of a shared key.
- The whole Dokploy API: all 554 endpoints, found by search, so your agent's context isn't flooded with tool definitions.
- Any API from its OpenAPI spec: paste a link to an app's spec (Stripe, GitHub, your own) and every endpoint becomes a tool under your account, with read, create, edit and delete guessed for each. From the dashboard, from your agent with
zeqqat_import, or withPOST /api/integrations/import. - Standard OAuth sign-in: agents connect with OAuth 2.1, and each token only works on the connection it was issued for.
- Self-hosted: one container and Postgres, with migrations applied on startup.
🚀 Getting Started
On Dokploy
- Create a Docker Compose service from this repository, or paste
docker-compose.yml. - Set the environment variables listed under Configuration below.
- Add your domain to the
zeqqatservice on port 3000 and deploy. - Open your domain, sign in, and connect your Dokploy.
The full walkthrough is at zeqqat.com/docs/self-host.
Anywhere with Docker
To reach it locally on http://localhost:3000, uncomment the ports lines in docker-compose.yml.
Connect an agent
After you connect your Dokploy, Zeqqat gives you a connection URL like https://zeqqat.example.com/you/mcp/deployment/a39f. Add it to your agent as a remote MCP server and sign in when asked. Your agent reaches Dokploy through a few stable tools: zeqqat_search, zeqqat_describe, zeqqat_run, zeqqat_whoami, zeqqat_policy, zeqqat_secret, zeqqat_import and zeqqat_docs.
⚙️ Configuration
Every option is documented in .env.example.
Anonymous install ping
So we can tell how many self-hosted installs exist and which versions they run, a self-hosted install sends one small ping to https://zeqqat.com/api/telemetry when it starts and once a day after that. The ping is exactly this, and nothing else:
No IP address, hostname, users, emails, instances, API keys, connections or tool calls are ever sent, and zeqqat.com doesn't store your IP. The code is in lib/telemetry.ts.
To turn it off, set ZEQQAT_TELEMETRY=0 (DO_NOT_TRACK=1 works too) and restart.
☁️ Cloud vs Self-hosted
🛠️ Development
You need Node 22, pnpm 9 and Postgres.
pnpm check runs typecheck, lint and tests. AGENTS.md explains the architecture. Built with Next.js, Postgres, Drizzle and Better Auth.
Contributors 🤝
[Contributors]🤝 Contributing
Read the Contributing Guide before opening a pull request.
🔒 Security
Please report vulnerabilities privately. See SECURITY.md.
📄 License
Source: README.md at commit f4583be
Tools
0Version history
1- v0.2.8LatestNov 8, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listedRequired15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts