AstraNL local proof NL
Server Details
Verify a place in the Netherlands: a verified local hand checks it, you get a sealed receipt.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role: create_task initiates work, check_task reports recorded state and next actor, get_evidence returns signed log events for a reference, and verify_astranl performs cryptographic verification. The main potential overlap is check_task vs verify_astranl, since both report status, but the descriptions clearly separate operational state from integrity/claim verification.
All names are snake_case and verb-led (check_task, create_task, get_evidence, verify_astranl), which is a predictable pattern. verify_astranl deviates slightly by using the product name rather than a resource noun, but it still fits the verb_object convention.
Four tools is lean but plausibly right for a narrow coordination-and-proof service: create, inspect, fetch evidence, and independently verify. Nothing looks redundant, though the surface is small enough that it borders on thin.
The create/check/evidence/verify lifecycle is covered, but there is no cancel_task, list_tasks, or task-update operation, and no executor-side action tool despite the server coordinating executors. Agents can work around some of this via check_task receipts, but the lifecycle has notable gaps.
Available Tools
4 toolscheck_taskARead-onlyIdempotentInspect
Current state of a task or ingress receipt from create_task, and who must act next. Returns only what is recorded; infers nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | No | task id from check_task or a case | |
| receipt_id | No | RCPT-n from create_task | |
| receipt_key | No | owner key shown once by create_task; without it links are read-only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds a genuine output-contract trait — 'returns only what is recorded; infers nothing' — which tells the agent the result is a faithful dump rather than a derived or enriched view.
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?
Two tight sentences with no filler and the core purpose front-loaded. The trailing 'from create_task' is mildly ambiguous about whether it modifies 'task' alone or both 'task or ingress receipt', a small structural blemish.
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 read-only status tool with no output schema, the description covers the key question an agent has: what the call reports and that it does not infer. It stops short of describing the returned shape or clarifying how task_id vs receipt_id select the lookup mode.
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 100%, so the schema already documents all three parameters, including the important consequence that omitting receipt_key makes links read-only. The description adds nothing beyond the schema's id semantics; baseline 3 applies.
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?
Names a specific resource (task or ingress receipt) and the state it reports, plus an extra output dimension ('who must act next'). It implicitly contrasts with create_task by consuming what create_task produced, though it never names the sibling explicitly.
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?
Usage is only implied: 'from create_task' signals it is the follow-up read to a create. There is no statement of when to prefer this over get_evidence or verify_astranl, and no exclusions or prerequisites given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskAInspect
Ask AstraNL to find and coordinate a verified executor for a physical task in the Netherlands. Returns an ingress receipt at once and a case once planning found a path; the client pays the executor directly; AstraNL holds no money.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | what must happen, in plain words | |
| proof | No | what evidence closes the task, agreed before work starts | |
| deadline | No | by when; ISO date or plain words | |
| location | No | city or address in the Netherlands | |
| synthetic | No | true marks a test that must never be counted or executed | |
| budget_cents | No | budget in euro cents | |
| reply_channel | No | email or https URL where AstraNL may answer you |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), so the bar is lower. The description adds genuinely new behavior: an immediate ingress receipt followed later by a case once a path is planned, plus the payment model (client pays the executor directly, AstraNL holds no money). It does not restate what happens if no executor is found or how the receipt should be polled.
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?
Two sentences, no filler, with the core purpose front-loaded and the return/payment behavior following. Every clause carries information an agent would otherwise have to guess.
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?
With no output schema, the description must explain return values, and it does so at a high level (receipt now, case later). For a 7-parameter open-world mutation tool it is nearly complete, missing only practical detail such as how the receipt relates to check_task and what failure looks like.
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 100%, so all seven parameters are already documented in the schema; baseline 3 applies. The description adds only indirect context (the payment model bears on budget_cents) and no format or constraint detail 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?
States a specific action and resource: solicit AstraNL to find and coordinate a verified executor for a physical task in the Netherlands. This is clearly distinct from the read/verify siblings (check_task, get_evidence, verify_astranl) without needing to name them.
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?
Usage is implied by the name and the description's framing as the entry point that emits an ingress receipt, but there is no explicit when-to-use, when-not, or routing to check_task for follow-up. The sibling tools are different enough in verb that ambiguity is limited, so this lands at minimum-viable rather than absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_evidenceARead-onlyIdempotentInspect
Machine-checkable evidence for an AstraNL task, action or receipt: the signed log events that mention it, each verified live, with a proof block stating what is verified, what is not, validity, status, limitations and next actions.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | task id, action id or receipt id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive), but the description adds valuable behavioral context: it states that events are verified live and that the response includes a proof block detailing what is verified, what is not, validity, status, limitations, and next actions. It stops short of describing performance, error conditions, or the exact proof block format.
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 a single, front-loaded sentence that packs the purpose, the returned data, and the proof block contents without redundant phrasing. Every clause contributes to understanding what the tool does and returns.
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?
With no output schema, the description carries the burden of explaining return values, and it does so by naming the signed log events and enumerating the proof block fields. Combined with annotations that cover the read-only safety profile and a fully documented parameter, an agent has enough information to invoke and interpret the tool 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?
Schema description coverage is 100% and the single parameter's schema already explains that it accepts a task, action, or receipt id. The description reinforces that the evidence pertains to those entities but adds no syntax, format, or constraint details 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 specifies the resource (machine-checkable evidence for an AstraNL task, action or receipt) and the returned artifact (signed log events plus a proof block), so the tool's purpose is clear. It does not compare itself to siblings like check_task or verify_astranl, leaving differentiation to the agent.
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?
There is no explicit guidance on when to use this tool versus the sibling tools, nor any prerequisites or exclusions. The description only defines what the tool returns, not the situations that call for it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_astranlARead-onlyIdempotentInspect
Verify any AstraNL reference without a key. Returns two separate layers: integrity (payload hash, Ed25519 signature, Merkle inclusion, recomputed live) and claim (what exactly is attested, by whom, from which source, when, under which method, with which validity limits and current status VALID/EXPIRED/REVOKED/UNKNOWN). Integrity never implies the claim is true for your purpose; you apply your own acceptance rules. Tells you when to re-verify and how to consume a VALID receipt for a next action. Read-only, deterministic, no model in the path.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Any AstraNL reference: action receipt ASTRA-A-..., policy receipt ASTRA-R-..., consumption ASTRA-C-..., log event alk_..., attestation att_/atr_..., ingress receipt RCPT-n |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations. It discloses that the tool is deterministic, read-only, and has no model in the path. It explains the two-layer return structure (integrity with payload hash, Ed25519 signature, Merkle inclusion recomputed live; and claim with attestation details and status). It clarifies the important distinction that integrity never implies the claim is true for your purpose, which is a key behavioral trait.
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 a single, dense paragraph that front-loads the core purpose and key outcome ('Verify any AstraNL reference without a key'). It packs a lot of information but remains focused and avoids unnecessary fluff. The length is justified by the complexity of the verification process and the need to explain the two layers and limitations.
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 and the absence of an output schema, the description provides complete context. It explains the return structure (two layers), the meaning of status values, the non-implication of integrity for claim truth, and how to act on a VALID receipt. It also clarifies the deterministic and read-only behavior, which is crucial for an agent deciding how to use the 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 description coverage is 100% for the single parameter 'ref', and the schema already provides comprehensive examples of reference formats. The description does not add further parameter syntax details, which is acceptable given the high schema coverage. The baseline for 0 parameters is 4, but here there is 1 well-documented parameter, so the description's lack of additional parameter info is acceptable and warrants a 4.
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 states a specific verb (verify) and resource (any AstraNL reference) with a notable capability qualifier ('without a key'). It explains the two-layer output structure (integrity and claim), which clearly distinguishes this verification tool from the sibling tools, which appear to concern counterparty checks and records.
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 gives clear context for use: it tells you when to re-verify and how to consume a VALID receipt for a next action. It also clarifies that integrity does not imply the claim is true for your purpose, implying you must apply your own acceptance rules. However, it does not explicitly name alternatives or state when not to use this tool versus the sibling tools.
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.
4 tool updates
- First observed
check_task - First observed
create_task - First observed
get_evidence - First observed
verify_astranl
Related MCP Connectors
Verify a company, figure or citation before you rely on it. Card or crypto; signed receipt.
Dutch addresses, neighbourhoods, crime, flood risk, rent check, schools and home prices.
Search verified local businesses, check what their verification proves, and message them.
Check that a business proved who it is, read what it sells, and order straight from it.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to dispatch human verifiers for physical world tasks like product authentication, property inspection, and document verification, returning timestamped evidence reports.347 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to obtain independent, Ed25519-signed receipts confirming real-world facts: whether a page is online, a domain is legitimate, an email address is deliverable, a heartbeat was declared, or a scheduled task actually ran. Each response includes a verifiable cryptographic receipt, so agents can prove to their users that an asserted outcome was observed by a neutral third party rather than self-attested.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to obtain an independent review of their drafts, returning a pass/fail verdict with specific issues and suggested fixes, plus a signed receipt. Payments are made per check over x402, with no account or API key needed.MIT

Veritapofficial
AlicenseNot gradedqualityBmaintenanceProvides an MCP endpoint for agents to check whether a real-world fact can be verified, covering businesses, listings, objects, and places, while refusing claims about individuals. It acts as a demand sensor that logs verification attempts, even for unfulfillable requests.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.