Skip to main content
Glama
649,985 tools. Updated 2026-10-11 02:29

"How to Connect to a PostgreSQL Database" matching MCP tools:

  • Read-only inspector for workspace integrations. Operations: "list" enumerates the registered providers (currently slackbot, hubspot, gmail, googledocs, notion, confluence, salesforce, prodege) and connection status; "connect" returns a setup URL the user opens in a browser to complete OAuth, or, for providers connected with customer-issued keys (prodege), a page where the user pastes those keys; "search_tools" returns the available action slugs (e.g., SLACKBOT_SEND_MESSAGE, HUBSPOT_SUBMIT_FORM, GMAIL_SEND_EMAIL) for a connected provider. Behavior: - Read-only. Does NOT itself perform OAuth — "connect" just hands a setup URL back so the user can finish the connection in the web app. - Never ask the user for API keys or secrets in chat — they are only ever entered on the setup_url page. Share the link and ask the user to reply "Done" once saved. - Errors when the workspace is not found or you do not have access. - search_tools returns success: false with "No active <provider> connection. Use 'connect' operation first." when the provider is not connected. Limit is 10 tools per search. - Required params per operation: connect needs provider; search_tools needs provider and query. MCP schema validation rejects missing or unrelated operation arguments before execution; the handler retains equivalent errors for non-MCP callers. When to use this tool: - Checking which integrations the workspace has connected before configuring an automation that talks to one of them. - Surfacing the setup URL to the user when they want to connect a provider. - Discovering action slugs to populate provider-backed automations. When NOT to use this tool: - Creating or modifying automations — use automation_create / automation_update after the provider is connected. - Sending a real message to test a provider wiring — create the automation first, then run automation_test. Examples: - List: `{ "operation": "list" }` - Connect: `{ "operation": "connect", "provider": "slackbot" }` - Search: `{ "operation": "search_tools", "provider": "hubspot", "query": "create contact" }`
    ConnectorOAuth
  • Decode a database error and get the fix and the next step — no connection needed. Paste a MySQL error number (1213, 1062, 1452, 1205…) or a PostgreSQL SQLSTATE (40P01, 23505, 53300…), optionally with the failing statement, and get the proximate cause, the concrete fix, and — when it helps — the SIXTA tool and artifact to go deeper (e.g. a deadlock → paste SHOW ENGINE INNODB STATUS for sixta_explain_deadlock). Use when the user pastes a DB error code or message. Input is analyzed in memory and never stored.
    ConnectorOAuth
  • Show your account's compute, database-RAM, and storage pools: how much you've bought, how much is used, and how much is free, plus every app's current size. Call this before any resize tool (the allowed sizes come from its steps fields), and to explain to the user why an app ran out of memory or a deploy was refused for capacity.
    ConnectorNo auth
  • Get the wiring instructions for connecting an MCP client to ~alter. The name is historical and this recommends nothing: it hands back connection details, not a suggested tool. Use it when adding ~alter to a new MCP client, or when passing the endpoint to another agent so it can connect for itself. Returns the MCP endpoint URL, a ready-to-paste JSON configuration snippet, and how many tools are callable at each tier. Takes no parameters and reads no member data. Free L0, no authentication required.
    ConnectorNo auth
  • Returns the prepaid spending balance of the connected PikaSim agent wallet, in USD. Read-only; makes no changes. Call this before purchase_esim or purchase_phone_plan to confirm sufficient funds, or any time you need the current balance. Requires a connected agent wallet (OAuth or ak_live_ key). If no wallet is connected, the result explains how to connect one.
    ConnectorNo auth
  • Read one file attached to a wiki page — its bytes, base64-encoded — identifying the page by 'pageId' or by 'spaceKey' + 'title' and the file by 'filename' as get_wiki_page lists it. This is how a file is copied from one page to another: read it here, write it with add_wiki_attachment. The bytes travel as text through the conversation and cost roughly a third more than the file itself, so there is a size ceiling; for anything larger — or for putting the file on disk — the pm-files MCP server saves it to a path instead (local_files_setup says how to connect it). Reading needs only permission to see the page.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to securely connect to and manage remote servers via SSH, with tools for running commands, file operations, log inspection, service management, and system monitoring under configurable access controls and audit logging.
    12
    15 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A minimal MCP server with get_weather and create_ticket tools, used for testing MCP servers across protocol, unit, eval, transport, and auth layers.
    MIT

