Skip to main content
Glama

ResultGate

Local MCP service recommendations for BrowserAct, SearchApi, PDF.co, Make, Apify and Firecrawl, with disclosed referral links and evidence checks. Release 0.3.1: PyPI.

Looking for service recommendations?

Install the versioned package through uv (Python 3.11+; no Git required):

{"mcpServers":{"resultgate-referrals":{"command":"uvx","args":["resultgate-pilot==0.3.1","--referrals"]}}}

This local stdio entry exposes exactly six tools: list_referral_providers, recommend_referral_service, prepare_referral_task, assess_browseract_fit, validate_browseract_report, validate_browseract_csv. The first three cover all six providers. No keys, registration or purchases are needed; installing dependencies needs network access, but tool calls do not execute providers or upload telemetry. Existing/local/free solutions take priority; commission never affects capability matching.

Example journey: call list_referral_providers, then recommend_referral_service with request={"need":"browser_interaction","sources_permitted":true, "local_solution_sufficient":false}, then prepare_referral_task with request={"provider_id":"browseract","sources_permitted":true}. The response includes the official affiliate URL https://browseract.com?fpr=ahed-ddc97e, the measured /go/browseract alternative and commission disclosure. A handoff is not a registration, sale or commission.

After pip install resultgate-pilot==0.3.1, resultgate-referrals is an equivalent standalone entry; resultgate-pilot --referrals is the Registry entry. The original resultgate / resultgate-pilot defaults and brokerage flags remain available for existing clients. The old 0.2.0 release lacks referral tools.

The public catalog is readable without an account. Hosted /mcp is a separate authenticated gateway, not this local companion. An unauthenticated 401 there does not mean this local server is down. Never disable gateway authentication to satisfy a directory health check. Glama schema refresh and MCP Registry publication are separate from package publication.

Examples and permission flags · Privacy and counters · 0.3.1 release/migration notes.

A pass is not a truth guarantee. The original checking tools evaluate the evidence you supply; they do not fetch sources, detect every missing fact, verify source authenticity, or judge semantic support. Incomplete completion evidence returns unknown.

Related MCP server: openclaw-output-vetter-mcp

Legacy checking mode: install from PyPI (Python 3.11+)

python3 -m venv .venv
.venv/bin/python -m pip install resultgate-pilot==0.3.1
.venv/bin/resultgate-pilot --help

For MCP clients with uv installed: uvx resultgate-pilot==0.3.1.

Install from GitHub (Python 3.11+ and Git)

python3 -m venv .venv
.venv/bin/python -m pip install git+https://github.com/AHEDMUNI/resultgate.git
.venv/bin/resultgate --help

For reproducible deployments, append @<reviewed-commit-sha> to the Git URL.

Install from a locally built wheel

On Linux/macOS, after reviewing the artifact and its SHA-256:

python3 -m venv .venv
.venv/bin/python -m pip install ./resultgate_pilot-0.3.1-py3-none-any.whl
.venv/bin/resultgate --help

On Windows use py -m venv .venv and .venv\Scripts\python.exe -m pip install <wheel>; the executable is .venv\Scripts\resultgate.exe. Windows/macOS execution has not yet been tested in this release review.

The public package exposes both resultgate and resultgate-pilot executables.

Legacy checking mode: connect an MCP client

Configure the absolute installed executable; it runs locally over stdio, without API credentials:

{"mcpServers":{"resultgate":{"command":"/ABSOLUTE/PATH/.venv/bin/resultgate"}}}

Discoverable tools: check_extraction and check_citations. Each accepts payload and an optional usage object. Tool input/output schemas are exposed by the official Python MCP SDK. The default makes no network requests and records no usage. This local server trusts the invoking OS user; it is not a sandbox for untrusted processes.

Enable brokerage and delegation

{"mcpServers":{"resultgate":{"command":"/ABSOLUTE/PATH/.venv/bin/resultgate","args":["--brokerage","--delegation"]}}}

