Zeqqat について
Zeqqatは、APIキーを公開せずにエージェントにDokployを操作させるためのオープンソースMCPレイヤーです。リクエストを仲介・記録し、接続ごとの権限とポリシーを適用して、応答から機密情報を除去します。
主な機能
- 01APIキーを暗号化しエージェントに返さない
- 02返却データから機密情報を除去
- 03接続ごとの権限設定
- 04ツールポリシーの定義と共有
- 05リクエストと結果の記録
- 06DokployとインポートしたOpenAPIエンドポイントを公開
活用シーン
- 01エージェントによるDokployデプロイの操作
- 02エージェント接続を許可された操作に制限
- 03エージェントのリクエストと返却データの確認
- 04アプリのOpenAPIエンドポイントをツールとして利用
MCP 対応
エージェントはZeqqatのURLをリモートMCPサーバーとして接続し、zeqqat_search、zeqqat_describe、zeqqat_runなどのツールを使います。ZeqqatはDokployまたはインポートしたAPIへの呼び出しを仲介し、権限とポリシーを適用して応答をサニタイズします。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://zeqqat.com/{org}/mcp/{connection}/{id}claude mcp add --transport http zeqqat-zeqqat https://zeqqat.com/{org}/mcp/{connection}/{id}{"mcpServers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}Cursor で開く{"servers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}VS Code で開く{"mcpServers":{"zeqqat-zeqqat":{"type":"http","url":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}{"mcpServers":{"zeqqat-zeqqat":{"serverUrl":"https://zeqqat.com/{org}/mcp/{connection}/{id}"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
リスクを抑えて、AI が Dokploy にアクセスできるようにします。
ウェブサイト · セルフホストガイド · エージェントのドキュメント · ブログ · Discord
Claude、Claude Code、ChatGPT、Cursor、Gemini、その他あらゆる MCP クライアントで利用できます。
Zeqqat は、セルフホストまたはクラウドで使える、Dokploy 向けの安全なオープンソース MCP です。エージェントは API キーを保持する代わりに、1 つの Zeqqat URL に接続します。Zeqqat が実行可能な操作を判断し、代わりに API を呼び出して、そのすべてを記録します。自分の Dokploy に無料でセルフホストするか、zeqqat.com でホスト版を利用できます。
✨ 機能
- キーをモデルに渡さない:API キーは保存時に暗号化され、エージェントに返されることはありません。
- 応答から機密情報を除去:モデルが見る前に、すべての応答から環境変数、トークン、秘密鍵を取り除きます。
- 接続ごとの権限設定:読み取り、作成、編集、削除を、接続ごとに許可できます。
- ポリシー:リストに記載したツールだけを許可し、ポリシーを他のユーザーと共有できます。
- アクティビティログ:すべてのリクエストについて、依頼者、エージェント、提示された理由、呼び出されたもの、返された内容を確認できます。
- チーム:組織、ワークスペース、ロールを使えるため、チームメイトは共有キーではなく、それぞれ個別のアクセス権を持てます。
- Dokploy API 全体:554 個のすべてのエンドポイントを検索で見つけられるため、エージェントのコンテキストにツール定義が大量に流れ込むことはありません。
- OpenAPI 仕様に基づくあらゆる API:アプリの仕様(Stripe、GitHub、自作のものなど)へのリンクを貼ると、すべてのエンドポイントがアカウント内のツールになります。それぞれの読み取り、作成、編集、削除の権限も推定されます。ダッシュボード、エージェントの
zeqqat_import、またはPOST /api/integrations/importから利用できます。 - 標準 OAuth サインイン:エージェントは OAuth 2.1 で接続し、各トークンは発行対象の接続でのみ使用できます。
- セルフホスト可能:コンテナと Postgres が 1 つずつで、起動時にマイグレーションが適用されます。
🚀 はじめに
Dokploy での利用
- このリポジトリから Docker Compose サービスを作成するか、
docker-compose.ymlを貼り付けます。 - 下記の「設定」に記載されている環境変数を設定します。
- 「Domains」で Generate をクリックして、サーバーを参照する無料のアドレスを生成します(または独自ドメインを使用します)。そのアドレスを HTTPS を有効にした状態で、ポート 3000 の
zeqqatサービスに追加して、デプロイします。 - そのアドレスを開き、最初のアカウントを作成します(このアカウントが Zeqqat の所有者になります)。その後、Dokploy を接続します。
詳しい手順は zeqqat.com/docs/self-host をご覧ください。
Docker を使ってどこでも利用
git clone https://github.com/zeqqat/zeqqat.git
cd zeqqat
cp .env.example .env # fill in the values
docker compose up -d
ローカルで http://localhost:3000 にアクセスするには、docker-compose.yml の ports 行のコメントを外します。
エージェントを接続する
Dokployを接続すると、Zeqqatからhttps://your-zeqqat-address/you/mcp/deployment/a39fのような接続URLが提供されます。これをリモートMCPサーバーとしてエージェントに追加し、求められたらサインインしてください。エージェントは、いくつかの安定したツール(zeqqat_search、zeqqat_describe、zeqqat_run、zeqqat_whoami、zeqqat_policy、zeqqat_secret、zeqqat_import、zeqqat_docs)を通じてDokployにアクセスします。
⚙️ 設定
| 変数 | 必須 | 内容 |
|---|---|---|
ZEQQAT_PUBLIC_URL | はい | インストール先のURL、Dokployが生成するアドレス、または所有するドメイン |
POSTGRES_PASSWORD | はい | 同梱のPostgres用パスワード |
BETTER_AUTH_SECRET | はい | セッションシークレット:openssl rand -base64 32 |
ZEQQAT_ENCRYPTION_KEY | はい | 保存されたAPIキーを暗号化します:openssl rand -base64 32。安全に保管してください。新しいキーを設定すると、保存済みのキーを読み取れなくなります |
ENABLED_AUTH_PROVIDERS | いいえ | password、github、google、emailのいずれかをカンマ区切りで指定します。既定値はpasswordです。最初に作成したアカウントがインストール環境の所有者となり、ほかのユーザーは招待リンクから参加します |
GITHUB_CLIENT_ID、GITHUB_CLIENT_SECRET | GitHubサインインに必要 | コールバック先が<your URL>/api/auth/callback/githubのGitHub OAuthアプリ |
GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET | Googleサインインに必要 | リダイレクトURIが<your URL>/api/auth/callback/googleのGoogle OAuthクライアント |
MAIL_FROMとSMTP_URLまたはRESEND_API_KEY | メールサインインに必要。パスワード認証では任意 | 送信元アドレスと送信方法:任意のSMTPサーバー(smtps://user:[email protected]:465)またはResend APIキーを指定します。emailの場合、ユーザーは6桁のコードでサインインします。passwordの場合、パスワード再設定リンクがメールで送信されます(メール送信機能がない場合は、所有者がチームページでリンクを作成します) |
すべてのオプションは.env.exampleに記載されています。
匿名のインストール状況通知
セルフホスト環境のインストール数と使用中のバージョンを把握するため、セルフホスト環境は起動時と、その後は1日1回、https://zeqqat.com/api/telemetryに少量の通知を送信します。送信内容は次のとおりで、これ以外は送信されません。
{ "installId": "a random UUID made on first start", "version": "0.2.1" }
IPアドレス、ホスト名、ユーザー、メールアドレス、インスタンス、APIキー、接続情報、ツールの呼び出しが送信されることはありません。また、zeqqat.comはIPアドレスを保存しません。コードはlib/telemetry.tsにあります。
無効にするには、ZEQQAT_TELEMETRY=0を設定し(DO_NOT_TRACK=1も使用できます)、再起動してください。
☁️ クラウド版とセルフホスト版
| Zeqqat Cloud | セルフホスト | |
|---|---|---|
| 料金 | ベータ期間中は無料 | 無料のオープンソース |
| セットアップ | zeqqat.comで登録 | Dokploy上でDocker Composeサービスを1つ実行 |
| キーの保存場所 | zeqqat.com上で暗号化 | 独自のサーバー上で暗号化 |
| 機能 | すべて | すべて |
| 更新 | 自動 | 新しいイメージタグを取得 |
🛠️ 開発
Node 22、pnpm 9、Postgresが必要です。
pnpm install
cp .env.example .env
pnpm dev
pnpm checkを実行すると、型チェック、Lint、テストが実行されます。AGENTS.mdではアーキテクチャについて説明しています。Next.js、Postgres、Drizzle、Better Authで構築されています。
貢献者 🤝
🤝 コントリビューション
プルリクエストを送る前に、コントリビューションガイドをお読みください。
🔒 セキュリティ
脆弱性は非公開で報告してください。SECURITY.mdをご覧ください。
📄 ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。