Sigil
Server Details
Programmatic-advertising supply verification: ads.txt, schain, ATAP receipts, cross_lens_verify.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- TunnelMind/sigil-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 11 of 11 tools scored.
Each tool targets a distinct aspect of ad supply chain verification or ATAP attestation, with no overlap. Tools like sigil_verify_ads_txt, sigil_verify_app_bundle, and sigil_verify_ip_type each address separate verification needs, while sigil_score_entity and sigil_score_batch differentiate by cardinality.
All tool names follow a consistent verb_noun pattern using snake_case, prefixed with 'sigil_' or 'cross_lens_'. Verbs like 'verify', 'score', 'register', 'witness', and 'generate' are used uniformly, making the set predictable for an agent.
11 tools cover the domain thoroughly without bloat. Each tool serves a clear, non-redundant purpose, from trust scoring to ATAP lifecycle management. The count is ideal for a specialized server like Sigil.
The tool surface covers the full lifecycle: entity scoring (single & batch), all major verification checks (ads.txt, app bundle, IP, supply chain, supply path), cross-lens fusion, and ATAP registration, witnessing, and receipt generation. No obvious gaps for the advertised purpose.
Available Tools
11 toolscross_lens_verifyAInspect
A2 — the cross-lens join. Fuse TunnelMind's two lenses (Scry attacker
intelligence + Sigil supply graph) into ONE verdict on a single node key.
This is the moat: no siloed competitor owns both halves of the graph, so
the fused cross_lens block carries information neither lens can supply
alone.
Use this tool when:
An agent must decide whether to transact with an IP, domain, ASN, or entity_slug, and a one-lens answer is not enough.
You want a single composite trust verdict instead of running Scry + Sigil calls separately and reconciling them by hand.
Inputs:
node(required): an IPv4 address, a domain, an ASN (e.g.AS64500), or an entity_slug. Type is auto-detected.weights(optional): per-component weight overrides.thresholds(optional):{ pass, fail }verdict cutoffs (defaults 0.7 / 0.3).ait(optional): an ATAP AIT id. When present, the verdict is chained onto the AIT as a witness-tiercross_lens:verifiedevent signed by Sigil (witness OAI-2026-0000201) — replayable evidence, not just JSON.
Returns: per-lens scry + sigil blocks (transparency), a fused
cross_lens block with verdict / trust_score / confidence /
signals / recommendations, a 5-minute signed sigil_token, and a
witnessed_event block when an AIT was supplied.
Failure semantics: each lens fails independently. Single-lens answers
still return 200 with a confidence of 0.55. Returns 503 only when BOTH
lenses are unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| ait | No | Optional ATAP AIT id to witness this verification under. | |
| node | Yes | The node to verify. IPv4, domain, ASN (AS-prefixed or numeric), or entity_slug. | |
| weights | No | ||
| thresholds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers failure semantics (independent lens failure, 200 vs 503), output structure, and the optional AIT witnessing side effect. However, it does not explicitly state if the tool is read-only or has side effects beyond witnessing, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (what it is, when to use, inputs, returns, failure semantics). It is concise yet comprehensive, with every sentence adding value and no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (fusing two lenses, optional AIT chaining, partial failures), the description covers all necessary aspects: input types, failure modes, return structure, and the signed token. No output schema exists, so the detailed return description is essential and provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema: it explains the auto-detection of 'node', the witnessing behavior of 'ait', and provides defaults/keyword hints for 'weights' and 'thresholds'. Though schema coverage is 50%, the description compensates well, but could include more detail for object parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fuses two lenses into one verdict on a node, and specifies the exact use case for transaction decisions. It distinguishes itself from sibling tools which are single-lens sigil tools, establishing its unique value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists when to use (e.g., when a one-lens answer is insufficient) and implies when not to (if one lens is enough). It also suggests an alternative approach (running Scry and Sigil separately), providing clear decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_atap_register_aitAInspect
Register an ATAP v0.1 Agent Identity Token for a media-buying agent. Sigil
validates the capabilities + constraints against the sigil:media_buyer:v1
profile, signs the AIT as the witness, and returns it. Do this once per agent
campaign before witnessing any events.
Inputs:
profile(required): must besigil:media_buyer:v1.operator(required): the agent operator's canonical OAI.capabilities(required): array from the profile vocabulary.constraints(required): { currency, max_bid_cpm, supply_trust_minimum, budget_total_cap, allowed_channels, ... }.attestation_policy(required): { witness_granularity, block_interval_seconds (60-3600), receipt_generation }.expires_at(required): ISO date-time, <= 365 days out.
Returns: the signed AIT (note its id for subsequent witness calls).
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | ||
| operator | Yes | ||
| agent_type | No | media-buyer | |
| expires_at | Yes | ||
| constraints | Yes | ||
| capabilities | Yes | ||
| attestation_policy | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the validation and signing process but lacks details on failure behavior, error responses, or side effects. Without annotations, it carries the full burden but misses some transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear first sentence, a bullet-like list of inputs, and a return statement. No unnecessary words, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All inputs are explained, the return value is mentioned, and the usage order is given. However, the description does not cover error handling, validation failure outcomes, or the enforcement of the 365-day expiry limit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% property descriptions, but the description compensates by listing all required parameters with explanations, examples, and constraints structure. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool registers an ATAP Agent Identity Token for a media-buying agent, validates against a specific profile, and returns the signed token. It distinguishes itself from sibling verification tools by emphasizing its role as a prerequisite step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use this tool once per campaign before witnessing events, providing clear usage context. It does not list alternatives, but the sibling tools are clearly distinct verification functions, making the usage guidance sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_atap_witnessAInspect
Witness one agent-reported bid or budget event into an AIT's hash-chained
attestation log. Sigil validates the payload (rejecting any PII), classifies
the evidence tier — anchored if a bid cites a valid Sigil token, else
asserted — derives constraint violations, and signs the event.
Use this tool when:
An ATAP-enrolled media-buyer agent submits a bid, win, loss, or budget decrement and you want it on the attestation record.
Inputs:
ait(required): the AIT id.event_type(required): bid:submitted | bid:won | bid:lost | budget:decremented.payload(required): the event payload (see the sigil:media_buyer:v1 profile).
Returns: the signed witness event(s), the assigned tier, and any derived
constraint violations. (supply:verified events come from verify_supply_path,
not this tool.)
| Name | Required | Description | Default |
|---|---|---|---|
| ait | Yes | ||
| payload | Yes | ||
| event_type | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that Sigil validates payloads (rejecting PII), classifies evidence tiers (anchored/asserted), derives constraint violations, and signs events. This gives a clear behavioral outline for an agent, though it lacks details on authentication, rate limits, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a one-sentence summary, a bullet point for usage, and a clearly labeled inputs section. It is concise without being terse, though some redundancies could be trimmed (e.g., repeating enum values).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (validation, classification, derivation, signing) and lack of output schema, the description covers the return values (signed witness events, tier, constraint violations) and distinguishes from sibling tool verify_supply_path. It provides enough context for an agent to decide to invoke the tool and understand the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds significant meaning: it lists the three inputs (ait, event_type, payload), explicitly enumerates the event_type enum values, and specifies that payload follows the 'sigil:media_buyer:v1' profile. The description compensates well for the lack of schema docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Witness one agent-reported bid or budget event into an AIT's hash-chained attestation log.' It provides a specific verb (witness) and resource (events into attestation log), and distinguishes from sibling tools by noting that supply:verified events come from verify_supply_path, not this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is given: 'Use this tool when: An ATAP-enrolled media-buyer agent submits a bid, win, loss, or budget decrement and you want it on the attestation record.' It also clarifies what it does not handle. However, it does not provide alternative tools or explicit 'when not to use' beyond the one sibling mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_generate_receiptAInspect
Generate the ATAP v0.1 compliance Receipt for an AIT — the portable, signed artifact a media buyer hands its principal. The receipt grades every event witnessed / anchored / asserted and is verifiable offline with the bundled verify.sh.
Use this tool when:
A reporting period closes and you need a compliance export for the AIT.
Inputs:
ait(required): the AIT id.format(optional):full(default) orsummary.
Returns: JSON with receipt_id and zip_base64 — base64-decode zip_base64
to a .zip, unpack it, and run verify.sh to verify the chain independently.
| Name | Required | Description | Default |
|---|---|---|---|
| ait | Yes | ||
| format | No | full |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It mentions the receipt grades events and is verifiable offline, but does not clarify if the tool is read-only or has side effects, nor does it discuss authentication or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear structure: purpose, use case, inputs, output. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers return format (JSON with receipt_id and zip_base64) and post-processing steps. It is adequate for the complexity, though it omits error handling or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains both parameters: 'ait' as the AIT id and 'format' with its default and options, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an ATAP v0.1 compliance Receipt for an AIT, distinguishing it from sibling tools focused on verification or registration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this tool when: A reporting period closes and you need a compliance export', providing clear context. Does not mention when not to use or alternatives, but the directive is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_score_batchAInspect
Pre-computed trust scores for up to 200 entities in one call — built for an agent evaluating many supply sources during campaign setup.
Use this tool when:
You have a list of publishers/SSPs to grade at once.
Inputs:
entity_ids(required): array of{type}:{domain}ids, up to 200.weights(optional): custom component weights to re-score with.
Returns: count, scored_count, and a per-entity results array (invalid
ids are reported inline, never failing the batch).
| Name | Required | Description | Default |
|---|---|---|---|
| weights | No | ||
| entity_ids | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions pre-computed scores, inline error handling for invalid IDs, but lacks auth needs, rate limits, or mutation disclosure (though likely read-only). Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-organized with brief purpose, usage context, and parameter descriptions. Concise but not overly terse. Could be slightly more structured with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description covers return fields (count, scored_count, results array with inline error handling). Lacks details on result sub-fields, but sufficient for a batch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no descriptions in schema). Description explains entity_ids format as '{type}:{domain}' and weights as custom component options, adding significant value beyond bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it computes trust scores for up to 200 entities in one call for campaign setup. Distinguishes from sibling sigil_score_entity by being batch-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use: 'when you have a list of publishers/SSPs to grade at once.' Does not explicitly state when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_score_entityAInspect
Get the pre-computed trust score for one supply-chain entity (a publisher or an SSP). Scores are recomputed daily from ads.txt health, supply-chain directness, reach, and stability — deterministic, no ML black box.
Use this tool when:
You want a fast standing trust signal for an entity without running checks.
Inputs:
entity_id(required):{type}:{domain}— e.g.publisher:nytimes.comorssp:pubmatic.com.
Returns: trust_score (0-1), score_components, the 14-day trend, and
warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses determinism (no ML black box), what factors are used (ads.txt health, supply-chain directness, reach, stability), and that scores are recomputed daily. It does not mention permissions or rate limits, but for a read-only tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with bullet points for inputs and returns. Every sentence adds value, and it is appropriately front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, but the description lists all return fields: trust_score (0-1), score_components, trend (14-day), and warnings. For a single-parameter tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description fully compensates. It explains the required entity_id format as '{type}:{domain}' with examples, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a pre-computed trust score for a supply-chain entity (publisher or SSP). The verb 'get' and resource 'trust score' are specific, and the mention of 'one' entity distinguishes it from siblings like sigil_score_batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this tool when: you want a fast standing trust signal for an entity without running checks.' This gives clear context, though it does not explicitly exclude alternatives or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_verify_ads_txtAInspect
Check whether an exchange/SSP is authorized to sell a publisher's inventory, per the publisher's ads.txt file. Fast cached lookup against Sigil's daily crawl of the top ~10k publisher domains.
Use this tool when:
You need a single, narrow authorization check (not a full supply-path score).
You are validating a (publisher, exchange, seller_id) triple from a bid request.
Inputs:
publisher_domain,exchange_domain,seller_id(all required).resolve_chain(optional): when true and the entry is RESELLER, Sigil walks one hop into the exchange's sellers.json to identify the upstream seller.
Returns: verified (true/false/null), confidence, the matched ads.txt entry,
and any warnings (e.g. seller_type mismatch).
| Name | Required | Description | Default |
|---|---|---|---|
| seller_id | Yes | ||
| resolve_chain | No | ||
| exchange_domain | Yes | ||
| publisher_domain | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses caching behavior ('Fast cached lookup against Sigil's daily crawl of the top ~10k publisher domains') and describes the optional `resolve_chain` behavior. However, it does not mention error conditions, rate limits, or what happens if the domain is not in the crawl.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections and bullet-like lines, but it is slightly verbose. Every sentence adds value, though some phrasing could be tightened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description covers inputs, behavior, and output fields. It lacks edge-case details like null handling or error responses, but overall provides sufficient context for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description fully compensates. It explains each required parameter (publisher_domain, exchange_domain, seller_id) and the optional `resolve_chain` boolean, adding meaning beyond the schema's type/examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks whether an exchange/SSP is authorized to sell a publisher's inventory via ads.txt, using a specific verb 'Check' and distinct resource context. It also differentiates from sibling tools by noting it is 'not a full supply-path score'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage conditions under 'Use this tool when:', specifying it is for a single, narrow authorization check and for validating a specific triple. It implicitly excludes broader supply-path analysis via sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_verify_app_bundleAInspect
Verify that a mobile/CTV app bundle ID actually exists in its app store and, optionally, that the listed developer matches. Detects bundle-ID spoofing in bid requests.
Use this tool when:
A bid request names an app bundle and you must confirm the app is real.
Inputs:
bundle_id(required),platform(required: ios | android | ctv_* | web),claimed_developer(optional): developer name to match against the listing.
Returns: verified (true/false/null), the store listing, and developer_match.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | ||
| bundle_id | Yes | ||
| claimed_developer | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses that the tool returns verified, store listing, and developer_match, but does not mention error handling, rate limits, or network calls. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and well-structured: start verb, then bullet-like list of inputs and returns. Every sentence provides value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description includes return fields. Covers purpose, inputs, outputs, and use case. Could mention error conditions or limitations, but is largely complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully explains each parameter: bundle_id (required), platform (required with values 'ios | android | ctv_* | web'), claimed_developer (optional developer name to match). Adds meaning beyond schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it verifies app bundle existence in its store and optionally checks developer match, detecting spoofing. This is a specific verb+resource and distinguishes from sibling sigil_verify tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this tool when: a bid request names an app bundle and you must confirm the app is real.' While no 'when not to use' or alternatives are given, the guidance is clear and contextual.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_verify_ip_typeAInspect
Classify an IPv4 address as datacenter, residential, mobile, or unknown. Detects datacenter traffic posing as real user devices. Stateless — the IP is never logged or stored.
Use this tool when:
You need to know whether bid-request traffic originates from a datacenter.
Inputs:
ip(required): an IPv4 address.
Returns: ip_type, confidence (high/medium/low), and the ASN + AS-org name.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It does so by stating 'Stateless — the IP is never logged or stored,' which is a key behavioral trait. It also explains the output structure. It could be more explicit about being read-only, but the information provided is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It front-loads the primary purpose, then adds critical details (stateless, privacy note), usage guidelines, input format, and output. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one parameter, no output schema), the description is complete. It explains what the tool does, when to use it, what it returns, and a privacy guarantee. No gaps are apparent for an AI agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has only one parameter (ip) with an example. The description adds meaning by specifying it is required and expects an IPv4 address, which aligns with the schema. It also provides context about bid-request traffic, enhancing understanding beyond the schema. With 0% schema description coverage, the description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: classify an IPv4 address as datacenter, residential, mobile, or unknown. The verb 'classify' is specific and the resource (IPv4 address) is explicit. It distinguishes from sibling tools like sigil_verify_ads_txt by focusing on IP type classification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Use this tool when: - You need to know whether bid-request traffic originates from a datacenter.' This specifies a clear use case. However, it does not mention when not to use it or suggest alternatives, which would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_verify_supply_chainAInspect
Verify a full OpenRTB SupplyChain (schain) object — every node, end to end. Per node Sigil checks the seller against the exchange sellers.json and the origin ads.txt, then returns a per-node and aggregate verdict plus a signed token.
Use this tool when:
A bid request carries an OpenRTB
schainand you want it verified verbatim.
Inputs:
schain(required): an OpenRTB SupplyChain object ({ ver, complete, nodes:[{asi,sid,hp}] }).site_domainorapp_bundle(optional): the inventory origin, checked against node[0] via ads.txt / OWNERDOMAIN.
Returns: per-node nodes results, an aggregate verdict, recommendations,
and a signed sigil_token.
| Name | Required | Description | Default |
|---|---|---|---|
| schain | Yes | OpenRTB SupplyChain object. | |
| app_bundle | No | ||
| site_domain | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details per-node checks against sellers.json and ads.txt, and returns per-node and aggregate verdict with signed token. Does not mention side effects or auth, but still informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, well-structured with bullet points. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes inputs and outputs (per-node results, verdict, recommendations, sigil_token) despite lacking output schema. Covers essential aspects for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds significant meaning beyond schema: explains schain structure (ver, complete, nodes with asi, sid, hp) and optional inputs site_domain/app_bundle used for ads.txt check. Schema coverage is low (33%), so description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool verifies a full OpenRTB SupplyChain object, with per-node checks. This distinguishes it from siblings like sigil_verify_ads_txt.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this tool when: - A bid request carries an OpenRTB `schain` and you want it verified verbatim.' Provides clear context but does not explicitly mention when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sigil_verify_supply_pathAInspect
The core pre-bid check. Verify the trustworthiness of one programmatic ad supply path and get back a composite trust verdict plus a signed proof token. Sigil composes ads.txt authorization, datacenter-IP classification, Scry fraud-corpus lookup, and app-bundle checks into one score.
Use this tool when:
An ad-buying agent is about to bid and must confirm the supply is genuine.
You want one call instead of running ads.txt / IP / bundle checks separately.
Inputs:
supply_path(required): { publisher_domain, exchange, seller_id, and optionally ip_address, app_bundle:{bundle_id,platform} }.ait(optional): an ATAP AIT id — when present, Sigil records this verification as a witnessed attestation event and binds the token to it.
Returns: trust_score (0-1), verdict (pass/warn/fail/unknown), per-check
results, recommendations, and a signed sigil_token (5-min) to attach to
the bid as proof. The submitted IP is used for lookup only — never stored.
| Name | Required | Description | Default |
|---|---|---|---|
| ait | No | Optional ATAP AIT id to witness this verification under. | |
| supply_path | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses return values (trust_score, verdict, per-check results, recommendations, sigil_token), explains the optional `ait` parameter's effect (records as witnessed attestation), and includes a privacy statement for IP ('never stored'). It does not mention authentication, rate limits, or potential side effects, but these are reasonable omissions for a read-only verification tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening statement, a 'Use this tool when:' section, and bullet-pointed inputs and returns. It is front-loaded with the core purpose and every sentence adds value without redundancy. The format aids quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, nested objects, no output schema), the description adequately covers inputs, behavior, and return values. It explains the composite nature of the verification and the signed token's purpose. However, it could mention potential error conditions or required preconditions (e.g., network access) for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds value by explaining the `ait` parameter's binding behavior and the IP address's non-storage policy. It also outlines the structure of `supply_path` with its optional fields. While the schema already documents these, the description provides contextual meaning beyond the basic field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Verify the trustworthiness of one programmatic ad supply path and get back a composite trust verdict plus a signed proof token.' It lists specific components (ads.txt, IP classification, fraud lookup, app-bundle checks) and distinguishes it from sibling tools that perform individual checks, as stated: 'instead of running ads.txt / IP / bundle checks separately.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'Use this tool when:' section with two clear scenarios: when an ad-buying agent is about to bid and when a single call is preferred over separate checks. It implicitly distinguishes from siblings but does not explicitly state when not to use this tool or provide alternative tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!