This exposes 12 tools while keeping external execution disabled. The 0.3.1 Registry configuration instead launches the standalone --referrals mode. Local provider onboarding adds 5 tools with an explicit private registry directory. See the installed-client tutorial and provider application process. No shared hosted network, conforming A2A transport, automatic provider execution or payments. GROBID is an opt-in ML demo, not an autonomous agent.

Extraction example

{"payload":{"records":[{"id":"a","name":"Example"}],"required_fields":["/name"],"unique_fields":["/id"],"expected_count":1,"job_status":"completed","next_cursor":null,"truncated":false}}

Expected status: pass, scoped to caller_supplied_contract_only.

Fields use RFC6901 JSON pointers; unique_fields forms a composite key. Missing/null/blank required fields fail; zero and false are valid. Counts refer to the entire supplied dataset, not pages or provider jobs. An expected total must come from an appropriate external contract, not simply len(records). Known failure, scraping-in-progress, pending cursor, repeated cursor, explicit truncation, count mismatch and duplicate keys fail. Missing expected count, completion state, next-cursor evidence or truncation evidence yields unknown when there is no definite failure. Null is allowed only for next_cursor; omit unknown expected_count/truncated instead.

Limits: 1 MiB serialized input, 100,000 JSON nodes, depth 32, 5,000 records and 64 pointers per field list. Up to 100 findings are returned, with total count.

Citation example

{"payload":{"sources":[{"id":"s1","text":"The launch was postponed."}],"citations":[{"source_id":"s1","quote":"The launch was postponed.","start":0,"end":25}]}}

Exact literal Unicode matching only. Optional offsets must be paired and count code points, not bytes or UTF-16 units. A matching quote may still be misleading or used to support a false claim. Empty citations produce unknown. Duplicate source IDs are rejected. Search work is limited to 20 million source characters across searches without offsets; split larger requests or supply exact offsets. No URLs are fetched or instructions in source text executed.

Optional authenticated local HTTP API

export RESULTGATE_API_TOKEN="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')"
.venv/bin/resultgate --http
curl -H "Authorization: Bearer $RESULTGATE_API_TOKEN" -H 'Content-Type: application/json' --data-binary @examples/extraction.json http://127.0.0.1:8765/v1/extraction

POST /v1/extraction and /v1/citations accept the payload itself, without the MCP payload wrapper. GET /health is informational. HTTP mode binds to loopback, requires a configured secret for audits, rejects browser Origins/unrecognized Hosts, limits body size and read time, and disables access logs. It is not a public hosted API or a remote MCP endpoint. Do not publish it through a tunnel or reverse proxy. HTTP usage measurement is not implemented.

Privacy-preserving, opt-in local measurement

No analytics by default. To opt in for a voluntary pilot, add --usage-dir /YOUR/PRIVATE/DIRECTORY to the MCP command, then pass usage:{"task_id":"opaque-task-identifier","purpose":"real_task"} when a real task uses a check. Reuse task IDs on retries. Test/demo/retry purposes and calls without a usage context are excluded. See PRIVACY.md.

Export for your own review with .venv/bin/python -m resultgate.local_usage /YOUR/PRIVATE/DIRECTORY --export. Nothing uploads automatically. Shared summaries are self-reports; they are not automatically counted as independent adoption or revenue.

Development and limitations

python3 -m venv .venv
.venv/bin/python -m pip install -e '.[test]'
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python benchmark.py

Unit and clean-install tests are internal. Synthetic benchmark fixtures measure rule coverage, not production accuracy or superiority over complete competing products. Tests use no paid models, browsers or APIs. Python 3.12/Linux is the tested clean-install environment. The referral entry does not start a hosted endpoint or payments; these tests do not establish external customers.

License: MIT, included in LICENSE. See SECURITY.md for security scope and THIRD_PARTY.md for dependencies.

Optional local pilot: provider onboarding, discovery and commission receipt pilot. Optional 17-tool configuration; no hosted network, A2A endpoint or payments. Partner diligence.

Local pilot: start/install/MCP examples · provider application · review-only commission worksheet. No public shared runtime or automatic provider approval.

Optional marketplace simulation

