AstraNL local proof NL

Verify a place in the Netherlands: a verified local hand checks it, you get a sealed receipt.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~819Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.64% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "local-proof-nl": {
      "url": "https://astranl.com/mcp/streamable?profile=localproof"
    }
  }
}

Remote endpoints

https://astranl.com/mcp/streamable?profile=localproofstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_task(need, location, deadline, proof, budget_cents, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "need": {
      "type": "string",
      "maxLength": 800,
      "description": "what must happen, in plain words"
    },
    "location": {
      "type": "string",
      "maxLength": 200,
      "description": "city or address in the Netherlands"
    },
    "deadline": {
      "type": "string",
      "maxLength": 100,
      "description": "by when; ISO date or plain words"
    },
    "proof": {
      "type": "string",
      "maxLength": 400,
      "description": "what evidence closes the task, agreed before work starts"
    },
    "budget_cents": {
      "type": "integer",
      "minimum": 100,
      "description": "budget in euro cents"
    },
    "reply_channel": {
      "type": "string",
      "maxLength": 300,
      "description": "email or https URL where AstraNL may answer you"
    },
    "synthetic": {
      "type": "boolean",
      "description": "true marks a test that must never be counted or executed"
    }
  },
  "required": [
    "need"
  ],
  "additionalProperties": false
}
🟢check_task(task_id, receipt_id, receipt_key)

Current state of a task or ingress receipt from create_task, and who must act next. Returns only what is recorded; infers nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "maxLength": 40,
      "description": "task id from check_task or a case"
    },
    "receipt_id": {
      "type": "string",
      "maxLength": 40,
      "description": "RCPT-n from create_task"
    },
    "receipt_key": {
      "type": "string",
      "maxLength": 80,
      "description": "owner key shown once by create_task; without it links are read-only"
    }
  },
  "minProperties": 1,
  "additionalProperties": false
}
🟢get_evidence(task_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "maxLength": 40,
      "description": "task id, action id or receipt id"
    }
  },
  "required": [
    "task_id"
  ],
  "additionalProperties": false
}
🟢verify_astranl(ref)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 4,
      "maxLength": 64,
      "description": "Any AstraNL reference: action receipt ASTRA-A-..., policy receipt ASTRA-R-..., consumption ASTRA-C-..., log event alk_..., attestation att_/atr_..., ingress receipt RCPT-n"
    }
  },
  "required": [
    "ref"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools