_ registry / mcp streamable-http · checked 12m ago

kg_api

https://mcp.chancerylaneproject.org

Registry code: 0a9cbe96fd0d96bf

api record

Search The Chancery Lane Project's knowledge graph of climate-related contract clauses, glossary terms, and guides, and the laws, regulations, standards, frameworks and guidance that this content refers to. Use `search` for relevance-ranked content; each result lists the instruments it references. Use `entity_lookup` when you have a specific concept or entity name (e.g. 'scope 3 emissions'). Use `find_legal_resources` to find an instrument by name or jurisdiction, and `get_legal_resource` for one instrument and the content that cites it. To browse content by taxonomy categories (sector,…

endpoint
https://mcp.chancerylaneproject.org/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is kg_api live?
Yes — it answered the hub's last check (checked 12m ago). It answered 100% of checks over the last 30 days.
Is kg_api free to use?
Yes — the hub reached it with no key and no payment.
What tools does kg_api have?
6 tools: entity_lookup, get_legal_resource, search, taxonomy_content, find_legal_resources, taxonomy_facets.
Is kg_api safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.8%

90 days 99.8%· all time 99.8%

latency
158ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 527 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • unknown → live
_ what it is for
used for
  • search climate contract clauses
  • find laws referenced by climate clauses
  • look up climate legal glossary terms
