mcpField
M
Mako

Mako

リモート
mako.aiデータベース19今日更新
リポジトリ公式サイト

Mako について

Mako はデータチーム向けの AI ネイティブな SQL クライアントで、ブラウザーからデータベースに接続し、データの照会やデータアプリの作成ができます。自然言語による SQL 生成に加え、dbt のワークフローや React アプリ、チーム共同作業を備えています。

主な機能

  1. 01自然言語からの SQL 生成
  2. 02複数のデータベースとデータソースへの接続
  3. 03React データアプリの作成と公開
  4. 04dbt Core プロジェクトの実行とスケジュール
  5. 05クエリとアプリのバージョン履歴
  6. 06チームでのリアルタイム共同作業

活用シーン

  1. 01自然言語でデータを質問し、結果を確認
  2. 02定期更新するデータアプリの作成
  3. 03アプリ内での dbt 変換処理
  4. 04チームでの接続とクエリの共有

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://app.mako.ai/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Mako ロゴ Mako

AI ネイティブな SQL クライアント。

データのための Cursor。 あらゆるデータベースに接続し、AI でクエリを実行して、ブラウザーからライブデータアプリを構築できます。

複雑な SQL や動作の遅い肥大化したデータベースツールに悩まされる必要はありません。平易な英語でクエリを書けば、すぐに結果が得られ、定期的なデータ更新に対応したライブ React アプリに変換できます。

Mako アプリのインターフェース

🚀 Mako を選ぶ理由

AI 時代のために構築された最新の SQL クライアントです。遅いデスクトップツールに代わり、高速で協調的な AI 搭載のエクスペリエンスを提供します。

  • ✨ AI によるクエリ生成:自然言語でクエリを書けます。スキーマを認識する AI が、最適化された SQL をすぐに生成します。
    • 置き換え対象:DataGrip、DBeaver、Postico
  • 🧱 dbt トランスフォーム:dbt Core プロジェクトの構築、実行、スケジュール設定をアプリ内で行えます。ファイル IDE、ジョブ、実行履歴、リネージ、GitHub 同期に対応しています。
    • 置き換え対象:dbt Cloud
  • ⚛️ React アプリ:エージェントに、セキュアで認証情報不要のバインディングを通じてデータに接続するライブ React アプリを構築させることができます。Parquet の定期的なマテリアライズに対応し、ブラウザー内の DuckDB でクエリを実行します。
    • 置き換え対象:Metabase、Looker、Lovable、v0、社内ツールビルダー
  • 🕓 バージョン履歴:コンソールを保存するたびに変更不可のスナップショットが作成され、アプリは Git で管理されます。どちらも履歴を確認して復元できます。
    • 置き換え対象:紛失した SQL ファイル、手動バックアップ
  • 🖥️ Mako Desktop:ローカルエージェントをバンドルしたネイティブアプリで、localhost のデータベースをすぐに利用できます。
    • 置き換え対象:ローカル DB 用の SSH トンネルや踏み台サーバー経由の接続
  • 👥 チームコラボレーション:接続を共有し、クエリをバージョン管理し、リアルタイムで共同作業できます。
    • 置き換え対象:認証情報のやり取り、紛失した SQL ファイル
  • ⚡ 驚異的な高速性:Java や Electron による肥大化はありません。ブラウザーですぐに開き、スムーズに動作します。
    • 置き換え対象:動作の遅いデスクトップデータベースツール

📸 スクリーンショット

AI 搭載コンソール — 平易な英語で依頼するだけで、検証済みのクエリとライブ結果が得られます。

AI 搭載コンソール

トランスフォーム(dbt) — ファイル IDE、ジョブ、実行履歴、リネージを備えた環境で、dbt Core プロジェクトを構築、実行、スケジュール設定できます。

dbt トランスフォーム IDE

アプリ — データに接続したライブ React アプリを構築し、サンドボックス化されたプレビューで表示できます。

React アプリのライブプレビュー

🔌 インテグレーション

