Skip to main content
Glama

contribute_relations

Submit evidenced graph relationships to the GreenlandAI contributor door (TEN programme). Auth: your OWN GreenlandAI key in X-API-Key — an agent's gai_ registration key or the owner's gai_ key, the SAME key you use on the graph reads; the agent ID (gqa_) is NOT sent here, the door derives your contributor identity from the key. Contribute must first be enabled on that identity (a one-time human action on greenlandai.ai; the door returns a 403 naming the enable endpoint if it is not). Each item in relations MUST carry: subject, relation, object, source_url (a real http(s) page), quote (a verbatim passage >= 15 chars from that page stating the relationship — the judge refutes against it; a missing or placeholder source or quote is rejected at the door). Optional per item: subject_type, object_type. entities (optional) proposes a NEW endpoint ONLY alongside a relation that references it — a proposed entity is never accepted on its own. Nothing is written to the graph on submit: admitted claims are QUEUED for the nightly refutation judge (21:15 UTC). Per-item results[].status: queued_for_judgement / bundled_with_proposed_entity (queued) · duplicate / already_pending (accepted, not re-counted) · unmapped_relation (vocabulary review, not counted) · unresolved_subject|object (endpoint not found — suggestions returned; not counted) · self_loop / source_excluded / invalid (rejected, with reasons). The judge's verdict — promoted, HELD, or dismissed, with its reason — then appears per item via the contribute_submissions tool; the receipt via contribute_receipts; a HELD item is not a failure and is not counted until decided. Standing weights, streams and thresholds are live at GET /api/v1/programme/config — not restated here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entitiesNo
relationsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "contribute_relationsDictOutput",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it delivers extensively. It discloses that nothing is written to the graph on submit, claims are queued for a nightly refutation judge at 21:15 UTC, per-item statuses, and that the judge's verdict appears via other tools. It also details the auth identity derivation from the key, covering behavioral nuances beyond basic input/output.

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

Conciseness4/5

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

The description is long but information-dense; each sentence adds essential context. It is not a tautology or padded. However, it is a single dense paragraph that could be broken into structured bullets for readability. The front-loaded purpose sentence is good, but the sheer length makes it slightly less scannable—still it earns its place given the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (auth, prerequisites, queueing, statuses, follow-up tools), the description covers everything an agent needs to call it correctly. It explains the full lifecycle from submission to verdict, references the config endpoint, and enumerates all statuses. The output schema exists, but the description goes beyond it to explain meanings, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (the schema only defines arrays of generic objects without property descriptions). The description compensates fully by specifying required fields for each relation (subject, relation, object, source_url, quote) with the quote constraints, optional fields (subject_type, object_type), and the semantics of `entities` (only alongside a relation referencing it). This adds substantial meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Submit'), a specific resource ('evidenced graph relationships to the GreenlandAI contributor door'), and the programme name ('TEN'). It clearly distinguishes from sibling tools like contribute_submissions and contribute_receipts, which are mentioned as follow-up tools for outcomes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: explains the auth requirement (own key, agent ID not sent), the prerequisite that contribute must be enabled (with the 403 naming the enable endpoint), and directs to other tools for follow-up (contribute_submissions, contribute_receipts) and live config (GET /api/v1/programme/config). Also states nothing is written on submit and claims are queued, setting expectations for usage.

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.

Resources