
Mako
io.github.mako-aiPublished by GitHub account mako-aiv1.0.0Updated Oct 24, 2026
Explore your databases, validate SQL, and build & publish data apps in your Mako workspace.
Overview
Mako is a remote, OAuth-protected MCP endpoint for its AI-native SQL client, letting an assistant explore databases, validate SQL, and build and publish data…
- What you can do
- Explore connected databases and inspect schemas across PostgreSQL, MongoDB, BigQuery, ClickHouse, MySQL, Redshift, Cloud SQL, Cloudflare D1 and KV
- Generate, validate and run SQL queries from natural-language questions, with versioned console snapshots
- Build and publish live React data apps wired to query results through credential-free bindings
- Work with dbt Core transforms: projects, jobs, run history and lineage
- Sync external SaaS data (Stripe, PostHog, Close.com, Calendly, GraphQL, REST and others) into the workspace warehouse
- When to use it
- Useful when your data lives in Mako and you want an assistant to query it in plain English, check SQL before running it, or scaffold and publish data apps and dbt transforms without switching to the Mako web console.
- Requirements
- A remote MCP endpoint at app.mako.ai reached over streamable HTTP, with OAuth sign-in to a Mako workspace. Databases or data connectors must already be configured in that workspace. No local package, environment variables or headers are declared.
Installation
In SourceWeft
- Open Mako in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- 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.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.mako-ai%2Fmako/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"mako": {
"type": "http",
"url": "https://app.mako.ai/api/mcp"
}
}
}README
[Mako Logo] Mako
The AI-native SQL Client.
The Cursor for Data. Connect to any database, query with AI, and build live data apps -- all from your browser.
Stop wrestling with complex SQL and slow, bloated database tools. Write queries in plain English, get instant results, and turn them into live React apps with scheduled data refresh.
🚀 Why Mako?
A modern SQL client built for the AI era, replacing slow desktop tools with a fast, collaborative, AI-powered experience.
- ✨ AI Query Generation: Write queries in natural language. Our schema-aware AI generates optimized SQL instantly.
- Replaces: DataGrip, DBeaver, Postico
- 🧱 dbt Transforms: Build, run, and schedule dbt Core projects in-app -- file IDE, jobs, run history, lineage, and GitHub sync.
- Replaces: dbt Cloud
- ⚛️ React Apps: Ask the agent to build live React apps wired to your data through secure, credential-free bindings -- scheduled Parquet materialization, queried with DuckDB in the browser.
- Replaces: Metabase, Looker, Lovable, v0, internal-tool builders
- 🕓 Version History: Every console save is an immutable snapshot, and apps live in git -- browse and restore either.
- Replaces: Lost SQL files, manual backups
- 🖥️ Mako Desktop: Native app that bundles a local agent so
localhostdatabases work out of the box.- Replaces: SSH tunnels and bastion hops for local DBs
- 👥 Team Collaboration: Share connections, version-control queries, and work together in real-time.
- Replaces: Passing credentials around, lost SQL files
- ⚡ Blazing Fast: No Java or Electron bloat. Opens instantly in your browser and runs smooth.
- Replaces: Slow desktop database tools
📸 Screenshots
AI-powered console — ask in plain English, get a verified query and live results.
Transforms (dbt) — build, run, and schedule dbt Core projects with a file IDE, jobs, run history, and lineage.
Apps — build live React apps wired to your data, rendered in a sandboxed preview.
🔌 Integrations
Databases
Data Connectors
Sync external SaaS data into Mako's data warehouse for querying and apps.
🏗️ Architecture
Key technology choices:
- DuckDB (both server-side via
@duckdb/node-apiand browser-side via@duckdb/duckdb-wasm): powers Parquet artifact generation for app bindings and in-browser SQL over them - Apache Arrow / Parquet: server materializes query results into Parquet, served to browser as Arrow IPC for zero-copy rendering
- Inngest: event-driven job queues for scheduled app binding refresh and incremental data sync
- Hono: lightweight, fast HTTP framework for the API
- Monaco Editor: VS Code's editor for the SQL console
- Vercel AI SDK: multi-provider LLM abstraction (OpenAI, Anthropic, Google)
📦 Artifact Storage
App data bindings (and app deployments, dbt outputs, and chat attachments) are materialized into an artifact store on the backend. The configuration names below predate apps -- they come from the since-removed dashboards feature -- and are kept so existing deployments keep working. Three storage backends:
filesystem-- default; stores files on local diskgcs-- Google Cloud Storages3-- S3-compatible bucket
Google Cloud Storage
See the docs for full GCS/S3 provisioning instructions.
🛠️ Quick Start
-
Clone & Install
-
Configure Environment Copy
.env.example(if available) or create.env: -
Start Services
-
Analyze
- Open http://localhost:5173 to access the app.
- Add a Data Source (e.g., Stripe or Close.com).
- Use the chat interface to ask questions about your data.
🌐 IP Whitelisting
If your database requires IP whitelisting, add the following static IP to your allowlist:
This IP is used by Mako's cloud service for all outbound database connections.
💻 Development Commands
🔎 React Performance Profiling
Use React Scan when working on render churn, streaming chat responsiveness, Monaco console performance, or explorer/result table interactions:
This enables the React Scan Vite plugin via VITE_REACT_SCAN=true and turns on Mako's render-debug logs via VITE_RENDER_DEBUG=true. React Scan highlights components that re-render in the browser, while render-debug logs summarize why hot components such as Chat, ResourceTree, Console, and ResultsTable changed.
Keep React Scan off during normal development. The plugin and debug hooks are gated behind env flags so regular pnpm run app:dev runs without profiling overlays or extra debug logging.
🤝 Community & Support
- Documentation: docs.mako.ai
- GitHub: mako-ai/mako
- Website: mako.ai
Built with ❤️ by the Mako Team. Open Source and self-hostable.
Source: README.md at commit e36e3e0
Tools
0Version history
1- v1.0.0LatestSep 16, 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 listed15 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