MCP server for BitScale — connect your BitScale workspace to Claude
Project description
BitScale MCP Server
Connect your BitScale workspace to Claude via the Model Context Protocol (MCP).
Setup
1. Install uv (one-time)
macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. Add to Claude Desktop config
Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) and add:
{
"mcpServers": {
"bitscale": {
"command": "uvx",
"args": ["bitscale-mcp"],
"env": {
"BITSCALE_API_KEY": "your_api_key_here"
}
}
}
}
3. Restart Claude Desktop
That's it. No cloning, no pip install — uvx pulls and runs the package automatically.
Tools
| Tool | Description |
|---|---|
get_workspace_details |
Get workspace plan, credit balances, search limits, and member counts |
list_grids |
List all grids with optional search & pagination, returns column definitions |
get_grid_details |
Get a grid's full schema — columns, settings, and data sources |
get_grid_curl |
Get a ready-to-use curl command and API contract for running a grid — call this first to discover required inputs |
run_grid |
Run a grid by providing input values, supports sync and async modes |
get_run_status |
Poll the status of an async or timed-out grid run by request_id |
rotate_api_key |
Rotate the workspace API key (irreversible, invalidates current key) |
Usage Examples
"List all my BitScale grids"
"Show me the details of the Lead Enrichment grid"
"Get the curl command for the Lead Enrichment grid"
"Run the Lead Enrichment grid with company_name 'Acme Corp' and website 'acme.com'"
"Find phone numbers for people at Stripe using my BitScale grid"
"Check the status of run 550e8400-e29b-41d4-a716-446655440000"
How Grid Runs Work
- Discover grids — call
list_gridsto find available grids and their IDs. - Get the API contract — call
get_grid_curlwith the grid ID to get the exact input fields required, a shaped request body, and a copy-paste curl command. This is the recommended way to understand what a grid needs before running it. - Run the grid — call
run_gridwith the grid ID and aninputsmap of human-readable labels to values (as returned byget_grid_curl). In sync mode (default), results return directly within 120 seconds. In async mode, you get arequest_idto poll. - Poll if needed — if the run is still processing, call
get_run_statuswith therequest_idevery 2-5 seconds until status iscompleted.
Input Labels vs Output Column UUIDs
This is an important distinction when using run_grid:
-
inputs— uses human-readable labels like"company_name","website","email". These labels are derived from the source columns configured on the grid's BitScale API data source. They are not column UUIDs. You can find the exact labels in the BitScale app by clicking the Data Source column → BitScale API source."inputs": { "company_name": "Acme Corp", "website": "acme.com" }
-
output_columns— uses column UUIDs fromget_grid_detailsto filter which enriched columns appear in the response."output_columns": [ "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "6ba7b811-9dad-11d1-80b4-00c04fd430c8" ]
-
Response
outputs— keyed by column UUIDs, each containing{value, name}wherenameis the human-readable display name."outputs": { "6ba7b810-9dad-11d1-80b4-00c04fd430c8": { "value": "AI-powered data enrichment platform", "name": "Company Description" } }
Claude Code
claude mcp add bitscale \
--command uvx \
--args bitscale-mcp \
--env BITSCALE_API_KEY=your_api_key_here
API Reference
Requests hit https://api.bitscale.ai/api/v1, authenticated via X-API-KEY header. Default rate limit: 5 req/s per workspace.
| Endpoint | Method | Tool |
|---|---|---|
/workspace |
GET | get_workspace_details |
/grids |
GET | list_grids |
/grids/:gridId |
GET | get_grid_details |
/grids/:gridId/curl |
GET | get_grid_curl |
/grids/:gridId/run |
POST | run_grid |
/run/status/:requestId |
GET | get_run_status |
/api-key/rotate |
POST | rotate_api_key |
API Key Rotation
Calling rotate_api_key immediately invalidates the current key and returns a new one. Update BITSCALE_API_KEY in your config and restart Claude Desktop after rotating.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bitscale_mcp-0.1.3.tar.gz.
File metadata
- Download URL: bitscale_mcp-0.1.3.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d53eedca427f592681d8b73e2051c15c4ccfefd3245dca2b5300634e583b4498
|
|
| MD5 |
6c7cd8d62236f1d9bc386e34bb16d71a
|
|
| BLAKE2b-256 |
545ddb5f59c57999509c9f06893823df0d0902940a1ce2814eee4dfd61318579
|
Provenance
The following attestation bundles were made for bitscale_mcp-0.1.3.tar.gz:
Publisher:
publish.yml on featherflow/bitscale-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bitscale_mcp-0.1.3.tar.gz -
Subject digest:
d53eedca427f592681d8b73e2051c15c4ccfefd3245dca2b5300634e583b4498 - Sigstore transparency entry: 1123027585
- Sigstore integration time:
-
Permalink:
featherflow/bitscale-mcp@a047a0a8720885115d9e25ccaf8218893e6c7140 -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/featherflow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a047a0a8720885115d9e25ccaf8218893e6c7140 -
Trigger Event:
release
-
Statement type:
File details
Details for the file bitscale_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: bitscale_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70ff1ec8ab6270e26cb39618f19c6caeb096650752b095ff25c742276f0c5000
|
|
| MD5 |
a44f6f7905aa3d7f1e53f86d3c3ac25a
|
|
| BLAKE2b-256 |
56a76974dd409e6f10b5e76828d7aa5e5cedb56b46cba33b1d06a36457748df7
|
Provenance
The following attestation bundles were made for bitscale_mcp-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on featherflow/bitscale-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bitscale_mcp-0.1.3-py3-none-any.whl -
Subject digest:
70ff1ec8ab6270e26cb39618f19c6caeb096650752b095ff25c742276f0c5000 - Sigstore transparency entry: 1123027597
- Sigstore integration time:
-
Permalink:
featherflow/bitscale-mcp@a047a0a8720885115d9e25ccaf8218893e6c7140 -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/featherflow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a047a0a8720885115d9e25ccaf8218893e6c7140 -
Trigger Event:
release
-
Statement type: