Skip to main content
Glama
Guitarmaniac24

GetABrain🧠 | Live Human-in-the-Loop MCP for AI Agents

@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.

Related MCP server: humansurvey-mcp

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_query never touches your balance β€” no charge, no insufficient_balance errors.

  • 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_balance reports mode: "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"), and auto_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 a query_id. Spends balance on a live key; free and simulated: true on a test key.

  • 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 responses once enough arrive, or pending β€” call again to keep waiting. Use this instead of get_responses when you want the tool call itself to wait.

  • 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.

Example agent flow

  1. get_balance β†’ confirm funds (or mode: "test" for a free sandbox run).

  2. If funds are short on a live key: create_topup_link β†’ human completes checkout β†’ get_balance again.

  3. submit_query β†’ get query_id.

  4. wait_for_responses (repeat while pending) β†’ read the human (or simulated, in test mode) answers.

  5. rate_response β†’ optionally rate each response to improve future worker matching.

Full API docs: https://getabrain.ai/docs/api

Available Tools

7 tools
get_balanceA
Read-only

Check the prepaid balance (in cents) available to fund submit_query calls, plus account mode. Call before submit_query if unsure funds suffice, or whenever a query fails/stalls for balance reasons. Read-only, no side effects, free in test and live mode. Response includes mode ("test" = sandbox key, free simulated responses; "live" = real key, real spend), and when relevant whether auto_reload is on, plus an auto_reload_setup_url + hint to enable it so a live account does not stall at zero balance. Disambiguation: reports funds available to spend; does not list queries (list_queries) or responses (get_responses/wait_for_responses).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
modeNo
company_nameNo
balance_centsNo
auto_reload_enabledNo
auto_reload_setup_urlNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and openWorldHint. The description adds behavioral details such as 'no side effects,' response fields (mode, auto_reload, URL), and hints for enabling auto_reload, going beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately sized but each sentence adds distinct value: purpose, usage, read-only nature, response details, disambiguation. It is well-structured and front-loaded, though slightly verbose in the disambiguation part.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, 100% schema coverage, and an output schema, the description is fully complete. It covers what the tool does, when to use, the response structure, and how it differs from siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. The description does not need to add parameter info, and it sufficiently explains the output, which is the only relevant aspect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Check the prepaid balance' and specifies the resource (balance in cents) and its purpose (fund submit_query calls). It also disambiguates from sibling tools by noting it does not list queries or responses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use: 'Call before submit_query if unsure funds suffice, or whenever a query fails/stalls for balance reasons.' Also mentions it's free in test and live mode, providing clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_responsesA
Read-only

One-shot read: fetch a query's current status and whatever human responses have been submitted so far, without waiting. Use this to check progress on demand, or after wait_for_responses reports "pending" if you want an immediate snapshot instead of polling again. Read-only, no cost, returns instantly (does not block or retry). Disambiguation: unlike wait_for_responses, this never delays or blocks waiting for more answers to arrive -- it just reports what exists right now, which may be fewer than required_responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYesThe id returned by submit_query, identifying which query to read.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusNo
responsesNo
required_responsesNo
completed_responsesNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds valuable context: 'no cost, returns instantly (does not block or retry)' and clarifies that the response may include fewer than required_responses. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three well-structured sentences, each adding unique value. Front-loaded with the core action, then usage guidance, then behavioral notes. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, full annotations, and an output schema (not shown but referenced), the description covers all needed aspects: purpose, usage, behavior, and distinction from siblings. It is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of query_id. The description reinforces that the ID comes from submit_query, which adds context beyond the schema. A minor point: the description could mention the format or source more explicitly, but overall strong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses strong specific terms like 'One-shot read' and 'fetch...status and...responses,' clearly distinguishing from wait_for_responses. The verb 'fetch' combined with the resource 'query responses' leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('check progress on demand' or after wait_for_responses reports 'pending') and contrasts it with wait_for_responses by noting it never delays. This provides clear guidance on choosing between siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_queriesA
Read-only

List your recent GetABrain queries, most recent first. Use this to get an overview of past/active queries, recover a query_id you lost track of, or filter by status (e.g. find everything still "active" or "pending"). Read-only, no cost. Disambiguation: this lists MANY queries at a summary level; it does not return the individual worker responses for any one query -- use get_responses or wait_for_responses with a specific query_id for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of queries to return, most recent first (1-100, default server-side).
statusNoOptional filter to only return queries in this status (e.g. "active", "pending", "completed", "cancelled", "failed", "expired"). Omit to return all statuses.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitNo
totalNo
offsetNo
queriesNo
has_moreNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint), description adds ordering ('most recent first'), cost ('no cost'), and summary-level scope. It also mentions status filtering capability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured: purpose, usage, then disambiguation. It is fairly concise, though slightly verbose with multiple sentences. Front-loaded with main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and low complexity (2 optional params), the description covers purpose, usage, and disambiguation adequately. No significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with good descriptions for both parameters. The description reinforces filtering use case but does not add meaning beyond schema (e.g., formats, defaults). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists recent queries in reverse chronological order, using a specific verb ('List') and resource ('GetABrain queries'). It also distinguishes itself from siblings by noting it does not return individual responses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: getting an overview, recovering a query_id, filtering by status. Also gives clear when-not-to-use guidance: for individual responses, use get_responses or wait_for_responses.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rate_responseA