データベース
インテグレーションステータス説明
PostgreSQL✅ ライブリレーショナルデータのクエリを実行するために PostgreSQL に接続します
MongoDB✅ ライブ柔軟なドキュメントベースのデータを扱うために MongoDB に接続します
BigQuery✅ ライブGoogle BigQuery で大規模なデータセットを分析します
ClickHouse✅ ライブClickHouse で高速な OLAP クエリを実行します
MySQL✅ ライブ自然言語で MySQL データベースにクエリを実行します
Redshift✅ ライブAmazon Redshift データウェアハウスにクエリを実行します
Cloud SQL✅ ライブGoogle Cloud SQL(Postgres)に接続します
Cloudflare D1✅ ライブCloudflare D1 SQLite データベースにクエリを実行します
Cloudflare KV✅ ライブCloudflare Workers KV を参照してクエリを実行します
データコネクター

外部 SaaS のデータを Mako のデータウェアハウスに同期し、クエリやアプリで利用できます。

インテグレーションステータス説明
Stripe✅ Live決済、サブスクリプション、請求データを追跡します
PostHog✅ Liveプロダクト分析とユーザー行動を分析します
Close.com✅ LiveCRM データ(リード、商談、アクティビティ)を同期します
Claap✅ Live録画データとワークスペースデータを同期します
Calendly✅ Liveイベント、招待者、イベントタイプを同期します
GraphQL✅ Liveカスタムエンドポイントで任意の GraphQL API にクエリを実行します
REST✅ Liveカスタムエンドポイントで任意の REST API にクエリを実行します
BigQuery✅ LiveBigQuery のデータセットをデータウェアハウスに同期します

🏗️ アーキテクチャ

┌─────────────────────────────────────────────────────────┐
│  Frontend (React + Vite)                                │
│  ┌──────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│  │ Console  │ │  Apps        │ │   AI Chat (Vercel   │ │
│  │ (Monaco) │ │  (React +    │ │    AI SDK)          │ │
│  │          │ │   DuckDB)    │ │                     │ │
│  └──────────┘ └──────────────┘ └─────────────────────┘ │
│           ▲          ▲                   ▲              │
│           │     Parquet/Arrow            │              │
│           │     via OPFS cache           │              │
└───────────┼──────────┼──────────────────┼──────────────┘
            │          │                  │
┌───────────┼──────────┼──────────────────┼──────────────┐
│  API (Hono + Node.js)                                  │
│  ┌──────────────────────────────────────────────────┐  │
│  │ Unified Agent (expertise modes: Query /          │  │
│  │   Sync Flow / React App / Transforms /           │  │
│  │   Explore, switched via enable_mode)             │  │
│  └──────────────────────────────────────────────────┘  │
│  ┌──────────────┐ ┌───────────────┐ ┌──────────────┐  │
│  │  DB Drivers   │ │  Connectors   │ │  App binding │  │
│  │  (9 drivers)  │ │  (8 sources)  │ │  engine      │  │
│  │              │ │               │ │  (DuckDB     │  │
│  │              │ │               │ │   + Parquet) │  │
│  └──────────────┘ └───────────────┘ └──────────────┘  │
│                          ▲                             │
│                    ┌─────┴──────┐                      │
│                    │  Inngest   │ (scheduled refresh,   │
│                    │            │  incremental sync)    │
│                    └────────────┘                      │
└────────────────────────────────────────────────────────┘
            │                │
     ┌──────┴──────┐  ┌─────┴──────────┐
     │  MongoDB    │  │  User DBs      │
     │  (metadata, │  │  (PG, BQ, CH,  │
     │   warehouse)│  │   MySQL, etc.) │
     └─────────────┘  └────────────────┘

主な技術選定:

  • DuckDB(サーバー側では @duckdb/node-api、ブラウザー側では @duckdb/duckdb-wasm を使用):アプリバインディング向けの Parquet アーティファクト生成と、ブラウザー内でのそれらに対する SQL 実行を担います
  • Apache Arrow / Parquet:サーバーでクエリ結果を Parquet にマテリアライズし、ゼロコピー描画のために Arrow IPC としてブラウザーに配信します
  • Inngest:スケジュールされたアプリバインディングの更新と増分データ同期のためのイベント駆動型ジョブキューです
  • Hono:API 向けの軽量で高速な HTTP フレームワークです
  • Monaco Editor:SQL コンソール用の VS Code のエディターです
  • Vercel AI SDK:複数のプロバイダーに対応する LLM 抽象化レイヤーです(OpenAI、Anthropic、Google)

📦 アーティファクトストレージ

