npm @getabrain/mcp-serverstdioMITupdated 1mo ago
MCP server for GetABrain.ai — give your AI agent real human judgment as native tools.
What can you do with GetABrain?
@getabrain/mcp-server
MCP server for GetABrain.ai — give your AI agent real human judgment as native tools.
Use with Claude Desktop / Cursor
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"getabrain": {
"command": "npx",
"args": ["-y", "@getabrain/mcp-server"],
"env": {
"GETABRAIN_API_KEY": "gab_k_…",
"GETABRAIN_API_SECRET": "gab_s_…"
}
}
}
}
Get your API key by signing up at https://getabrain.ai.
Remote (hosted) MCP server -- no install
Prefer not to run anything locally? GetABrain also hosts this same server over Streamable HTTP at
https://www.getabrain.ai/api/mcp. Point any MCP client that supports remote servers at that URL and
pass your key pair as headers instead of env vars:
{
"mcpServers": {
"getabrain": {
"url": "https://www.getabrain.ai/api/mcp",
"headers": {
"X-API-Key": "gab_k_…",
"X-API-Secret": "gab_s_…"
}
}
}
}
Same 7 tools, same schemas, same test-mode support -- see docs/deploy/remote-mcp.md in this repo for
details (Smithery-style clients, auth requirements, etc).
Test mode
Test mode is a flag on the key, not a different key format. When you mint an API key — via
POST /api/v1/requestor/keys with {"mode":"test"}, or by choosing "test" in the dashboard — you get
back a completely normal gab_k_… / gab_s_… key pair. There's no _test_ in the string; the
test-ness lives in the database as an is_test flag on that key. No funding or card required.
Point GETABRAIN_API_KEY / GETABRAIN_API_SECRET at a test-mode key and the server behaves identically, except:
submit_querynever touches your balance — no charge, noinsufficient_balanceerrors.- Responses come back synthetic and are always marked
simulated: true, so your pipeline (submit → wait/poll → rate) can be built and exercised end-to-end before any real human worker or real money is involved. get_balancereportsmode: "test"so the agent/human can tell at a glance which environment it's in.
When you're ready to go live: mint a live-mode key (same call, {"mode":"live"} or the dashboard
default), fund the account with create_topup_link (works with either key type — a test-mode agent can
generate the link, a human completes checkout to add real funds), and swap the env vars. get_balance
then reports mode: "live", and submit_query starts spending real balance and dispatching to real paid
workers.
Tools
get_balance— read-only: prepaid balance (cents),mode("test"/"live"), andauto_reload_enabled(with a setup link + hint when it's off and would otherwise stall a live account at zero balance).create_topup_link— mints a Stripe Checkout URL to add funds (min $5); a human opens it in a browser to pay — the agent cannot complete payment itself.submit_query— ask real humans a question (16 query types: A/B test, rating, ranking, sentiment, yes/no, image/video/audio review, voice/video/photo capture, …). Returns aquery_id. Spends balance on a live key; free andsimulated: trueon a test key.get_responses— one-shot, read-only: current status + whatever responses exist right now, no waiting.wait_for_responses— bounded polling (up tomax_wait_seconds, default/max 50s); returnsreadywith responses once enough arrive, orpending— call again to keep waiting. Use this instead ofget_responseswhen you want the tool call itself to wait.list_queries— read-only: your recent queries, optionally filtered bystatus.rate_response— rate a worker's answer 1–5 (optionalfeedback_text); feeds the worker quality system.
Example agent flow
get_balance→ confirm funds (ormode: "test"for a free sandbox run).- If funds are short on a live key:
create_topup_link→ human completes checkout →get_balanceagain. submit_query→ getquery_id.wait_for_responses(repeat whilepending) → read the human (or simulated, in test mode) answers.rate_response→ optionally rate each response to improve future worker matching.
Full API docs: https://getabrain.ai/docs/api
Install
Add GetABrain to your client. Pick the one you use.
claude mcp add mcp-server -- npx -y @getabrain/mcp-servercodex mcp add mcp-server -- npx -y @getabrain/mcp-serveramp mcp add mcp-server -- npx -y @getabrain/mcp-server{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server","command":"npx","args":["-y","@getabrain/mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"@getabrain/mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @getabrain/mcp-serverRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
7 tools
GetABrain exposes 7 tools to a connected agent.
- get_balance
- read-only: prepaid balance (cents), `mode` (`"test"`/`"live"`), and `auto_reload_enabled`
- create_topup_link
- mints a Stripe Checkout URL to add funds (min $5); a human opens it in a browser to
- submit_query
- ask real humans a question (16 query types: A/B test, rating, ranking, sentiment, yes/no,
- get_responses
- one-shot, read-only: current status + whatever responses exist right now, no waiting.
- wait_for_responses
- bounded polling (up to `max_wait_seconds`, default/max 50s); returns `ready` with
- list_queries
- read-only: your recent queries, optionally filtered by `status`.
- rate_response
- rate a worker's answer 1–5 (optional `feedback_text`); feeds the worker quality system.
Score
78 / 100
Good
- Documentation25/25
- Maintenance22/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 45 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 7 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.2.1Latest | Jul 16, 2026 |
| 0.2.0 | Jul 15, 2026 |
| 0.1.4 | Jul 8, 2026 |