Rate a single worker's response 1-5 to feed the worker quality/reputation system, optionally with free-text feedback. Use after reviewing a response from get_responses/wait_for_responses, to reward good answers and flag poor ones -- this affects the worker's quality score and future eligibility (e.g. queries with min_worker_quality set) and can trigger rewards/suspension server-side. Side effect: writes a rating record and returns the updated worker quality score; does not resubmit or modify the original response. Disambiguation: rates a response you already have -- does not fetch new responses (use get_responses/wait_for_responses first).

ParametersJSON Schema
NameRequiredDescriptionDefault
scoreYesQuality rating for the response, 1 (worst) to 5 (best). Feeds the worker's ongoing quality score.
query_idYesThe id of the query the response belongs to (from submit_query).
response_idYesThe id of the specific response to rate (from get_responses/wait_for_responses output).
feedback_textNoOptional free-text comment explaining the rating, visible to the worker.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successNo
worker_quality_scoreNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant context beyond annotations: it writes a rating record, returns updated quality score, does not resubmit or modify original, and mentions server-side rewards/suspension. No contradiction with annotations (readOnlyHint=false, destructiveHint=false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main action and is fairly concise. However, the first sentence is long and could be slightly streamlined without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, output schema exists), the description covers purpose, usage context, side effects, and disambiguation. The existence of an output schema means return values do not need to be explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds minimal extra meaning. It mentions 'free-text feedback' which matches 'feedback_text', but beyond that, the schema already explains all parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('rate', 'feed') and clearly states the resource (worker response). It distinguishes from sibling tools 'get_responses' and 'wait_for_responses' by noting it does not fetch new responses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('after reviewing a response from get_responses/wait_for_responses'), explains the effect on worker quality and future eligibility, and disambiguates from fetching tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_queryA