アプリのデータバインディング(およびアプリのデプロイ、dbt の出力、チャットの添付ファイル)は、バックエンドのアーティファクトストアにマテリアライズされます。以下の設定名はアプリ機能より前から存在しており、すでに削除されたダッシュボード機能に由来します。既存のデプロイが引き続き動作するよう、そのまま維持されています。ストレージバックエンドは 3 種類あります。

  • filesystem -- デフォルト。ファイルをローカルディスクに保存します
  • gcs -- Google Cloud Storage
  • s3 -- S3 互換バケット
DASHBOARD_ARTIFACT_STORE=filesystem

# Optional shared settings
DASHBOARD_ARTIFACT_PREFIX=dashboards
DASHBOARD_ARTIFACT_DIR=/absolute/path/to/artifacts  # filesystem only
Google Cloud Storage
DASHBOARD_ARTIFACT_STORE=gcs
GCS_DASHBOARD_BUCKET=your-bucket-name
DASHBOARD_ARTIFACT_PREFIX=dashboard-artifacts/prod

GCS/S3 の完全なプロビジョニング手順については、ドキュメントをご覧ください。

🛠️ クイックスタート

  1. クローンとインストール

    git clone https://github.com/mako-ai/mako.git
    cd mako
    pnpm install
    
  2. 環境を設定 .env.example がある場合はコピーするか、.env を作成します。

    # Local development connects to the shared `dev` database, an Atlas DB that is
    # refreshed nightly from production. Grab the `dev` connection string from the
    # team vault. (`staging` backs non-migration PR previews; never point local at
    # `production`.)
    DATABASE_URL=mongodb+srv://<user>:<password>@<cluster>.mongodb.net/dev
    ENCRYPTION_KEY=your_32_character_hex_key_for_encryption
    WEB_API_PORT=8080
    BASE_URL=http://localhost:8080
    CLIENT_URL=http://localhost:5173
    
  3. サービスを起動

    # Start the local notebook Python kernel so notebook `code` cells run
    # locally. Requires the KERNEL_* vars from .env.example in your .env.
    # (The dev database is hosted MongoDB Atlas, set via DATABASE_URL.)
    pnpm run docker:up
    
    # Start the full stack (API + App + Inngest)
    pnpm run dev
    
  4. 分析

    • http://localhost:5173 を開いてアプリにアクセスします。
    • データソース(Stripe や Close.com など)を追加します。
    • チャットインターフェースを使って、データについて質問します。

🌐 IP のホワイトリスト登録

データベースで IP のホワイトリスト登録が必要な場合は、次の静的 IP を許可リストに追加してください。

34.79.190.46

この IP は、Mako のクラウドサービスがすべての外部データベース接続に使用します。

💻 開発コマンド

コマンド説明
pnpm run devAPI、フロントエンド、Inngest 開発サーバーを起動します
pnpm run app:dev:scanReact Scan と描画デバッグログを有効にしてフロントエンドを起動します
pnpm run migrateデータベースのマイグレーションを実行します
pnpm run docker:upローカルのノートブック Python カーネルを起動します(ノートブックのコードセルを実行)
pnpm run testテストスイートを実行します
pnpm run buildすべてのパッケージをビルドします
pnpm run docs:devドキュメントサイトをローカルで起動します

🔎 React のパフォーマンスプロファイリング

再レンダリングの頻発、ストリーミングチャットの応答性、Monaco コンソールのパフォーマンス、またはエクスプローラー/結果テーブルの操作性を調査する際は、React Scan を使用してください。

pnpm run app:dev:scan

これにより、VITE_REACT_SCAN=true を介して React Scan Vite プラグインが有効になり、VITE_RENDER_DEBUG=true を介して Mako のレンダーデバッグログが有効になります。React Scan はブラウザーで再レンダリングされるコンポーネントを強調表示し、レンダーデバッグログは Chat、ResourceTree、Console、ResultsTable などの頻繁に更新されるコンポーネントが変化した理由を要約します。

通常の開発では React Scan をオフにしてください。プラグインとデバッグフックは環境変数フラグによって制御されるため、通常の pnpm run app:dev 実行時にプロファイリングオーバーレイや追加のデバッグログは表示されません。

🤝 コミュニティとサポート


Mako チームが ❤️ を込めて開発しました。オープンソースで、セルフホスト可能です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。