takes → gives
text → data, text
tools
6 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 6 tools
2 open 4 never probed 2 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • find_legal_resources reads open 7h ago

    Find the laws, regulations, standards, frameworks and guidance that TCLP content refers to. This is not a general legal database: it holds only the instruments that TCLP clauses, guides and glossary terms cite. Status "stub": identity confirmed, metadata minimal; a null or empty field means not yet recorded, not that it does not apply. On a stub, `nature` may be an unreviewed inference, and is often null. Do not fill in missing fields from your own knowledge, and do not state an instrument's legal effect. A filter on nature, sector or bindingness excludes works where that field is not recorded. Most works do not record these yet, so an empty result does not mean that TCLP content cites no such instrument; prefer `query` or `jurisdiction`. Args: query: Case-insensitive substring match on name and aliases (e.g. "CSRD"), at most 200 characters. An exact name or alias match ranks first. nature: Any of "legislation", "regulation", "standard", "framework", "guidance". jurisdiction: Jurisdiction slugs, matched exactly: lower-case letters, digits and hyphens (e.g. "european-union"). Get valid values from `taxonomy_facets(scope="legal_resource")`. sector: Sector slugs, matched exactly: lower-case letters, digits and hyphens. Get valid values from `taxonomy_facets(scope="legal_resource")`. bindingness: Any of "binding", "comply_or_explain", "voluntary", "depends". Each list filter takes at most 20 values. limit: Maximum results (1–100, default 20). offset: Result offset for paging (0–10000, default 0). Returns: JSON with "meta" (total_available, limit, offset) and "results" (one entry per instrument, with `work_id` for `get_legal_resource` and `citing_count`).

    mcp-tool

    {
      "type": "object",
      "title": "find_legal_resourcesArguments",
      "properties": {
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        },
        "query": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            {
              "type": "null"
            }
          ],
          "title": "Query",
          "default": null
        },
        "nature": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "enum": [
                  "legislation",
                  "regulation",
                  "standard",
                  "framework",
                  "guidance"
                ],
                "type": "string"
              },
              "maxItems": 20
            },
            {
              "type": "null"
            }
          ],
          "title": "Nature",
          "default": null
        },
        "offset": {
          "type": "integer",
          "title": "Offset",
          "default": 0,
          "maximum": 10000,
          "minimum": 0
        },
        "sector": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-z0-9-]+$",
                "maxLength": 64
              },
              "maxItems": 20
            },
            {
              "type": "null"
            }
          ],
          "title": "Sector",
          "default": null
        },
        "bindingness": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "enum": [
                  "binding",
                  "comply_or_explain",
                  "voluntary",
                  "depends"
                ],
                "type": "string"
              },
              "maxItems": 20
            },
            {
              "type": "null"
            }
          ],
          "title": "Bindingness",
          "default": null
        },
        "jurisdiction": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-z0-9-]+$",
                "maxLength": 64
              },
              "maxItems": 20
            },
            {
              "type": "null"
            }
          ],
          "title": "Jurisdiction",
          "default": null
        }
      }
    }
    arguments 115 lines
  • taxonomy_facets reads open 7h ago

    List taxonomy facets and their value slugs across TCLP content. Facets are taxonomy categories like `sector`, `practice_area`, `application`, and `jurisdiction`. Each facet returns the list of slugs that actually appear on the graph, with counts. Use this to discover the vocabulary, then call `taxonomy_content` with chosen slugs. Args: scope: Which labels to include — `clause` (ClauseName only), `guide` (Guide only), `legal_resource` (laws, regulations, standards and frameworks; facets `jurisdiction` and `sector` only), or `all` (clauses and guides, the default). Returns: JSON with "meta" and "facets". Each facet has `name`, `applies_to` (list of Neo4j labels carrying it), and `values` (list of `{slug, count}`, sorted by count desc).

    mcp-tool

    {
      "type": "object",
      "title": "taxonomy_facetsArguments",
      "properties": {
        "scope": {
          "enum": [
            "clause",
            "guide",
            "legal_resource",
            "all"
          ],
          "type": "string",
          "title": "Scope",
          "default": "all"
        }
      }
    }
    arguments 17 lines
  • entity_lookup reads unknown 12m ago

    Find TCLP content (clauses, glossary terms, guides) associated with a named concept. Unlike `search`, this performs a deterministic name match against Entity nodes in the knowledge graph rather than a relevance-ranked semantic search. Use it when you have a specific term or concept (e.g. "scope 3 emissions", "net zero") and want to retrieve every clause or glossary entry that explicitly references it. Args: name: The entity or concept name to look up (exact match, case-insensitive). limit: Maximum number of results to return (1–50). include_full_text: Include each hit's full body text (Markdown). Off by default — bodies are large; request only when you need the content, and prefer a small `limit` when you do. Returns: JSON with "meta" and "results" where each hit includes the source content node and the entity names that matched. Each hit's "references" lists the instruments it cites: pass a reference's `work_id` to `get_legal_resource` for details. A reference's `edge` (governs, references, describes) says how the content relates to the instrument; it is not a statement of the instrument's legal effect. An empty list means the hit cites no instruments. null with "lrsf" in meta.degraded means references could not be loaded: do not conclude that the hit cites no instruments.

    mcp-tool

    {
      "type": "object",
      "title": "entity_lookupArguments",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "maxLength": 1000,
          "minLength": 1
        },
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 10,
          "maximum": 50,
          "minimum": 1
        },
        "include_full_text": {
          "type": "boolean",
          "title": "Include Full Text",
          "default": false
        }
      }
    }
    arguments 27 lines
  • get_legal_resource reads unknown 12m ago

    Get one law, regulation, standard, framework or guidance, and the TCLP content citing it. Versions are not tracked yet, so every citation has `staleness: "unpinned"`: the content cites the instrument without naming a version. There is no description yet; do not supply one from your own knowledge, and do not state the instrument's legal effect. Args: work_id: The instrument's `work_id`, from `find_legal_resources` or from a search result's "references". citing_limit: Maximum citing content items to return (1–100, default 20). Returns: JSON with "resource", "citing" (each with id, title, url, content_type, edge, staleness) and "citing_total". `edge` (governs, references, describes) says how the content relates to the instrument; it is not a statement of the instrument's legal effect.

    mcp-tool

    {
      "type": "object",
      "title": "get_legal_resourceArguments",
      "required": [
        "work_id"
      ],
      "properties": {
        "work_id": {
          "type": "string",
          "title": "Work Id",
          "maxLength": 500,
          "minLength": 1
        },
        "citing_limit": {
          "type": "integer",
          "title": "Citing Limit",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        }
      }
    }
    arguments 22 lines
  • search reads unknown 7h ago

    Search the TCLP knowledge graph using fusion search (semantic + BM25). Args: query: Free-text search query (max 1000 characters). node_type: Content scope — "tclp" (clauses, glossary terms, guides) or "all". Laws, regulations, standards and frameworks are not searchable here: use `find_legal_resources`. limit: Maximum number of results to return (1–50). rerank: Whether to apply RRF reranking when combining graph and text results. include_full_text: Include each hit's full body text (Markdown). Off by default — bodies are large; request only when you need the content, and prefer a small `limit` when you do. Returns: JSON with "meta" (totals, timing) and "results" (ranked hits with title, url, content_type, scores, optionally relationships_text, related and full_text). Each hit's "references" lists the instruments it cites: pass a reference's `work_id` to `get_legal_resource` for details. A reference's `edge` (governs, references, describes) says how the content relates to the instrument; it is not a statement of the instrument's legal effect. An empty list means the hit cites no instruments. null with "lrsf" in meta.degraded means references could not be loaded: do not conclude that the hit cites no instruments.

    mcp-tool

    {
      "type": "object",
      "title": "searchArguments",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 10,
          "maximum": 50,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "title": "Query",
          "maxLength": 1000,
          "minLength": 1
        },
        "rerank": {
          "type": "boolean",
          "title": "Rerank",
          "default": true
        },
        "node_type": {
          "enum": [
            "tclp",
            "all"
          ],
          "type": "string",
          "title": "Node Type",
          "default": "all"
        },
        "include_full_text": {
          "type": "boolean",
          "title": "Include Full Text",
          "default": false
        }
      }
    }
    arguments 41 lines
  • taxonomy_content reads unknown 12m ago

    List TCLP content (clauses, guides) or legal resources filtered by taxonomy facet=value. Multi-facet filters are combined with AND. Call `taxonomy_facets` first to learn which facet names and slugs exist; using a name not in that list returns a 400. Args: filters: Mapping of facet name to value slug, e.g. `{"sector": "real-estate", "practice_area": "commercial"}`. Each facet may appear at most once. scope: `clause` (ClauseName only), `guide` (Guide only), `legal_resource` (laws, regulations, standards and frameworks; facets `jurisdiction` and `sector` only), or `all` (clauses and guides, the default). limit: Maximum results to return (1–100, default 25). offset: Result offset for paging (default 0). sort: `title`, `date_published_desc`, or `date_modified_desc`. Returns: JSON with "meta" (totals, scope, filters echoed back) and "results" (each hit has `id`, `url`, `title`, `content_type`, dates, and a `facets` map of all taxonomy arrays on the node). `content_type` is `clause`, `guide` or `legal_resource`, the same values that `search` returns.

    mcp-tool

    {
      "type": "object",
      "title": "taxonomy_contentArguments",
      "required": [
        "filters"
      ],
      "properties": {
        "sort": {
          "enum": [
            "title",
            "date_published_desc",
            "date_modified_desc"
          ],
          "type": "string",
          "title": "Sort",
          "default": "title"
        },
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 25,
          "maximum": 100,
          "minimum": 1
        },
        "scope": {
          "enum": [
            "clause",
            "guide",
            "legal_resource",
            "all"
          ],
          "type": "string",
          "title": "Scope",
          "default": "all"
        },
        "offset": {
          "type": "integer",
          "title": "Offset",
          "default": 0,
          "minimum": 0
        },
        "filters": {
          "type": "object",
          "title": "Filters",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
    arguments 50 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 0a9cbe96fd0d96bf.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/0a9cbe96fd0d96bf/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/0a9cbe96fd0d96bf/badge.svg)](https://brick.blue/agent/0a9cbe96fd0d96bf?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.