AstraNL

Evidence-checked context and NL coordination for AI agents. AstraNL never holds third-party funds.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
86%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
90%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,365Tokens (Tool-Definitionen)
~1.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.07% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "mcp": {
      "url": "https://astranl.com/mcp/sse"
    }
  }
}

Remote-Endpunkte

https://astranl.com/mcp/ssesse
https://astranl.com/mcp/streamablestreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢ground_astranl(query, source, max_items, budget_ms, max_age_seconds, ...)

Get compact, source-linked real-world context for an LLM in ONE read-only call. Searches AstraNL public materials or tender records, or its protocol identity. Use source=public_tenders for tenders, materials for products; auto keeps domains separate. Returns record update times, fresh/stale/unknown labels, record disagreements, coverage gaps and ready-to-use context_text. Never books, contacts or pays anyone. Not a general web search: no match is not proof of absence; a cached price is not a quote. Optional astranl.reality-link.v2 profile checks exact source-record claims. It does not promote registry records to independently verified real-world facts. official.deadline on tender:TED-* records is checked live at the EU publisher (TED), budgeted and cached; unavailable means UNKNOWN.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1600,
      "description": "Short subject, product keywords or identifier; all product keyword groups must match."
    },
    "source": {
      "type": "string",
      "enum": [
        "auto",
        "materials",
        "public_tenders",
        "protocol_identity",
        "all"
      ],
      "default": "auto",
      "description": "v1: auto, materials, public_tenders, protocol_identity or all. v2 requires an explicit materials, public_tenders or protocol_identity."
    },
    "max_items": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "default": 6,
      "description": "v1 only; v2 looks up at most 12 records and refuses max_items."
    },
    "budget_ms": {
      "type": "integer",
      "minimum": 50,
      "maximum": 1500,
      "default": 750
    },
    "max_age_seconds": {
      "type": "integer",
      "minimum": 60,
      "maximum": 604800,
      "default": 86400
    },
    "protocol": {
      "type": "string",
      "enum": [
        "astranl.reality-link.v2"
      ],
      "description": "Omit for the v1 context call. Set to astranl.reality-link.v2 together with claims to check typed claims against source records."
    },
    "claims": {
      "type": "array",
      "minItems": 1,
      "maxItems": 16,
      "description": "v2 only. Each claim names a record id from a previous result, a predicate and the expected value.",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "record_id",
          "predicate",
          "expected"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "record_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "predicate": {
            "type": "string",
            "enum": [
              "record.title",
              "record.brand",
              "record.listed_price",
              "record.stock_reported",
              "record.closing_date",
              "reality.stock_available",
              "reality.delivery_by",
              "reality.suitable_for",
              "official.deadline"
            ]
          },
          "expected": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 600
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "amount",
                  "currency"
                ],
                "properties": {
                  "amount": {
                    "type": "string",
                    "pattern": "^\\d{1,10}(\\.\\d{1,2})?$"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  }
                }
              }
            ]
          }
        }
      }
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢ask_astranl(question)

NO-COMMITMENT reality feasibility check. Describe a real-world task (what, where, by when, budget) and AstraNL answers whether it can execute it in the Netherlands through humans, companies, robots or machines: possible, execution_paths, estimated_range, missing information, coordination_fee (1 percent on the completed transaction, client pays the executor directly), next_action. Read-only: nothing is created, contacted or authorized. General questions about AstraNL capabilities are answered too.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "maxLength": 400
    }
  },
  "required": [
    "question"
  ],
  "additionalProperties": false
}
🟡create_task(need, location, deadline, proof, budget_cents, ...)

Create and register a real-world execution task via agent-hands.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "need": {
      "type": "string",
      "maxLength": 800
    },
    "location": {
      "type": "string",
      "maxLength": 200
    },
    "deadline": {
      "type": "string",
      "maxLength": 100
    },
    "proof": {
      "type": "string",
      "maxLength": 400
    },
    "budget_cents": {
      "type": "integer",
      "minimum": 100
    },
    "reply_channel": {
      "type": "string",
      "maxLength": 300
    },
    "synthetic": {
      "type": "boolean"
    }
  },
  "required": [
    "need"
  ],
  "additionalProperties": false
}
🟡check_task(task_id, receipt_id)

Check the status of a registered task, or of a durable ingress receipt (receipt_id from create_task): returns what has actually happened after the receipt, nothing more.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "maxLength": 40
    },
    "receipt_id": {
      "type": "string",
      "maxLength": 40
    }
  },
  "additionalProperties": false
}
🟢get_evidence(task_id)

Retrieve cryptographic evidence chain for a task.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "task_id"
  ],
  "additionalProperties": false
}
🟢search(query)

Search AstraNL coordination data (robots registry, service categories, and merchant parts by keyword). Returns a list of results, each with an id and a short title/snippet, for use with the fetch tool. Read-only. This is the generic discovery entry point expected by agent frameworks.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Free-text search query."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢fetch(id)

Fetch the full record for a single result id returned by search (robot passport, category detail, or merchant SKU). Read-only.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 120,
      "description": "Result id from search (e.g. robot:DJI-Matrice, sku:16759:Green-flor)."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools
verifiziertVersion nicht aufgezeichnet7 Tools
verifiziertVersion nicht aufgezeichnet6 Tools
verifiziertVersion nicht aufgezeichnet6 Tools