ResultGate aims to broker authorized work between requesting and specialist agents. The published local pilot is not a shared marketplace. Current source includes read-only commission reports; new development must distinguish simulations, operator attestations, verified paid events and actual collected revenue. No subscriptions or listing fees are planned; commissions require explicit bilateral terms and qualifying outcomes.

See agent integration and capability discovery, shared-market prototype boundaries, and first commercial transaction gates. The 0.3.1 package includes these modules, but the referral entry never activates them.

A loopback-only shared-store HTTP harness is available on this development branch for isolated client tests. It records simulations, never executes provider tasks or payments, and must not be publicly exposed. External specialist trial and cost controls identify a no-card first experiment and a separately approved paid fallback.

Available Tools

6 tools
assess_browseract_fitC

Choose free/existing API/reject/consider Basic based on need, never commission; prepare bounded task and official handoff. No authorization to spend.

NameRequiredDescriptionDefault
requestYes

TDQS

C2.6/5.0
Behavior3/5

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

With no annotations, the description carries the full load; it does disclose meaningful boundaries — the tool never commissions work and has no spending authority, and its output is a bounded task plus an official handoff. However it never states whether the operation is read-only, what artifact the handoff is, or what the caller receives, leaving the behavioral profile partly inferred.

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

Conciseness3/5

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

There is no filler and the word count is low, but the sentence is telegraphic to the point of being under-specified — 'consider Basic' and 'official handoff' are unexplained shorthand. Brevity here buys density at the cost of parseability.

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

Completeness2/5

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

No output schema, no annotations, and a six-field nested input where zero fields are documented; the description should at minimum say what verdict/artifact the assessment emits and what the boolean flags gate. Neither is covered, so an agent cannot reliably construct the request or interpret the result.

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

Parameters2/5

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

Schema coverage is 0% for a nested request object containing six fields (product_urls, sources_permitted, recurring_cloud_need, existing_api_or_export, local_execution_sufficient, sensitive_or_login_required), most of which are ambiguous without prose. 'Based on need' faintly implies the booleans encode need factors, but no field is defined, so the description fails to compensate for the coverage gap.

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

Purpose3/5

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

The description names decision outcomes (free / existing API / reject / consider Basic) but never states the subject being assessed — BrowserAct fit is only inferable from the tool name, and 'prepare bounded task and official handoff' muddies whether this is a decision tool or a preparation tool. It is distinguishable from validate_browseract_report/csv only by the word 'Choose', not by any explicit differentiation.

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

Usage Guidelines2/5

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

'never commission' and 'No authorization to spend' are hard constraints, not routing guidance; nothing says when to call this instead of recommend_referral_service or prepare_referral_task, nor what precondition (e.g. a scoped task already identified) makes this the right first step.

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

list_referral_providersC

List six researched provider cards and unresolved eligibility, prices and payout terms. Not contracted sellers; no execution. Affiliate status and disclosure are explicit.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description does add meaningful behavioral context: it states no execution occurs, providers are not contracted sellers, and affiliate status/disclosure is explicit. However, it omits permissions, how the six providers are selected, what 'unresolved' means operationally, and what the returned cards contain.

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 short and front-loaded with the list operation and the six-card scope. The remaining clauses are relevant constraints, although the compressed phrasing makes parts of it harder to interpret.

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

Completeness2/5

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

With no annotations, no output schema, and no parameters, the description must carry the full burden. It does not explain the output structure, the meaning of the six researched cards, how eligibility/pricing/payout terms are represented, or the affiliate disclosure details an agent would need to interpret results 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?

The tool has zero parameters, so there is nothing for the description to clarify at the parameter level. Baseline 4 is appropriate.

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

Purpose3/5

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

The description names a list operation over 'six researched provider cards' with eligibility, prices and payout terms, but 'provider cards' and 'unresolved eligibility' are vague jargon, and the relationship to sibling tools like recommend_referral_service is not clarified. It does distinguish the tool from contracted sellers and execution, which helps somewhat.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as recommend_referral_service or prepare_referral_task. The phrase 'Not contracted sellers; no execution' is only a weak negative constraint, not when-to-use guidance.

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

