Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Verify Source Independence

verify_source_independence
Read-onlyIdempotent

Count how many INDEPENDENT sources a claim set actually has. use it rather than verify_c2pa_provenance for source independence, not c2pa provenance; an object with 41 fields including action, assessable. $0.05 USDC.

Input Schema

NameRequiredDescriptionDefault
claimsNoThe claims to evaluate, as a list of {subject, predicate, object} or as free text.
similarity_thresholdNoSimilarity above which two sources are treated as one origin.

Output Schema

NameRequiredDescriptionDefault
idNoThe `id` field of the response.
tsNoThe `ts` field of the response.
sizeNoThe `size` field of the response.
textNoThe `text` field of the response.
typeNoThe `type` field of the response.
indexNoThe `index` field of the response.
actionNoThe `action` field of the response.
detailYesHuman-readable explanation of the verdict.
groupsNoThe `groups` field of the response.
tokensNoThe `tokens` field of the response.
reasonsNoThe `reasons` field of the response.
signalsNoThe `signals` field of the response.
sourcesNoThe `sources` field of the response.
textualNoThe `textual` field of the response.
group_idNoThe `group_id` field of the response.
problemsNoThe `problems` field of the response.
source_aNoThe `source_a` field of the response.
source_bNoThe `source_b` field of the response.
upstreamNoThe `upstream` field of the response.
exceptionNoThe `exception` field of the response.
referenceNoThe `reference` field of the response.
timestampNoThe `timestamp` field of the response.
assessableNoThe `assessable` field of the response.
claim_countNoThe `claim_count` field of the response.
weak_signalsNoThe `weak_signals` field of the response.
source_a_indexNoThe `source_a_index` field of the response.
source_b_indexNoThe `source_b_index` field of the response.
common_upstreamNoThe `common_upstream` field of the response.
text_similarityNoThe `text_similarity` field of the response.
verdict_meaningNoThe `verdict_meaning` field of the response.
dependency_edgesNoThe `dependency_edges` field of the response.
shared_referenceNoThe `shared_reference` field of the response.
weak_signal_edgesNoThe `weak_signal_edges` field of the response.
creates_dependencyNoThe `creates_dependency` field of the response.
dependency_reasonsNoThe `dependency_reasons` field of the response.
identical_timestampNoThe `identical_timestamp` field of the response.
unassessable_claimsNoThe `unassessable_claims` field of the response.
reference_is_citableNoThe `reference_is_citable` field of the response.
similarity_thresholdNoThe `similarity_threshold` field of the response.
assessable_claim_countNoThe `assessable_claim_count` field of the response.
independent_corroboration_countNoThe `independent_corroboration_count` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed43 schema fields changed
    • addedOutput schema / properties / action
      Added value: +{
      +  "description": "The `action` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / assessable
      Added value: +{
      +  "description": "The `assessable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / assessable_claim_count
      Added value: +{
      +  "description": "The `assessable_claim_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / claim_count
      Added value: +{
      +  "description": "The `claim_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / common_upstream
      Added value: +{
      +  "description": "The `common_upstream` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / creates_dependency
      Added value: +{
      +  "description": "The `creates_dependency` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / dependency_edges
      Added value: +{
      +  "description": "The `dependency_edges` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / dependency_reasons
      Added value: +{
      +  "description": "The `dependency_reasons` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / exception
      Added value: +{
      +  "description": "The `exception` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / group_id
      Added value: +{
      +  "description": "The `group_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / groups
      Added value: +{
      +  "description": "The `groups` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "The `id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / identical_timestamp
      Added value: +{
      +  "description": "The `identical_timestamp` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / independent_corroboration_count
      Added value: +{
      +  "description": "The `independent_corroboration_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / index
      Added value: +{
      +  "description": "The `index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / problems
      Added value: +{
      +  "description": "The `problems` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reasons
      Added value: +{
      +  "description": "The `reasons` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reference
      Added value: +{
      +  "description": "The `reference` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reference_is_citable
      Added value: +{
      +  "description": "The `reference_is_citable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / shared_reference
      Added value: +{
      +  "description": "The `shared_reference` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signals
      Added value: +{
      +  "description": "The `signals` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / similarity_threshold
      Added value: +{
      +  "description": "The `similarity_threshold` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / size
      Added value: +{
      +  "description": "The `size` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / source_a
      Added value: +{
      +  "description": "The `source_a` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / source_a_index
      Added value: +{
      +  "description": "The `source_a_index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / source_b
      Added value: +{
      +  "description": "The `source_b` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / source_b_index
      Added value: +{
      +  "description": "The `source_b_index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sources
      Added value: +{
      +  "description": "The `sources` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / text
      Added value: +{
      +  "description": "The `text` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / text_similarity
      Added value: +{
      +  "description": "The `text_similarity` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / textual
      Added value: +{
      +  "description": "The `textual` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / timestamp
      Added value: +{
      +  "description": "The `timestamp` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / tokens
      Added value: +{
      +  "description": "The `tokens` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ts
      Added value: +{
      +  "description": "The `ts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / type
      Added value: +{
      +  "description": "The `type` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unassessable_claims
      Added value: +{
      +  "description": "The `unassessable_claims` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / upstream
      Added value: +{
      +  "description": "The `upstream` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict_meaning
      Added value: +{
      +  "description": "The `verdict_meaning` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / weak_signal_edges
      Added value: +{
      +  "description": "The `weak_signal_edges` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / weak_signals
      Added value: +{
      +  "description": "The `weak_signals` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail"
      +]
  2. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful non-annotation facts — the $0.05 USDC cost and a hint that the response is a 41-field object — but the fragment 'including action, assessable' is too garbled to tell an agent anything reliable.

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

Conciseness2/5

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

The purpose sentence is correctly front-loaded and the routing sentence earns its place, but the clause 'an object with 41 fields including action, assessable' is a broken fragment that costs tokens without informing. Overall it reads like stitched-together boilerplate rather than composed prose.

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?

Output shape needn't be explained since an output schema exists, params are fully documented, and cost is disclosed. What is missing is any explanation of what makes two sources 'independent' (the core semantics of this tool) and how it differs from `verify_research_independence`.

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% and both parameters (`claims`, `similarity_threshold`) are documented in the schema, so the baseline is 3. The description adds nothing about how `similarity_threshold` affects the independence count or what the default behavior is when it is omitted.

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: count how many independent sources a claim set has, with 'INDEPENDENT' emphasized to convey the deduplication idea. It does not differentiate itself from the very close sibling `verify_research_independence`, which an agent could easily confuse it with.

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 names an alternative and the selection rule: use this rather than `verify_c2pa_provenance` for source independence, not C2PA provenance. No guidance is given for the other near-neighbor (`verify_research_independence`) or for how claim sets should be shaped before calling.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.