Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,549Letters: 14Defects: 1,324counted 2 min ago
teppi

Server definition

Hash
sha256:159378d2a3c067a0ed281f2dc90f2394e1462f9478fa3523a237c15015ef1e36
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "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, practice area, application, jurisdiction, etc.) rather than by relevance, call `taxonomy_facets` first to discover the available facet names and value slugs, then call `taxonomy_content` with the slugs you want. Do not state the legal effect of an instrument beyond what these tools return. Status \"stub\": identity confirmed, metadata minimal; a null or empty field means not yet recorded, not that it does not apply.", "tools": [ { "description": "Find TCLP content (clauses, glossary terms, guides) associated with a named concept.\n\n Unlike `search`, this performs a deterministic name match against Entity nodes in\n the knowledge graph rather than a relevance-ranked semantic search. Use it when\n you have a specific term or concept (e.g. \"scope 3 emissions\", \"net zero\") and\n want to retrieve every clause or glossary entry that explicitly references it.\n\n Args:\n name: The entity or concept name to look up (exact match, case-insensitive).\n limit: Maximum number of results to return (1–50).\n include_full_text: Include each hit's full body text (Markdown). Off by\n default — bodies are large; request only when you need the content,\n and prefer a small `limit` when you do.\n\n Returns:\n JSON with \"meta\" and \"results\" where each hit includes the source content\n node and the entity names that matched.\n Each hit's \"references\" lists the instruments it cites: pass a\n reference's `work_id` to `get_legal_resource` for details. A reference's\n `edge` (governs, references, describes) says how the content relates to\n the instrument; it is not a statement of the instrument's legal effect.\n If meta.degraded contains \"lrsf\", references could not be loaded: do not\n conclude that a hit cites no instruments.\n ", "inputSchema": { "properties": { "include_full_text": { "default": false, "title": "Include Full Text", "type": "boolean" }, "limit": { "default": 10, "title": "Limit", "type": "integer" }, "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "entity_lookupArguments", "type": "object" }, "name": "entity_lookup", "outputSchema": { "$defs": { "_EntityHit": { "properties": { "content_type": { "title": "Content Type", "type": "string" }, "entity_matches": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Entity Matches" }, "full_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Full Text" }, "id": { "title": "Id", "type": "string" }, "ranks": { "$ref": "#/$defs/_SearchRanks" }, "references": { "anyOf": [ { "items": { "$ref": "#/$defs/_Reference" }, "type": "array" }, { "type": "null" } ], "title": "References" }, "relationships": { "anyOf": [ { "items": { "$ref": "#/$defs/_Relationship" }, "type": "array" }, { "type": "null" } ], "title": "Relationships" }, "scores": { "$ref": "#/$defs/_SearchScores" }, "title": { "title": "Title", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "title": "_EntityHit", "type": "object" }, "_Reference": { "properties": { "edge": { "title": "Edge", "type": "string" }, "jurisdiction": { "items": { "type": "string" }, "title": "Jurisdiction", "type": "array" }, "name": { "title": "Name", "type": "string" }, "nature": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Nature" }, "staleness": { "title": "Staleness", "type": "string" }, "status": { "title": "Status", "type": "string" }, "work_id": { "title": "Work Id", "type": "string" } }, "required": [ "edge", "work_id", "name", "nature", "jurisdiction", "status", "staleness" ], "title": "_Reference", "type": "object" }, "_Relationship": { "properties": { "path_types": { "items": { "type": "string" }, "title": "Path Types", "type": "array" }, "target_id": { "title": "Target Id", "type": "string" }, "target_label": { "title": "Target Label", "type": "string" }, "target_name": { "title": "Target Name", "type": "string" }, "target_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Url" } }, "required": [ "path_types", "target_id", "target_label", "target_name", "target_url" ], "title": "_Relationship", "type": "object" }, "_SearchMeta": { "properties": { "degraded": { "items": { "type": "string" }, "title": "Degraded", "type": "array" }, "graph_total": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Graph Total" }, "request_id": { "title": "Request Id", "type": "string" }, "text_total": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Text Total" }, "took_ms": { "title": "Took Ms", "type": "integer" }, "total_available": { "title": "Total Available", "type": "integer" } }, "title": "_SearchMeta", "type": "object" }, "_SearchRanks": { "properties": { "bm25": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Bm25" }, "combined": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Combined" }, "graph": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Graph" } }, "title": "_SearchRanks", "type": "object" }, "_SearchScores": { "properties": { "bm25": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Bm25" }, "graph": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Graph" } }, "title": "_SearchScores", "type": "object" } }, "properties": { "meta": { "$ref": "#/$defs/_SearchMeta" }, "results": { "items": { "$ref": "#/$defs/_EntityHit" }, "title": "Results", "type": "array" } }, "required": [ "meta", "results" ], "title": "EntityLookupResult", "type": "object" } }, { "description": "Find the laws, regulations, standards, frameworks and guidance that TCLP content refers to.\n\n This is not a general legal database: it holds only the instruments that TCLP\n clauses, guides and glossary terms cite.\n\n Status \"stub\": identity confirmed, metadata minimal; a null or empty field means\n not yet recorded, not that it does not apply.\n On a stub, `nature` may be an unreviewed inference, and is often null. Do not\n fill in missing fields from your own knowledge, and do not state an\n instrument's legal effect.\n\n A filter on nature, sector or bindingness excludes works where that field is\n not recorded. Most works do not record these yet, so an empty result does not\n mean that TCLP content cites no such instrument; prefer `query` or\n `jurisdiction`.\n\n Args:\n query: Case-insensitive substring match on name and aliases (e.g. \"CSRD\"),\n at most 200 characters. An exact name or alias match ranks first.\n nature: Any of \"legislation\", \"regulation\", \"standard\", \"framework\", \"guidance\".\n jurisdiction: Jurisdiction slugs, matched exactly: lower-case letters,\n digits and hyphens (e.g. \"european-union\"). Get valid values from\n `taxonomy_facets(scope=\"legal_resource\")`.\n sector: Sector slugs, matched exactly: lower-case letters, digits and\n hyphens. Get valid values from `taxonomy_facets(scope=\"legal_resource\")`.\n bindingness: Any of \"binding\", \"comply_or_explain\", \"voluntary\", \"depends\".\n Each list filter takes at most 20 values.\n limit: Maximum results (1–100, default 20).\n offset: Result offset for paging (0–10000, default 0).\n\n Returns:\n JSON with \"meta\" (total_available, limit, offset) and \"results\" (one entry\n per instrument, with `work_id` for `get_legal_resource` and `citing_count`).\n ", "inputSchema": { "properties": { "bindingness": { "anyOf": [ { "items": { "enum": [ "binding", "comply_or_explain", "voluntary", "depends" ], "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Bindingness" }, "jurisdiction": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Jurisdiction" }, "limit": { "default": 20, "title": "Limit", "type": "integer" }, "nature": { "anyOf": [ { "items": { "enum": [ "legislation", "regulation", "standard", "framework", "guidance" ], "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Nature" }, "offset": { "default": 0, "title": "Offset", "type": "integer" }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Query" }, "sector": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Sector" } }, "title": "find_legal_resourcesArguments", "type": "object" }, "name": "find_legal_resources", "outputSchema": { "$defs": { "_LegalResource": { "properties": { "aliases": { "items": { "type": "string" }, "title": "Aliases", "type": "array" }, "bindingness": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bindingness" }, "bindingness_note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bindingness Note" }, "citing_count": { "title": "Citing Count", "type": "integer" }, "jurisdiction": { "items": { "type": "string" }, "title": "Jurisdiction", "type": "array" }, "name": { "title": "Name", "type": "string" }, "nature": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Nature" }, "sector": { "items": { "type": "string" }, "title": "Sector", "type": "array" }, "status": { "title": "Status", "type": "string" }, "work_id": { "title": "Work Id", "type": "string" }, "work_id_scheme": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Work Id Scheme" } }, "title": "_LegalResource", "type": "object" }, "_LegalResourceListMeta": { "properties": { "limit": { "title": "Limit", "type": "integer" }, "offset": { "title": "Offset", "type": "integer" }, "request_id": { "title": "Request Id", "type": "string" }, "took_ms": { "title": "Took Ms", "type": "integer" }, "total_available": { "title": "Total Available", "type": "integer" } }, "title": "_LegalResourceListMeta", "type": "object" } }, "properties": { "meta": { "$ref": "#/$defs/_LegalResourceListMeta" }, "results": { "items": { "$ref": "#/$defs/_LegalResource" }, "title": "Results", "type": "array" } }, "required": [ "meta", "results" ], "title": "LegalResourceListResult", "type": "object" } }, { "description": "Get one law, regulation, standard, framework or guidance, and the TCLP content citing it.\n\n Versions are not tracked yet, so every citation has `staleness: \"unpinned\"`:\n the content cites the instrument without naming a version. There is no\n description yet; do not supply one from your own knowledge, and do not state\n the instrument's legal effect.\n\n Args:\n work_id: The instrument's `work_id`, from `find_legal_resources` or from a\n search result's \"references\".\n citing_limit: Maximum citing content items to return (1–100, default 20).\n\n Returns:\n JSON with \"resource\", \"citing\" (each with id, title, url, content_type,\n edge, staleness) and \"citing_total\". `edge` (governs, references,\n describes) says how the content relates to the instrument; it is not a\n statement of the instrument's legal effect.\n ", "inputSchema": { "properties": { "citing_limit": { "default": 20, "title": "Citing Limit", "type": "integer" }, "work_id": { "title": "Work Id", "type": "string" } }, "required": [ "work_id" ], "title": "get_legal_resourceArguments", "type": "object" }, "name": "get_legal_resource", "outputSchema": { "$defs": { "_CitingContent": { "properties": { "content_type": { "title": "Content Type", "type": "string" }, "edge": { "title": "Edge", "type": "string" }, "id": { "title": "Id", "type": "string" }, "staleness": { "title": "Staleness", "type": "string" }, "title": { "title": "Title", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "id", "title", "url", "content_type", "edge", "staleness" ], "title": "_CitingContent", "type": "object" }, "_LegalResource": { "properties": { "aliases": { "items": { "type": "string" }, "title": "Aliases", "type": "array" }, "bindingness": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bindingness" }, "bindingness_note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bindingness Note" }, "citing_count": { "title": "Citing Count", "type": "integer" }, "jurisdiction": { "items": { "type": "string" }, "title": "Jurisdiction", "type": "array" }, "name": { "title": "Name", "type": "string" }, "nature": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Nature" }, "sector": { "items": { "type": "string" }, "title": "Sector", "type": "array" }, "status": { "title": "Status", "type": "string" }, "work_id": { "title": "Work Id", "type": "string" }, "work_id_scheme": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Work Id Scheme" } }, "title": "_LegalResource", "type": "object" }, "_TaxonomyFacetsMeta": { "properties": { "request_id": { "title": "Request Id", "type": "string" }, "took_ms": { "title": "Took Ms", "type": "integer" } }, "required": [ "took_ms", "request_id" ], "title": "_TaxonomyFacetsMeta", "type": "object" } }, "properties": { "citing": { "items": { "$ref": "#/$defs/_CitingContent" }, "title": "Citing", "type": "array" }, "citing_total": { "title": "Citing Total", "type": "integer" }, "meta": { "$ref": "#/$defs/_TaxonomyFacetsMeta" }, "resource": { "$ref": "#/$defs/_LegalResource" } }, "required": [ "meta", "resource", "citing", "citing_total" ], "title": "LegalResourceDetailResult", "type": "object" } }, { "description": "Search the TCLP knowledge graph using fusion search (semantic + BM25).\n\n Args:\n query: Free-text search query (max 1000 characters).\n node_type: Content scope — \"tclp\" (clauses, glossary terms, guides) or \"all\".\n Laws, regulations, standards and frameworks are not searchable here:\n use `find_legal_resources`.\n limit: Maximum number of results to return (1–50).\n rerank: Whether to apply RRF reranking when combining graph and text results.\n include_full_text: Include each hit's full body text (Markdown). Off by\n default — bodies are large; request only when you need the content,\n and prefer a small `limit` when you do.\n\n Returns:\n JSON with \"meta\" (totals, timing) and \"results\" (ranked hits with title,\n url, content_type, scores, optionally relationships_text, related and\n full_text).\n Each hit's \"references\" lists the instruments it cites: pass a\n reference's `work_id` to `get_legal_resource` for details. A reference's\n `edge` (governs, references, describes) says how the content relates to\n the instrument; it is not a statement of the instrument's legal effect.\n If meta.degraded contains \"lrsf\", references could not be loaded: do not\n conclude that a hit cites no instruments.\n ", "inputSchema": { "properties": { "include_full_text": { "default": false, "title": "Include Full Text", "type": "boolean" }, "limit": { "default": 10, "title": "Limit", "type": "integer" }, "node_type": { "default": "all", "enum": [ "tclp", "all" ], "title": "Node Type", "type": "string" }, "query": { "title": "Query", "type": "string" }, "rerank": { "default": true, "title": "Rerank", "type": "boolean" } }, "required": [ "query" ], "title": "searchArguments", "type": "object" }, "name": "search", "outputSchema": { "$defs": { "_Reference": { "properties": { "edge": { "title": "Edge", "type": "string" }, "jurisdiction": { "items": { "type": "string" }, "title": "Jurisdiction", "type": "array" }, "name": { "title": "Name", "type": "string" }, "nature": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Nature" }, "staleness": { "title": "Staleness", "type": "string" }, "status": { "title": "Status", "type": "string" }, "work_id": { "title": "Work Id", "type": "string" } }, "required": [ "edge", "work_id", "name", "nature", "jurisdiction", "status", "staleness" ], "title": "_Reference", "type": "object" }, "_Related": { "properties": { "id": { "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Url" } }, "required": [ "id", "name", "url" ], "title": "_Related", "type": "object" }, "_SearchHit": { "properties": { "content_type": { "title": "Content Type", "type": "string" }, "entity_matches": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Entity Matches" }, "full_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Full Text" }, "id": { "title": "Id", "type": "string" }, "ranks": { "$ref": "#/$defs/_SearchRanks" }, "references": { "anyOf": [ { "items": { "$ref": "#/$defs/_Reference" }, "type": "array" }, { "type": "null" } ], "title": "References" }, "related": { "items": { "$ref": "#/$defs/_Related" }, "title": "Related", "type": "array" }, "relationships_text": { "title": "Relationships Text", "type": "string" }, "scores": { "$ref": "#/$defs/_SearchScores" }, "title": { "title": "Title", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "title": "_SearchHit", "type": "object" }, "_SearchMeta": { "properties": { "degraded": { "items": { "type": "string" }, "title": "Degraded", "type": "array" }, "graph_total": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Graph Total" }, "request_id": { "title": "Request Id", "type": "string" }, "text_total": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Text Total" }, "took_ms": { "title": "Took Ms", "type": "integer" }, "total_available": { "title": "Total Available", "type": "integer" } }, "title": "_SearchMeta", "type": "object" }, "_SearchRanks": { "properties": { "bm25": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Bm25" }, "combined": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Combined" }, "graph": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Graph" } }, "title": "_SearchRanks", "type": "object" }, "_SearchScores": { "properties": { "bm25": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Bm25" }, "graph": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Graph" } }, "title": "_SearchScores", "type": "object" } }, "properties": { "meta": { "$ref": "#/$defs/_SearchMeta" }, "results": { "items": { "$ref": "#/$defs/_SearchHit" }, "title": "Results", "type": "array" } }, "required": [ "meta", "results" ], "title": "SearchResult", "type": "object" } }, { "description": "List TCLP content (clauses, guides) or legal resources filtered by taxonomy facet=value.\n\n Multi-facet filters are combined with AND. Call `taxonomy_facets` first\n to learn which facet names and slugs exist; using a name not in that\n list returns a 400.\n\n Args:\n filters: Mapping of facet name to value slug, e.g.\n `{\"sector\": \"real-estate\", \"practice_area\": \"commercial\"}`.\n Each facet may appear at most once.\n scope: `clause` (ClauseName only), `guide` (Guide only), `legal_resource`\n (laws, regulations, standards and frameworks; facets `jurisdiction`\n and `sector` only), or `all` (clauses and guides, the default).\n limit: Maximum results to return (1–100, default 25).\n offset: Result offset for paging (default 0).\n sort: `title`, `date_published_desc`, or `date_modified_desc`.\n\n Returns:\n JSON with \"meta\" (totals, scope, filters echoed back) and \"results\"\n (each hit has `id`, `url`, `title`, `content_type`, dates, and a\n `facets` map of all taxonomy arrays on the node).\n ", "inputSchema": { "properties": { "filters": { "additionalProperties": { "type": "string" }, "title": "Filters", "type": "object" }, "limit": { "default": 25, "title": "Limit", "type": "integer" }, "offset": { "default": 0, "title": "Offset", "type": "integer" }, "scope": { "default": "all", "title": "Scope", "type": "string" }, "sort": { "default": "title", "title": "Sort", "type": "string" } }, "required": [ "filters" ], "title": "taxonomy_contentArguments", "type": "object" }, "name": "taxonomy_content", "outputSchema": { "$defs": { "_TaxonomyContentHit": { "properties": { "content_type": { "title": "Content Type", "type": "string" }, "date_modified": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Date Modified" }, "date_published": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Date Published" }, "facets": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "title": "Facets", "type": "object" }, "id": { "title": "Id", "type": "string" }, "title": { "title": "Title", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "title": "_TaxonomyContentHit", "type": "object" }, "_TaxonomyContentMeta": { "properties": { "filters": { "additionalProperties": { "type": "string" }, "title": "Filters", "type": "object" }, "request_id": { "title": "Request Id", "type": "string" }, "scope": { "title": "Scope", "type": "string" }, "took_ms": { "title": "Took Ms", "type": "integer" }, "total_available": { "title": "Total Available", "type": "integer" } }, "required": [ "total_available", "took_ms", "request_id", "scope", "filters" ], "title": "_TaxonomyContentMeta", "type": "object" } }, "properties": { "meta": { "$ref": "#/$defs/_TaxonomyContentMeta" }, "results": { "items": { "$ref": "#/$defs/_TaxonomyContentHit" }, "title": "Results", "type": "array" } }, "required": [ "meta", "results" ], "title": "TaxonomyContentResult", "type": "object" } }, { "description": "List taxonomy facets and their value slugs across TCLP content.\n\n Facets are taxonomy categories like `sector`, `practice_area`,\n `application`, and `jurisdiction`. Each facet returns the list of slugs\n that actually appear on the graph, with counts. Use this to discover\n the vocabulary, then call `taxonomy_content` with chosen slugs.\n\n Args:\n scope: Which labels to include — `clause` (ClauseName only), `guide`\n (Guide only), `legal_resource` (laws, regulations, standards and\n frameworks; facets `jurisdiction` and `sector` only), or `all`\n (clauses and guides, the default).\n\n Returns:\n JSON with \"meta\" and \"facets\". Each facet has `name`, `applies_to`\n (list of Neo4j labels carrying it), and `values` (list of\n `{slug, count}`, sorted by count desc).\n ", "inputSchema": { "properties": { "scope": { "default": "all", "title": "Scope", "type": "string" } }, "title": "taxonomy_facetsArguments", "type": "object" }, "name": "taxonomy_facets", "outputSchema": { "$defs": { "_TaxonomyFacet": { "properties": { "applies_to": { "items": { "type": "string" }, "title": "Applies To", "type": "array" }, "name": { "title": "Name", "type": "string" }, "values": { "items": { "$ref": "#/$defs/_TaxonomyFacetValue" }, "title": "Values", "type": "array" } }, "required": [ "name", "applies_to", "values" ], "title": "_TaxonomyFacet", "type": "object" }, "_TaxonomyFacetValue": { "properties": { "count": { "title": "Count", "type": "integer" }, "slug": { "title": "Slug", "type": "string" } }, "required": [ "slug", "count" ], "title": "_TaxonomyFacetValue", "type": "object" }, "_TaxonomyFacetsMeta": { "properties": { "request_id": { "title": "Request Id", "type": "string" }, "took_ms": { "title": "Took Ms", "type": "integer" } }, "required": [ "took_ms", "request_id" ], "title": "_TaxonomyFacetsMeta", "type": "object" } }, "properties": { "facets": { "items": { "$ref": "#/$defs/_TaxonomyFacet" }, "title": "Facets", "type": "array" }, "meta": { "$ref": "#/$defs/_TaxonomyFacetsMeta" } }, "required": [ "meta", "facets" ], "title": "TaxonomyFacetsResult", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:159378d2a3c067a0ed281f2dc90f2394e1462f9478fa3523a237c15015ef1e36 | sha256sum