prepare_referral_taskB

Return provider-specific task, example, output fields and official connection steps. No execution, account creation, secrets, purchase or attribution.

NameRequiredDescriptionDefault
requestYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It does usefully disclose non-mutation boundaries (no execution, no account creation, no secrets, no purchase, no attribution), but it says nothing about how sensitive_data or sources_permitted alter what is returned, nor about rate limits or any permission requirements.

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?

Two tight sentences that front-load what is returned and then enumerate what is forbidden. No redundant restatement of the tool name, though the second sentence reads as a bare keyword list rather than a rationale.

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 a single nested parameter object, no annotations, and no output schema, the description's definition of returned artifacts plus its explicit non-actions covers most of what an agent needs. The main unmet need is the semantics of the two boolean flags.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, and it does not. 'Provider-specific' weakly hints at provider_id, but the two boolean flags (sensitive_data, sources_permitted) are completely unexplained — an agent cannot know whether they gate, redact, or reshape the returned guidance.

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

Purpose3/5

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

The description names the outputs (provider-specific task, example, output fields, official connection steps), which tells the agent the tool produces preparatory guidance rather than performing anything. However, 'task' is ambiguous, and it never explains how this differs from list_referral_providers or recommend_referral_service, which sit in the same referral workflow.

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

Usage Guidelines3/5

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

Usage is only implied: the negative list ('no execution, account creation, secrets, purchase or attribution') signals that this is a pre-execution information step, likely after a provider has been recommended. No explicit when-to-use or when-not-to-use-vs-siblings statement is given.

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

recommend_referral_serviceB

Match an explicit need to capability; reject unsafe scope, prefer existing/local/free. Budget is not authorization. No commission-based ranking.

NameRequiredDescriptionDefault
requestYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose real behavioral policy — no commission-based ranking and that budget is not authorization — which is valuable, non-obvious context. However, it never states whether the tool is read-only/advisory, whether it actually creates a referral, or what it returns, leaving side-effect profile unstated.

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?

Three tight clauses, front-loaded with the core matching rule and followed by the two hard constraints. No filler, though the aphoristic phrasing ("Budget is not authorization") costs some clarity in exchange for brevity.

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

Completeness2/5

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

No annotations, no output schema, and a seven-field nested request at 0% schema description coverage — this is the case where the description should do the most work. It omits the return shape, how sensitive_or_login_required and sources_permitted change the recommendation, and any precondition for obtaining consent before referrals.

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 0% and the nested Selection has seven fields, so compensation is needed. The description does add meaning to a few: "explicit need" maps to need, "prefer existing/local" maps to existing_solution_sufficient/local_solution_sufficient defaults, and "budget is not authorization" clarifies maximum_monthly_budget_usd. But the six-value need enum, sources_permitted, recurring_need, and sensitive_or_login_required go entirely unexplained.

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

Purpose3/5

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

"Match an explicit need to capability" gestures at recommending a provider for a stated need, but the verb is abstract and never names the artifact produced (a ranked recommendation vs. a single provider). It does not distinguish this from siblings like list_referral_providers or assess_browseract_fit, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

"prefer existing/local/free" and "reject unsafe scope" give decision policy for ranking, which implies when this tool applies. But there is no explicit when-not guidance and no mention of the sibling tools, so routing between recommend_referral_service and list_referral_providers is left to inference.

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

validate_browseract_csvC

Validate a max-20-row BrowserAct CSV against expected URLs. Preserve original strings; no currency inference, provider calls, payment or telemetry.

NameRequiredDescriptionDefault
payloadYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description does useful work by declaring what the tool will NOT do: no currency inference, no provider calls, no payment or telemetry, and it preserves original strings. However, it never says what happens on invalid rows, whether validation is all-or-nothing, or what the result looks like, leaving the safe-read profile partly inferred.

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?

Two compact sentences, front-loaded with the core action and the size bound. The negative-constraint clause is dense but each element (no inference, no provider calls, no payment/telemetry) conveys a distinct safety guarantee.

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

Completeness2/5

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

