mcpField
M
Mako

Mako

远程服务
mako.ai数据库19今天更新

关于 Mako

Mako 是面向数据工作的 AI 原生 SQL 客户端,可在浏览器中连接数据库、查询数据并构建数据应用。它结合自然语言生成 SQL、dbt 工作流和 React 应用发布,并支持团队协作。

主要功能

  1. 01自然语言生成 SQL
  2. 02连接多种数据库与数据源
  3. 03构建并发布 React 数据应用
  4. 04运行和安排 dbt 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 应用:让 Agent 构建实时 React 应用,通过安全、无需凭据的绑定连接到你的数据——按计划将数据物化为 Parquet 文件,并在浏览器中使用 DuckDB 查询。
    • 替代:Metabase、Looker、Lovable、v0、内部工具构建器
  • 🕓 版本历史记录:每次保存控制台都会生成不可变快照,应用则存储在 git 中——可浏览并还原两者。
    • 替代:丢失的 SQL 文件、手动备份
  • 🖥️ Mako Desktop:原生应用,内置本地 Agent,开箱即用地支持 localhost 数据库。
    • 替代:用于本地数据库的 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✅ Live同步 CRM 数据(潜在客户、商机、活动)
Claap✅ Live同步录制内容和工作区数据
Calendly✅ Live同步活动、受邀者和活动类型
GraphQL✅ Live使用自定义端点查询任意 GraphQL API
REST✅ Live使用自定义端点查询任意 REST API
BigQuery✅ Live将 BigQuery 数据集同步到数据仓库

🏗️ 架构

┌─────────────────────────────────────────────────────────┐
│  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:VS Code 的编辑器,用于 SQL 控制台
  • Vercel AI SDK:多供应商 LLM 抽象层(OpenAI、Anthropic、Google)

📦 工件存储

应用数据绑定(以及应用部署、dbt 输出和聊天附件)会在后端物化到工件存储中。以下配置名称早于应用功能——它们源自现已移除的仪表板功能——并予以保留,以确保现有部署继续正常运行。提供三种存储后端:

  • 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

Mako 云服务的所有出站数据库连接都会使用此 IP。

💻 开发命令

命令描述
pnpm run dev启动 API、前端和 Inngest 开发服务器
pnpm run app:dev:scan使用 React 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 团队倾情打造。开源且可自托管。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。