{"_id":"@bossforce.ai/mcp-supabase","name":"@bossforce.ai/mcp-supabase","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bossforce.ai/mcp-supabase","version":"0.1.0","type":"module","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/databases-data/supabase"},"publishConfig":{"access":"public"},"bin":{"bossforce-mcp-supabase":"dist/bin.js"},"dependencies":{"zod":"^4.4.3","@bossforce.ai/mcp-core":"0.3.0"},"devDependencies":{"@bossforce.ai/mcp-testkit":"0.0.0"},"scripts":{"build":"tsc -p tsconfig.json","test":"node --test \"dist/*.test.js\""},"_id":"@bossforce.ai/mcp-supabase@0.1.0","description":"MCP server for the [Supabase](https://supabase.com/) **PostgREST data API**, exposing generic row-level CRUD over any table or view. A good fit for an agent that needs to read or maintain application data stored in Supabase Postgres.","bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","_integrity":"sha512-QLo5m5ZtLhiWxc729Qa2M43De9nLzGOevzaDQWGp82KlNa5UG46tVm9KZIgQLyC6zh+ymiOoGC8efiavz3v7tg==","_resolved":"C:\\Users\\user\\AppData\\Local\\Temp\\8dc7b87d01b46a268785f20c56a50528\\bossforce.ai-mcp-supabase-0.1.0.tgz","_from":"file:bossforce.ai-mcp-supabase-0.1.0.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-QLo5m5ZtLhiWxc729Qa2M43De9nLzGOevzaDQWGp82KlNa5UG46tVm9KZIgQLyC6zh+ymiOoGC8efiavz3v7tg==","shasum":"e171707cc23ef74fe16dd8190ac9cbcc78b261f5","tarball":"https://registry.npmjs.org/@bossforce.ai/mcp-supabase/-/mcp-supabase-0.1.0.tgz","fileCount":26,"unpackedSize":25442,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEr3iPQqj9aMvpicibn+ktnjpPjFtKQ4dOzbnq56dU2YAiEApbARyjq7ua7VfMgGebjjfnbNrTWvxPQ2uFD6dkxLNBY="}]},"_npmUser":{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"},"directories":{},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-supabase_0.1.0_1781237948793_0.25921466535426885"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-12T04:19:08.626Z","0.1.0":"2026-06-12T04:19:08.934Z","modified":"2026-06-12T04:19:09.148Z"},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"description":"MCP server for the [Supabase](https://supabase.com/) **PostgREST data API**, exposing generic row-level CRUD over any table or view. A good fit for an agent that needs to read or maintain application data stored in Supabase Postgres.","homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/databases-data/supabase"},"bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"readme":"# @bossforce.ai/mcp-supabase\n\nMCP server for the [Supabase](https://supabase.com/) **PostgREST data API**,\nexposing generic row-level CRUD over any table or view. A good fit for an agent\nthat needs to read or maintain application data stored in Supabase Postgres.\n\n## Credentials\n\n| Env                         | Secret | How to obtain                                                                                                              |\n| --------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |\n| `SUPABASE_URL`              | no     | Project URL, e.g. `https://xyz.supabase.co`. In the dashboard: Project Settings > API > Project URL.                       |\n| `SUPABASE_SERVICE_ROLE_KEY` | yes    | An API key from Project Settings > API. Use `service_role` to bypass Row Level Security, or the `anon` key to respect RLS. |\n\nCredentials are read lazily, so the server boots and answers `tools/list`\nwithout them; calls fail with an `auth` error until they are set.\n\nThe REST API base URL is built from the project URL\n(`{SUPABASE_URL}/rest/v1`). The key is sent in both the `apikey` and\n`Authorization: Bearer` headers. The `service_role` key bypasses Row Level\nSecurity and should stay server-side; the `anon` key respects RLS policies.\n\n## Tools\n\n| Tool          | Arguments                                                     | Returns       |\n| ------------- | ------------------------------------------------------------- | ------------- |\n| `select_rows` | `table`, `select?`, `filters?`, `order?`, `limit?`, `offset?` | array of rows |\n| `insert_rows` | `table`, `rows`                                               | inserted rows |\n| `update_rows` | `table`, `values`, `filters`                                  | updated rows  |\n| `delete_rows` | `table`, `filters`                                            | deleted rows  |\n\nResponses are PostgREST's native JSON payloads (arrays of rows), returned as\n`structuredContent`.\n\n### Filters\n\n`filters` is an object of `column -> \"operator.value\"` mirroring PostgREST\nsyntax, e.g. `{ \"id\": \"eq.42\", \"age\": \"gte.18\", \"status\": \"in.(open,pending)\" }`.\nOperators include `eq`, `neq`, `gt`, `gte`, `lt`, `lte`, `like`, `ilike`, `in`\nand `is`.\n\n`update_rows` and `delete_rows` require at least one filter, since an unfiltered\nPostgREST statement applies to every row in the table.\n\n## Develop\n\n```bash\npnpm --filter @bossforce.ai/mcp-supabase build\npnpm --filter @bossforce.ai/mcp-supabase test\n```\n\nRegenerate the tools/list snapshot after an intentional signature change:\n\n```bash\nUPDATE_SNAPSHOTS=1 pnpm --filter @bossforce.ai/mcp-supabase test\n```\n","readmeFilename":"README.md","_rev":"1-a51b3e8eab923ac8b70a8fc3bbbefe56"}