Skip to main content
Glama

Get citations and amendments

get_links
Read-onlyIdempotent

Get the graph edges into or out of one item: a law, an article, a ruling, an opinion, a research study or a Gazette issue. Use this to walk citations and amendments directly, instead of only what get_law and get_article attach automatically. For a law key ("law/") the default scope "all" includes the edges of its articles too (each link keeps its real to_key, e.g. "law/244611/art/37"); scope "law" is the law itself only. Newest first by the date of the text each edge comes from. For the next page pass next_cursor as cursor (it is absent on the last page); total is the number of edges. Not legal advice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "key": "<key>"
    },
    "name": "get_links"
  }
}

Input Schema

NameRequiredDescriptionDefault
keyYesthe item's key: "law/<id>", "law/<id>/art/<number>", "ruling/<id>", "opinion/<id>", "research/<id>" or "gazette/<id>"
limitNoat most this many edges. quote is cut to 600 characters when longer (quote_truncated: true); get_article has the full wording
orderNoby the date of the text the edge comes from (Gazette date, else issue date)newest
scopeNofor a law key only: "all" (default) adds the edges to or from its articles, "law" is the law itself only
cursorNonext_cursor of the previous answer; omit for the first page
relationNonarrow to one relation (e.g. "cites", "amend", "repeal"); omit for all
directionNo"to" (edges that name this item as their target) or "from" (edges this item itself carries)to

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / cursor
      Added value: +{
      +  "description": "next_cursor of the previous answer; omit for the first page",
      +  "type": "string"
      +}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "default": 0,
      -  "description": "how many edges to skip (next_offset of the previous page)",
      -  "minimum": 0,
      -  "type": "integer"
      -}
  2. Changed4 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"at most this many edges"New value: +"at most this many edges. quote is cut to 600 characters when longer (quote_truncated: true); get_article has the full wording"
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "how many edges to skip (next_offset of the previous page)",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / order
      Added value: +{
      +  "default": "newest",
      +  "description": "by the date of the text the edge comes from (Gazette date, else issue date)",
      +  "enum": [
      +    "newest",
      +    "oldest"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / scope
      Added value: +{
      +  "description": "for a law key only: \"all\" (default) adds the edges to or from its articles, \"law\" is the law itself only",
      +  "enum": [
      +    "all",
      +    "law"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered; the description adds non-obvious behavior instead: default ordering ('Newest first by the date of the text each edge comes from'), pagination mechanics (pass next_cursor as cursor, absent on the last page), and that total is the edge count. It does not describe the shape of individual edges beyond the to_key note, leaving some return-format gaps.

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?

Front-loaded with purpose and the sibling contrast, then scoping, ordering, and pagination in a logical sequence; every sentence carries operational information. Slightly dense in places (the nested quoted key example) and the closing 'Not legal advice' is boilerplate, but nothing is redundant.

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

Completeness4/5

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

For a 7-parameter, read-only graph query with no output schema, the description covers the ambiguous parts: scope interaction with law keys, sort order, cursor pagination, and total. It does not describe the fields of a returned edge (relation, from_key, dates), which an agent would only learn by calling, but the essential invocation knowledge is present.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning on top: for a law key the default scope 'all' pulls in article edges while each link keeps its real to_key ('law/244611/art/37'), and 'law' limits to the law itself. Ordering and cursor semantics are also restated with operational context rather than mere field echo.

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?

States a specific verb and resource: 'Get the graph edges into or out of one item', then enumerates the exact item types (law, article, ruling, opinion, research study, Gazette issue). It explicitly contrasts itself with get_law and get_article, so an agent can distinguish it from siblings without opening the schema.

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?

Gives an explicit routing rule: 'Use this to walk citations and amendments directly, instead of only what get_law and get_article attach automatically', naming the alternative tools and the condition that selects this one. It also clarifies the law-key scope tradeoff ('all' vs 'law'), which is the main usage ambiguity.

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.