Quickbase MCP Setup Guide
This guide explains how to wire the vendored Quickbase MCP server into Sasha so Claude can automate Quickbase apps. Follow it when provisioning new environments or rotating credentials.
Prerequisites
- A Quickbase realm (e.g.,
acme.quickbase.com) and an app ID that Sasha can manage. - A Quickbase user token scoped to the app above. Grant table-level permissions for every table Claude should touch.
- Claude CLI installed and authenticated (
claude --versionworks) because registrations run throughclaude mcp add. - Sasha repo cloned with the vendored server at
integrations/mcp/quickbase/(tracked in git).
Generate a Quickbase user token
- In Quickbase, open My Apps β User tokens.
- Click New user token and name it something like Sasha MCP.
- Select the target app ID and grant access to every table Sasha will automate.
- Copy the token (looks like
QB-xxxxxx). You only see it onceβstore it in your password manager.
Installation & Builds
The repo already includes the compiled server, but if you update dependencies run:
cd integrations/mcp/quickbase
npm install # optional if you need to refresh node_modules
npm run build # not required for the current JS-only entrypoint
node smoke-test.js # requires valid Quickbase env vars
The project ships with a committed
node_modules/mirror so Docker builds donβt hit the network. Keep it in sync withpackage.jsonif you upgrade the SDK.
Configuration in Sasha
- Navigate to Settings β Tools β Quickbase Workspace Automation.
- Fill in:
- Realm hostname (host only, e.g.,
acme.quickbase.com). - App ID (e.g.,
bq8xk2hj). - User token (paste once; it is encrypted at rest).
- Optional defaults: table ID, report ID, timeout, retry count.
- Realm hostname (host only, e.g.,
- Click Save configuration.
- Run Test connection β this invokes
quickbase_test_connectionvia the MCP smoke harness. - Once the smoke test passes, click Register to run
claude mcp add quickbase ....
The settings UI persists everything to /home/sasha/config/mcp/quickbase.json. The user token is encrypted via the shared secretStore helper.
Manual CLI registration
If you need to register from a terminal, use:
claude mcp add quickbase \
--env QB_REALM=acme.quickbase.com \
--env QB_APP_ID=bq8xk2hj \
--env QB_USER_TOKEN=qbtoken_xxx \
-- integrations/mcp/quickbase/run-quickbase-mcp.js
Use claude mcp remove quickbase to deregister.
Smoke Testing
integrations/mcp/quickbase/smoke-test.js launches the server over stdio and executes quickbase_test_connection. It requires the same env vars as runtime:
cd integrations/mcp/quickbase
QB_REALM=acme.quickbase.com \
QB_APP_ID=bq8xk2hj \
QB_USER_TOKEN=qbtoken_xxx \
node smoke-test.js
The script logs the available tools and captures a 500-character snippet so operators can confirm the API responded.
Troubleshooting
| Symptom | Fix |
|---|---|
Quickbase MCP run script not found |
Ensure integrations/mcp/quickbase/run-quickbase-mcp.js exists and is executable (chmod +x). |
Quickbase credentials are incomplete |
Realm, app ID, and token must all be present. Save them in the UI before testing/registration. |
Quickbase API error 401/403 |
Verify the user token is scoped to the correct app and tables; rotate the token if revoked. |
Registration succeeds but CLI shows β |
The wrapper may not inherit your Node env (nvm). Use absolute paths or the provided run script. |
| Smoke test hangs | Make sure Claude CLI is installed and not prompting for analytics; also confirm the Quickbase API isnβt behind a VPN. |
File Locations
- Server entrypoint:
integrations/mcp/quickbase/index.js - Wrapper:
integrations/mcp/quickbase/run-quickbase-mcp.js - Smoke test:
integrations/mcp/quickbase/smoke-test.js - Config file:
/home/sasha/config/mcp/quickbase.json - UI card:
claudecodeui/src/components/ToolsSettings.jsx(renderQuickbaseIntegration) - Service layer:
claudecodeui/server/services/quickbaseMcpService.js
Keep this guide alongside the AWS Cost/CloudWatch playbooks so operators can repeat the process quickly when rotating tokens or cloning environments.