Matching MCP Connectors

  • Push rows from a dataset, file or Google Sheet into a Postgres, Supabase, Neon or MySQL table.

  • Remote MCP server for converting PDFs and scanned documents to Markdown with OCR, and Markdown to PDF. Provides asynchronous conversion jobs, result retrieval, and usage checks; requires a PDF to MD API key.

  • Set an environment variable for a project. Variables are encrypted at rest (AES-256-GCM) and injected at container runtime. NOTE: DATABASE_URL, PGHOST, PGPORT, PGUSER, PGPASSWORD, and PGDATABASE are all auto-injected for the managed PostgreSQL database — you do NOT need to set any of them manually. The PORT variable is auto-managed: 8080 for auto-detected frameworks (Next.js, Node.js, Python), or auto-detected from the Dockerfile EXPOSE directive for custom Dockerfile builds. IMPORTANT: Changing env vars does NOT auto-redeploy. You must call deploy or use the redeploy API endpoint to apply changes. For Next.js apps, NEXT_PUBLIC_* variables must be set BEFORE deploying since they are embedded at build time.
    Connector
    Destructive
    No auth
  • Provision a Floot-managed backend resource for the project — fully server-side (Floot mints all secrets; no keys to paste). Also seeds the working code for it. Available: - database — A Floot-managed Postgres database (Neon). FLOOT_DATABASE_URL is set for the app. - auth — Email/password + session auth (JWT_SECRET, auto-provisions a database if none). Injects auth pages, endpoints, and helpers. - oauth-login — Sign in with Google via Floot's brokered OAuth (FLOOT_OAUTH). Injects OAuth provider classes, login buttons, helpers. - microsoft-login — Sign in with Microsoft via Floot's brokered login (FLOOT_MICROSOFT_LOGIN). Injects button + auth endpoints. - google-integration — FLOOT_GOOGLE_INTEGRATIONS is built-in Google integration. Use it to let end users connect their Google account so the app can read/write their Gmail, Google Calendar, or Google Drive — unless the user specifies they want to use their own Google client. See get_guides("floot-provided-google-integrations"). - microsoft-integration — Microsoft Graph access (Outlook/Teams/etc.) via Floot's brokered Microsoft OAuth (FLOOT_MICROSOFT_INTEGRATIONS). Injects Connect button + endpoints. - push-notifications — Web + native push (FLOOT_PUSH). Mints VAPID keys, injects helpers/pushClient (subscribe/unsubscribe) + a service worker. Enum values not listed above are beta-gated and unavailable on most accounts. SENDING email from the app is NOT a resource — the builtin @floot/email handles it with zero setup (get_guides("email")). For a user's OWN external key (their OpenAI key, an external database), this is NOT the tool — use request_external_resource instead. Idempotent: re-running returns the existing resource and skips seed files that already exist. - app-connection — let this project's backend call functions ANOTHER Floot app exports (no API keys): pass app_target and app_functions. Only apps the user can edit, only functions in the other app's helpers/flootAppExports.tsx (saved is enough: write both apps first, connect, then publish both); the user confirms in a dialog. Read get_guides("app-calls") first.
    ConnectorOAuth
  • In-chat Vilix help. Call this when the user asks what Vilix is, how to connect a specific AI tool, how to use Vilix day to day, or about the discount / creator offer — and relay the returned `text` (it's written to be read to the user). The agent is the main onboarding surface, so prefer answering here over sending the user to a website. Returns one topic's short, chat-sized answer with a plain-text `text` you can always read out, plus structured fields a guide-card UI can render: relevant `assets` (connect/demo links), `tools` (connectable tools), and the creator-`offer` state. For "how do I make this automatic" the answer points you at the get_setup_instructions tool — call that for the exact paste-in block. `topic` (optional) — what the user is asking about: "overview" (what Vilix is / how to use it, the default), "connect", "using_daily", "make_it_automatic", or "offer" (the creator discount). Free-form labels are accepted and mapped. `tool` (optional) — the AI tool the question is about (e.g. "ChatGPT", "Cursor"), to scope connect / asset links. `viewed` (optional) — log a downstream interaction with what you surfaced: "asset_viewed" when the user opens a demo link, or "custom_instructions_copied". Omit otherwise.
    ConnectorOAuth
  • Attach a file to an issue: pass its bytes as 'contentBase64', or its content as 'text' when the file is text. Attaching a filename the issue already has replaces that file rather than adding a second copy, so retrying this call cannot double it. A file on the person's own disk — a screenshot, a PDF — is better attached by path through the pm-files MCP server than typed out as base64; local_files_setup says how to connect it. Returns the attachment's download URL. Requires permission to edit issues in that project.
    ConnectorNo auth
  • 🔌 Connect a messaging channel to this workspace, or find out how. Call with no `channel` for the catalogue: every channel, its connect_mode and its link. Call with `channel` only to learn what to ask the person for (credential_fields). Call with `channel` + `credentials` to connect a credentials channel: email over IMAP with an app password, telegram_bot with a bot token, line with the channel access token and channel secret, avito. Channels that need a QR scan, a phone code or a browser sign-in (telegram, whatsapp, instagram, facebook, email (Google sign-in), youtube, tiktok, x, threads, linkedin, wechat, zalo, maxru, the voice carriers) cannot be connected from here: the tool answers success with needs_person=true and the link https://dialogbrain.com/connect/<channel>, which opens the connection dialog for that channel. Give the person that link; do not tell them to look for it in settings. A website widget is not connected here at all: use widgets.create.
    ConnectorAPI key
  • 🔌 Connect a messaging channel to this workspace, or find out how. Call with no `channel` for the catalogue: every channel, its connect_mode and its link. Call with `channel` only to learn what to ask the person for (credential_fields). Call with `channel` + `credentials` to connect a credentials channel: email over IMAP with an app password, telegram_bot with a bot token, line with the channel access token and channel secret, avito. Channels that need a QR scan, a phone code or a browser sign-in (telegram, whatsapp, instagram, facebook, email (Google sign-in), youtube, tiktok, x, threads, linkedin, wechat, zalo, maxru, the voice carriers) cannot be connected from here: the tool answers success with needs_person=true and the link https://dialogbrain.com/connect/<channel>, which opens the connection dialog for that channel. Give the person that link; do not tell them to look for it in settings. A website widget is not connected here at all: use widgets.create.
    ConnectorAPI key
  • 🔌 Connect a messaging channel to this workspace, or find out how. Call with no `channel` for the catalogue: every channel, its connect_mode and its link. Call with `channel` only to learn what to ask the person for (credential_fields). Call with `channel` + `credentials` to connect a credentials channel: email over IMAP with an app password, telegram_bot with a bot token, line with the channel access token and channel secret, avito. Channels that need a QR scan, a phone code or a browser sign-in (telegram, whatsapp, instagram, facebook, email (Google sign-in), youtube, tiktok, x, threads, linkedin, wechat, zalo, maxru, the voice carriers) cannot be connected from here: the tool answers success with needs_person=true and the link https://dialogbrain.com/connect/<channel>, which opens the connection dialog for that channel. Give the person that link; do not tell them to look for it in settings. A website widget is not connected here at all: use widgets.create.
    ConnectorAPI key
  • List connected social accounts (X/Twitter, Bluesky, LinkedIn, Mastodon and Telegram; Threads, Instagram and Facebook coming soon), with `accounts_limit` (how many the plan allows to be active) and `accounts_active` (how many are) beside them, which say whether there is room to connect another. Accounts with `is_active: false` are connected but not publishing; `inactive_reason` says why: `"plan_limit"` means the account was connected while the plan's account limit was already full and can be switched on with chirpie_activate_account, while `"token_revoked"`, `"token_expired"` and `"reauth_required"` mean the platform stopped accepting the stored credential, so the account has to be connected again and anything it had scheduled was cancelled with its quota returned. Retrying a post does not bring an inactive account back: `inactive_reason` says whether chirpie_activate_account or a fresh connect does. An account switched off deliberately carries no reason at all, and chirpie_activate_account switches it back on. Reconnecting an account already held never needs a free slot. `scheduled_posts` is how many scheduled posts are queued against the account, all of which chirpie_deactivate_account would cancel. On LinkedIn, `account_type` says whether the account is the member's own profile (`"member"`) or a LinkedIn Page they administer (`"organization"`); both post the same way, with their own `id`.
    ConnectorAPI key
  • List the customer's recent Fold orders (most recent first, max 10). If the customer has connected their Fold account to this assistant, returns each order's code, status, dates and address — no email needed. Without a connected account, only says how many recent orders exist (order codes are never revealed from an email alone, for privacy) — use the order code from the customer's confirmation text/email with track_order, or ask them to connect Fold.
    ConnectorNo auth
  • The signed-in Epsilon account behind this session: account id, handle, linked wallets (embedded first), the scopes this client was granted, and which client is connected. Call it first after sign-in to learn the wallet address other tools need. Requires an OAuth session (connect to /mcp/account); on the keyless /mcp endpoint it explains how to sign in instead.
    ConnectorAPI key
  • Call this whenever the user proposes a migration / DDL change or asks 'is this safe to run' — before answering from memory. Whether a migration locks the table is version-specific (exactly which MySQL 8.0.x or PostgreSQL version makes an ALTER lock-free, INSTANT vs INPLACE vs COPY eligibility), and model recall of those version boundaries is unreliable — this is where answering from memory most often ships an outage. Returns an explicit safety verdict per statement (Critical/High/Medium/Info), the exact lock taken and what it blocks, the MySQL algorithm verdict with version-specific eligibility, PostgreSQL rewrite triggers, replication and MDL-starvation warnings, and the safe execution strategy (CREATE INDEX CONCURRENTLY, NOT VALID + VALIDATE, gh-ost / pt-osc) as ready-to-run SQL. Optional table size/FK/trigger hints sharpen duration estimates; for entitled Connect Pro orgs these are filled from live production context automatically (an explicit argument still wins). Findings are deterministic, treat them as ground truth. Input is analyzed in memory and never stored.
    ConnectorOAuth
  • Reconstruct a database deadlock from the raw dump — no connection needed. Paste the LATEST DETECTED DEADLOCK section of MySQL's SHOW ENGINE INNODB STATUS, or a PostgreSQL 'deadlock detected' log entry, and get: which transaction held and waited for which lock, the inconsistent lock-ordering that caused the cycle, which transaction was rolled back, and the consistent-ordering / short-transaction / retry fix. Use when the user pastes a deadlock dump or asks 'why did this deadlock'. Input is analyzed in memory and never stored.
    ConnectorOAuth
  • Change how much memory an app's managed database gets. Call this when the database is slow or out of memory. db_ram_mb must be one of the sizes get_resource_usage reports under db_ram.steps_mb and fit your database-RAM pool. WARNING: the database restarts briefly to apply the new size, so the app loses its database connection for a few seconds. Only works if the app has a managed database.
    ConnectorNo auth
  • Search documentation with hybrid semantic (vector) and keyword (BM25) search. Use semanticWeight to choose keyword-only (0), semantic-only (1), or a blend; mid values fuse rankings with RRF. Supports Tiger Cloud (TimescaleDB), PostgreSQL, and PostGIS.
    ConnectorNo auth
  • Create a database user for a Cloud SQL instance. * This tool returns a long-running operation. Use the `get_operation` tool to poll its status until the operation completes. * When you use the `create_user` tool, specify the type of user: `CLOUD_IAM_USER`, `CLOUD_IAM_SERVICE_ACCOUNT`, or `BUILT_IN`. * By default the newly created user is assigned the `cloudsqlsuperuser` role, unless you specify other database roles explicitly in the request. * You can use a newly created user with the `execute_sql` tool if the user is a currently logged in IAM user. The `execute_sql` tool executes the SQL statements using the privileges of the database user logged in using IAM database authentication. The `create_user` tool has the following limitations: * To create a built-in user with password, use the `password_secret_version` field to provide password using the Google Cloud Secret Manager. The value of `password_secret_version` should be the resource name of the secret version, like `projects/12345/locations/us-central1/secrets/my-password-secret/versions/1` or `projects/12345/locations/us-central1/secrets/my-password-secret/versions/latest`. The caller needs to have `secretmanager.secretVersions.access` permission on the secret version. * The `create_user` tool doesn't support creating a user for SQL Server. To create an IAM user in PostgreSQL: * The database username must be the IAM user's email address and all lowercase. For example, to create user for PostgreSQL IAM user `example-user@example.com`, you can use the following request: ``` { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance":"test-instance", "project": "test-project" } ``` The created database username for the IAM user is `example-user@example.com`. To create an IAM service account in PostgreSQL: * The database username must be created without the `.gserviceaccount.com` suffix even though the full email address for the account is`service-account-name@project-id.iam.gserviceaccount.com`. For example, to create an IAM service account for PostgreSQL you can use the following request format: ``` { "name": "test@test-project.iam", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } ``` The created database username for the IAM service account is `test@test-project.iam`. To create an IAM user or IAM service account in MySQL: * When Cloud SQL for MySQL stores a username, it truncates the @ and the domain name from the user or service account's email address. For example, `example-user@example.com` becomes `example-user`. * For this reason, you can't add two IAM users or service accounts with the same username but different domain names to the same Cloud SQL instance. * For example, to create user for the MySQL IAM user `example-user@example.com`, use the following request: ``` { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance": "test-instance", "project": "test-project" } ``` The created database username for the IAM user is `example-user`. * For example, to create the MySQL IAM service account `service-account-name@project-id.iam.gserviceaccount.com`, use the following request: ``` { "name": "service-account-name@project-id.iam.gserviceaccount.com", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } ``` The created database username for the IAM service account is `service-account-name`.
    ConnectorNo auth