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

AI-generated 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.
Before you install
The gateway stores your API keys, encrypted with ZEQQAT_ENCRYPTION_KEY; losing or changing that key makes stored keys unreadable. Agents can be granted create, edit and delete permissions, so review per-connection permissions and policies before use. Self-hosted installs send a daily anonymous install ping to zeqqat.com unless ZEQQAT_TELEMETRY=0 or DO_NOT_TRACK=1 is set. On the hosted version your keys live on zeqqat.com.

Installation

In SourceWeft

  1. Open Zeqqat in the dashboard and add it to a workspace.
  2. 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

[Zeqqat]

[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 with POST /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

  1. Create a Docker Compose service from this repository, or paste docker-compose.yml.
  2. Set the environment variables listed under Configuration below.
  3. Add your domain to the zeqqat service on port 3000 and deploy.
  4. Open your domain, sign in, and connect your Dokploy.

The full walkthrough is at zeqqat.com/docs/self-host.

Anywhere with Docker

bash
git clone https://github.com/zeqqat/zeqqat.gitcd zeqqatcp .env.example .env    # fill in the valuesdocker compose up -d

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

VariableRequiredWhat it is
ZEQQAT_PUBLIC_URLyesYour install's URL, for example https://zeqqat.example.com
POSTGRES_PASSWORDyesPassword for the bundled Postgres
BETTER_AUTH_SECRETyesSession secret: openssl rand -base64 32
ZEQQAT_ENCRYPTION_KEYyesEncrypts stored API keys: openssl rand -base64 32. Keep it safe, a new key makes stored keys unreadable
ENABLED_AUTH_PROVIDERSyesgithub, google, or both, comma separated
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRETfor GitHub sign-inA GitHub OAuth app with callback <your URL>/api/auth/callback/github
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRETfor Google sign-inA Google OAuth client with redirect URI <your URL>/api/auth/callback/google

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:

json
{ "installId": "a random UUID made on first start", "version": "0.2.1" }

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

Zeqqat CloudSelf-hosted
CostFree while in betaFree and open source
SetupSign up at zeqqat.comOne Docker Compose service on your Dokploy
Where your keys liveEncrypted on zeqqat.comEncrypted on your own server
FeaturesEverythingEverything
UpdatesAutomaticPull a new image tag

🛠️ Development

You need Node 22, pnpm 9 and Postgres.

bash
pnpm installcp .env.example .envpnpm dev

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

Apache License 2.0


Source: README.md at commit f4583be

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  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