Aurabase Logo
aurabasedocs
docs›Reference›MCP Server

MCP Server

Control your Aurabase backend from Claude Desktop, Cursor, Windsurf, VS Code or any Model Context Protocol compatible client — 65 tools, no manufactured value.

6 min read·Level reference·Revised on Aug 10, 2026
This English text was generated automatically from the French original and has not been reviewed yet.
#
Installation

npx, no global installation

terminalbash
npx @aurabase/mcp-server \
  --url http://localhost:8080 \
  --project-id <uuid> \
  --service-role-key aura_sk_…

Claude Desktop / Cursor / Windsurf — claude_desktop_config.json or equivalent:

claude_desktop_config.jsonjson
{
  "mcpServers": {
    "aurabase": {
      "command": "npx",
      "args": ["-y", "@aurabase/mcp-server"],
      "env": {
        "AURABASE_URL": "http://localhost:8080",
        "AURABASE_PROJECT_ID": "<uuid>",
        "AURABASE_SERVICE_ROLE_KEY": "aura_sk_…"
      }
    }
  }
}
#
Principle

A tool returns the response from the backend, or an error

Never a manufactured value. This rule is not an intention: it is checked at each execution of the CI by a bench which launches the server against a dead URL and fails if the slightest tool responds successfully. Each tool also declares an output schema that the SDK validates before emitting the response.

Astuce

Read-only mode (--read-only) removes mutating tools from the catalog, and instructs PostgreSQL to execute the SQL in a read-only transaction — the guarantee comes from the engine, not just from client-side filtering.

#
Options

Flags and environment variables

--url``AURABASE_URLAurabase instance URL

--project-id``AURABASE_PROJECT_IDProject ID

--service-role-key``AURABASE_SERVICE_ROLE_KEYAdmin Key

--read-only``AURABASE_READ_ONLYOnly exposes reading tools (24 of 65)

--allowed-tools``AURABASE_ALLOWED_TOOLSWhitelist, separated by commas

--transport``—stdio (default) or http

--auth-token``AURABASE_MCP_AUTH_TOKENToken required on /mcp — required in http mode

#
65 tools

Distributed by domain

62 presentations with a simple project key, 3 reserved for the management plan (API keys — better no tool than a tool that systematically fails without this channel).

Database (19)list_tables, execute_sql, query_table, call_rpc, create_sql_function, create_sql_trigger…
Storage (9)list_buckets, create_bucket, upload_file, create_signed_url…
Auth (7)list_users, create_user, ban_user, generate_link…
Edge Functions (6)invoke_function, deploy_function, set_function_env…
RLS (6)list_rls_policies, create_rls_policy, toggle_rls, get_security_advisors…
AI (5)index_document, rag_query, vector_search, ai_completion…
Notifications (4)send_email, send_sms, send_push_notification…
Project (4)project_info, list_all_projects, switch_project…
API keys (3)create_api_key, list_api_keys, revoke_api_key (channel management)
Observability (1)get_project_metrics
Realtime (1)list_realtime_channels

The *_sql_function / *_sql_trigger tools create real PostgreSQL functions and triggers stored in the project schema — unrelated to list_functions / deploy_function (Edge Functions WASM, a separate runtime).

#
Transportation

stdio by default, HTTP for remote use

stdio remains the recommended mode — the MCP spec recommends it and it is the one used by local clients. The http mode:

  • listens on 127.0.0.1 by default;
  • requires a token (--auth-token) — without it, the server refuses to start;
  • validates the Origin header and responds 403 to an unauthorized origin;
  • one server instance per session, with expiration and configurable cap.
Last updated · Aug 10, 2026