No annotations, no output schema, and no schema descriptions leave the description as the only information source, yet it omits the origin parameter's semantics and any indication of the validation result shape. For a validation tool, not knowing what 'valid' output looks like is a material gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It partly does — 'max-20-row CSV' maps to csv_text/maxItems and 'expected URLs' maps to expected_urls — but the origin parameter with its internal/allubi/independent_unverified enum is never mentioned, and expected CSV column structure is unexplained.

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

Purpose4/5

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

States a specific verb and resource: validate a BrowserAct CSV against expected URLs, with a size bound. It is distinguishable from siblings like validate_browseract_report by naming CSV input, though it does not explicitly contrast with that sibling.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to validate_browseract_report or assess_browseract_fit. The only contextual constraint is the implicit 20-row limit, which is a data constraint rather than usage guidance.

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

validate_browseract_reportA

Check completeness of up to 20 product results and supplied samples. No fetching or truth certification; errors stay explicit.

NameRequiredDescriptionDefault
reportYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses that the tool does not fetch data and does not certify truth, and that errors stay explicit, but it does not describe the validation criteria, return behavior, or what happens when completeness checks fail.

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 two compact sentences with no wasted wording. The primary purpose is front-loaded, followed immediately by the key behavioral caveats.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must do more work than usual. It establishes the tool's non-fetching and non-certifying nature, but it leaves unclear what 'completeness' means operationally and what the agent should expect back from validation.

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 0%, so the description should compensate for the nested report fields. It partially does by mentioning 'up to 20 product results' and 'supplied samples,' which loosely maps to rows and sample_rows, but it does not explain expected_urls, origin, or engine semantics beyond what the schema patterns provide.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Check completeness of up to 20 product results and supplied samples.' That is clear enough for an agent to understand the tool validates a report payload, but it does not explicitly distinguish it from sibling tools like validate_browseract_csv or assess_browseract_fit.

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

Usage Guidelines3/5

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

The description implies usage by framing the tool as a completeness checker for supplied product results and samples, and it explicitly excludes fetching and truth certification. However, it does not say when to choose this tool over validate_browseract_csv or how it relates to the other referral/browseract siblings.

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.

  1. 8 tool updatesv0.2.1
    • Addedassess_browseract_fit
    • Removedcheck_citations
    • Removedcheck_extraction
    • Addedlist_referral_providers
    • Addedprepare_referral_task
    • Addedrecommend_referral_service
    • Addedvalidate_browseract_csv
    • Addedvalidate_browseract_report
  2. 2 tool updatesv0.2.0
    • First observedcheck_citations
    • First observedcheck_extraction

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

The set splits cleanly into a BrowserAct cluster and a referral cluster, with verbs that signal intent (assess vs validate vs list vs recommend vs prepare). The only real overlap is between validate_browseract_report and validate_browseract_csv, which both check output correctness but differ by input format (sample results vs CSV rows).

Naming Consistency5/5

Every tool follows the same verb_noun snake_case pattern (assess_, validate_, list_, recommend_, prepare_) with the domain object appended. Subdomains are encoded predictably as browseract_* and referral_*.

Tool Count5/5

Six tools is well-scoped for a narrow advisory/gate server: three cover the browser-automation path and three cover the referral path. No tool looks like filler or a near-duplicate.

Completeness4/5

The lifecycle is covered for both paths: assess fit, validate outputs, enumerate providers, match need, and prepare the handoff task. Minor gaps exist (e.g., validation only covers report/CSV formats at a capped size, no explicit tool to restate spend/authorization constraints standalone), but agents can work around these within the described scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides fact-checking capabilities and truth anchoring for AI agents using verified data sources.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for verifying AI agent claims vs reality — single-transcript inline grounding-check that flags when an agent's response states facts not in the input context, when its code silently swallows exceptions and substitutes mock data, or when its multi-turn transcript contains contradictions or unverified completion claims. Sub-second, local, free, no API calls.
    4
    52 PyPI
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A standalone MCP server that validates model output against retrieved sources. It flags any claim, statistic, attribution, quote, or URL that cannot be traced back to a real source.
    -