{
  "markdown": "<p align=\"center\">\n  <img src=\"./logo.png\" alt=\"GetABrain\" width=\"128\" height=\"128\" />\n</p>\n\n# @getabrain/mcp-server\n\nMCP server for [GetABrain.ai](https://getabrain.ai) — give your AI agent real human judgment as native tools.\n\n## Use with Claude Desktop / Cursor\n\nAdd to your MCP client config (e.g. `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"getabrain\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@getabrain/mcp-server\"],\n      \"env\": {\n        \"GETABRAIN_API_KEY\": \"gab_k_…\",\n        \"GETABRAIN_API_SECRET\": \"gab_s_…\"\n      }\n    }\n  }\n}\n```\n\nGet your API key by signing up at https://getabrain.ai.\n\n## Remote (hosted) MCP server -- no install\n\nPrefer not to run anything locally? GetABrain also hosts this same server over Streamable HTTP at\n`https://www.getabrain.ai/api/mcp`. Point any MCP client that supports remote servers at that URL and\npass your key pair as headers instead of env vars:\n\n```json\n{\n  \"mcpServers\": {\n    \"getabrain\": {\n      \"url\": \"https://www.getabrain.ai/api/mcp\",\n      \"headers\": {\n        \"X-API-Key\": \"gab_k_…\",\n        \"X-API-Secret\": \"gab_s_…\"\n      }\n    }\n  }\n}\n```\n\nSame 7 tools, same schemas, same test-mode support -- see `docs/deploy/remote-mcp.md` in this repo for\ndetails (Smithery-style clients, auth requirements, etc).\n\n## Test mode\n\nTest mode is a flag on the key, not a different key format. When you mint an API key — via\n`POST /api/v1/requestor/keys` with `{\"mode\":\"test\"}`, or by choosing \"test\" in the dashboard — you get\nback a completely normal `gab_k_…` / `gab_s_…` key pair. There's no `_test_` in the string; the\ntest-ness lives in the database as an `is_test` flag on that key. No funding or card required.\n\nPoint `GETABRAIN_API_KEY` / `GETABRAIN_API_SECRET` at a test-mode key and the server behaves identically, except:\n\n- `submit_query` never touches your balance — no charge, no `insufficient_balance` errors.\n- Responses come back synthetic and are always marked **`simulated: true`**, so your pipeline (submit →\n  wait/poll → rate) can be built and exercised end-to-end before any real human worker or real money is\n  involved.\n- `get_balance` reports `mode: \"test\"` so the agent/human can tell at a glance which environment it's in.\n\nWhen you're ready to go live: mint a **live-mode key** (same call, `{\"mode\":\"live\"}` or the dashboard\ndefault), fund the account with `create_topup_link` (works with either key type — a test-mode agent can\ngenerate the link, a human completes checkout to add real funds), and swap the env vars. `get_balance`\nthen reports `mode: \"live\"`, and `submit_query` starts spending real balance and dispatching to real paid\nworkers.\n\n## Tools\n\n- `get_balance` — read-only: prepaid balance (cents), `mode` (`\"test\"`/`\"live\"`), and `auto_reload_enabled`\n  (with a setup link + hint when it's off and would otherwise stall a live account at zero balance).\n- `create_topup_link` — mints a Stripe Checkout URL to add funds (min $5); a human opens it in a browser to\n  pay — the agent cannot complete payment itself.\n- `submit_query` — ask real humans a question (16 query types: A/B test, rating, ranking, sentiment, yes/no,\n  image/video/audio review, voice/video/photo capture, …). Returns a `query_id`. Spends balance on a live\n  key; free and `simulated: true` on a test key.\n- `get_responses` — one-shot, read-only: current status + whatever responses exist right now, no waiting.\n- `wait_for_responses` — bounded polling (up to `max_wait_seconds`, default/max 50s); returns `ready` with\n  responses once enough arrive, or `pending` — call again to keep waiting. Use this instead of `get_responses`\n  when you want the tool call itself to wait.\n- `list_queries` — read-only: your recent queries, optionally filtered by `status`.\n- `rate_response` — rate a worker's answer 1–5 (optional `feedback_text`); feeds the worker quality system.\n\n## Example agent flow\n\n1. `get_balance` → confirm funds (or `mode: \"test\"` for a free sandbox run).\n2. If funds are short on a live key: `create_topup_link` → human completes checkout → `get_balance` again.\n3. `submit_query` → get `query_id`.\n4. `wait_for_responses` (repeat while `pending`) → read the human (or simulated, in test mode) answers.\n5. `rate_response` → optionally rate each response to improve future worker matching.\n\nFull API docs: https://getabrain.ai/docs/api\n",
  "bytes": 4337,
  "sha": "13b6e2068ce0fa4d4b1781e975325456695da05383265db6acb8d5d79746525f",
  "repo_slug": "guitarmaniac24/getabrain-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_guitarmaniac24_getabrain_d5bfb517/readme"
}