Submit a structured question to real human workers, returning a query_id -- the entry point for any human-in-the-loop (HITL) step: judgment calls, subjective evaluation, approval/review, or "ask a real person" tasks a model should not answer itself. "type" selects the question format (one of: text, multiple_choice, rating_scale, image_comparison, ranking, yes_no, sentiment, image_selection, free_form_text, video_review, audio_review, image_analysis, ab_test, voice_capture, video_capture, photo_capture); "content_data" is the matching type-specific payload (e.g. ab_test: {question, variant_a:{description}, variant_b:{description}}; yes_no: {question}; rating_scale: {question, scale_type, scale_min, scale_max}). Cost/side effects: with a LIVE key this deducts (bid_amount_cents + bonus_amount_cents) * required_responses from balance immediately and dispatches to paid workers (fails if balance too low -- check get_balance or use create_topup_link). With a TEST key, no balance is touched and responses are synthetic, marked simulated: true, so you can build/test a full pipeline for free before going live. Returns immediately, does not wait -- use get_responses (one-shot) or wait_for_responses (bounded polling) to retrieve answers.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesQuestion format/template. One of: text, multiple_choice, rating_scale, image_comparison, ranking, yes_no, sentiment, image_selection, free_form_text, video_review, audio_review, image_analysis, ab_test, voice_capture, video_capture, photo_capture. Determines the required shape of content_data.
titleYesShort human-readable title for the query, shown to workers as the task headline (5-255 characters).
descriptionNoOptional longer explanation/context shown to workers alongside the title, for extra instructions or background.
content_dataYesType-specific payload whose required fields depend on "type" (e.g. {question, variant_a, variant_b} for ab_test; {question} for yes_no; {question, scale_type, scale_min, scale_max} for rating_scale). See the API docs for the full schema per type.
bid_amount_centsYesCents paid to EACH worker per accepted response (absolute floor 5 = $0.05, max 10000000 = $100,000.00). The REAL minimum is effort-based, not flat: it scales with how long the query type honestly takes a worker to answer, priced at a fair ~$9/hr (0.25 cents/second). Quick types (yes_no, multiple_choice, sentiment, ab_test, headline_test, rating_scale) floor around 5 cents; medium types (image_comparison, image_selection, ranking, text, image_analysis) around 8-12 cents; capture types (voice_capture, photo_capture, custom) around 15 cents; longer types (free_form_text, video_capture) around 30 cents. video_review and audio_review scale with the actual clip length (content_data.video_duration_seconds / audio_duration_seconds) plus a review/write-up overhead, so a 10-minute video review requires roughly $1.65+ -- there is no upper cap, longer clips need proportionally higher bids. Bidding below the type-appropriate minimum is rejected with a 400 telling you the exact floor; call GET /requestor/suggested-bid?type=... for the current min_bid_cents and suggested_bid_cents for a given type before submitting. Total cost = (bid_amount_cents + bonus_amount_cents) * required_responses, deducted from balance in live mode. No charge occurs in test mode.
bonus_amount_centsNoOptional extra cents paid to EACH worker on top of bid_amount_cents per accepted response (default 0). Included in the total cost calculation.
min_worker_qualityNoOptional minimum worker quality score (0-5) required to accept this query; higher restricts to more experienced/reliable workers.
required_responsesYesNumber of distinct human worker responses to collect before the query is considered complete (1-1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
statusNo
query_idNo
simulatedNo
total_cost_centsNo
required_responsesNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Exceeds annotations by detailing cost/side effects, balance deduction, test mode, and asynchronous behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Effectively front-loaded with purpose and examples, but slightly long. Structure is clear with logical sections.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all aspects: usage, parameters, cost, test mode, return behavior, and links to related tools. Adequate for a complex tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant context beyond the 100% schema coverage, with examples for content_data types, detailed pricing for bid_amount_cents, and behavior for test mode.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool submits a structured question to human workers for HITL tasks. It distinguishes from sibling tools like get_responses and wait_for_responses by noting it returns immediately and is the entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (judgment calls, subjective evaluation, etc.) and provides context on test vs live keys. Could more explicitly state when not to use, but the guidelines are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_responsesA
Read-only

Poll for human responses to a query, blocking for up to max_wait_seconds (default 50, max 50) before returning. Use right after submit_query to wait for real answers in one call instead of manually re-checking with get_responses. DOES NOT GUARANTEE COMPLETION -- if min_responses have not arrived within the time budget it returns status "pending" (with a hint to call again) rather than erroring; call again to keep waiting. Returns status "ready" with the responses array once enough have arrived (or the query otherwise completed). Read-only / free -- cost was already charged by submit_query. Disambiguation: unlike get_responses (instant, one-shot, may return 0 responses), this actively waits, trading time for a higher chance of a complete result.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYesThe id returned by submit_query, identifying which query to wait on.
min_responsesNoHow many responses must arrive before returning status "ready" (default: the query's required_responses).
max_wait_secondsNoMaximum seconds to poll before giving up and returning status "pending" if not enough responses arrived yet (default 50, max 50).

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
statusNo
responsesNo
required_responsesNo
completed_responsesNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint), the description reveals non-guarantee of completion, return statuses, and cost implications. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise yet comprehensive: every sentence adds distinct value (purpose, usage, behavior, alternatives). Well-structured and front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the polling/blocking complexity, the description fully covers behavior, return values, edge cases (timeout), and relation to sibling tools. Output schema exists, so return format explanation is optional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3 applies. The description mentions defaults for max_wait_seconds and min_responses but adds little beyond schema; acceptable but not outstanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool polls for human responses, blocks up to max_wait_seconds, and returns either 'ready' or 'pending'. It explicitly distinguishes from sibling get_responses by noting the active waiting behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using immediately after submit_query and contrasts with get_responses for one-shot checks. Also mentions read-only/free status and when to call again on pending, providing clear usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv0.1.0
    • First observedcreate_topup_link
    • First observedget_balance
    • First observedget_responses
    • First observedlist_queries
    • First observedrate_response
    • First observedsubmit_query
    • First observedwait_for_responses

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: topup link generation, balance checking, response retrieval (one-shot vs. waiting), query listing, response rating, and query submission. The descriptions explicitly differentiate overlapping tools like get_responses and wait_for_responses.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_topup_link, get_balance, list_queries). The verbs are descriptive and the naming convention is uniform.

Tool Count5/5

With 7 tools, the server covers the essential operations for a human-in-the-loop system: balance management, query lifecycle (submit, wait, check), listing, and rating. The count feels well-scoped without unnecessary bloat or gaps.

Completeness4/5

The tool set covers the core workflow (submit, wait, get, rate, fund). However, there are minor gaps: no tool to cancel or delete a query, and no ability to manage balance history or refunds. These are not critical but slightly reduce completeness.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Human-as-a-Service for AI agents. When your agent is blocked by a task that requires a real human β€” accepting ToS, creating accounts, submitting forms, identity verification β€” it calls NeedHuman. A human completes the task and returns the result with proof.
    3
    88
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to recruit real humans for evaluation tasks like surveys, A/B tests, and ratings on text, images, audio, and video, returning aggregated results directly into the conversation.
    13
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to route tasks requiring human judgment (e.g., content moderation, refund decisions, data verification) to a vetted worker pool, with verified results returned via Lightning Network payments.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Guitarmaniac24/getabrain-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server