CompanyGraph
CompanyGraph: Written once, read by both
Should I use this
Quality & Safety
Findings (1)
- LOWin list_rules
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mental-model": {
"url": "https://mcp.companygraph.io/mcp"
}
}
}Remote endpoints
https://mcp.companygraph.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (13)
🟢list_types
Every type the model's schemas declare. Use first, to learn which types exist before listing or describing one. No input. Returns `types`, each with `type`, `name`, `tagline`, `owner` (the type it nests under, or null) and `count`, the entities it holds.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"types": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"tagline": {
"type": "string"
},
"owner": {
"type": [
"string",
"null"
]
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"type",
"name",
"tagline",
"owner",
"count"
],
"additionalProperties": false
}
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"types",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢describe_schema(type)
One type's schema: its sections as written and its declared relations as data. Use to learn what an entity of the type may hold; for the whole vocabulary use describe_relations. Input: `type`. Returns `url`, the schema's own file, `sections`, and `relations`: owner, owns, references both ways, enums, joins and lists.
Input Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "A type name from list_types, such as skill"
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"tagline": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"text": {
"type": "string"
},
"tables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"columns",
"rows"
],
"additionalProperties": {}
}
}
},
"required": [
"heading",
"text",
"tables"
],
"additionalProperties": {}
}
},
"relations": {
"type": "object",
"properties": {
"owner": {
"type": [
"string",
"null"
]
},
"owns": {
"type": "array",
"items": {
"type": "string"
}
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"via": {
"type": "string"
},
"to": {
"type": "string"
},
"form": {
"type": "string",
"enum": [
"ref",
"ref?",
"qualifier"
]
},
"array": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"via",
"to",
"form",
"array",
"required",
"min",
"max"
],
"additionalProperties": false
}
},
"referencedBy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"via": {
"type": "string"
},
"form": {
"type": "string",
"enum": [
"ref",
"ref?",
"qualifier"
]
},
"array": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"from",
"via",
"form",
"array",
"required",
"min",
"max"
],
"additionalProperties": false
}
},
"enums": {
"type": "array",
"items": {
"type": "object",
"properties": {
"via": {
"type": "string"
},
"tokens": {
"type": "array",
"items": {
"type": "string"
}
},
"required": {
"type": "boolean"
}
},
"required": [
"via",
"tokens",
"required"
],
"additionalProperties": {}
}
},
"joins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"section": {
"type": "string"
}
},
"required": [
"kind",
"section"
],
"additionalProperties": {}
}
},
"lists": {
"type": "array",
"items": {
"type": "object",
"properties": {
"section": {
"type": "string"
},
"kind": {
"type": "string"
},
"required": {
"type": "boolean"
},
"min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"section",
"kind",
"required",
"min"
],
"additionalProperties": {}
}
}
},
"required": [
"owner",
"owns",
"references",
"referencedBy",
"enums",
"joins",
"lists"
],
"additionalProperties": false
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"type",
"name",
"tagline",
"url",
"sections",
"relations",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢describe_relations(type, direction, via)
What the schemas declare between types: references with form and cardinality, ownership, enums, joins, list kinds. Use for a diagram or audit; for one type's full schema use describe_schema. Optional `type` narrows every list, `direction` (declares, declared-to, both; needs `type`) one side of relations, `via` relations and enums. Returns those lists, with `forms` and `reading` explaining every term. Not paged.
Input Schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"declares",
"declared-to",
"both"
]
},
"via": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"relations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"via": {
"type": "string"
},
"to": {
"type": "string"
},
"form": {
"type": "string",
"enum": [
"ref",
"ref?",
"qualifier"
]
},
"array": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"from",
"via",
"to",
"form",
"array",
"required",
"min",
"max"
],
"additionalProperties": false
}
},
"ownership": {
"type": "array",
"items": {
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"owned": {
"type": "string"
}
},
"required": [
"owner",
"owned"
],
"additionalProperties": false
}
},
"enums": {
"type": "array",
"items": {
"type": "object",
"properties": {
"via": {
"type": "string"
},
"tokens": {
"type": "array",
"items": {
"type": "string"
}
},
"required": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"required": [
"via",
"tokens",
"required",
"type"
],
"additionalProperties": {}
}
},
"joins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"section": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"kind",
"section",
"type"
],
"additionalProperties": {}
}
},
"lists": {
"type": "array",
"items": {
"type": "object",
"properties": {
"section": {
"type": "string"
},
"kind": {
"type": "string"
},
"required": {
"type": "boolean"
},
"min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"type": {
"type": "string"
}
},
"required": [
"section",
"kind",
"required",
"min",
"type"
],
"additionalProperties": {}
}
},
"forms": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"reading": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"relations",
"ownership",
"enums",
"joins",
"lists",
"forms",
"reading",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_rules
The rules the model is held to, from the CONVENTIONS.md its core vendors. Use to resolve a rule number that a schema or a refusal cites, such as R9. No input. Returns `tagline`, the file's `url`, and `rules`, each with `rule`, `title` and `part`; describe_rule gives one rule's text.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"tagline": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule": {
"type": "string"
},
"title": {
"type": "string"
},
"part": {
"type": [
"string",
"null"
]
}
},
"required": [
"rule",
"title",
"part"
],
"additionalProperties": false
}
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"tagline",
"url",
"rules",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢describe_rule(rule)
One rule as written. Input: `rule`, a number from list_rules such as R9, in either case. Returns `rule`, `title`, `part`, `text` and the file's `url`. An unknown number is refused with the known ones listed.
Input Schema
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"description": "A rule's number from list_rules, such as R9"
}
},
"required": [
"rule"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"rule": {
"type": "string"
},
"title": {
"type": "string"
},
"part": {
"type": [
"string",
"null"
]
},
"text": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"rule",
"title",
"part",
"text",
"url",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_checks
The checks the model's own gate runs, from the checker release this server was built with. Use to see which rules a script enforces and which are left to a reader. No input. Returns `checks`, each with `name`, `rule` and that rule's `title`, and `ranBy`. A list and no verdict: this server runs none of them.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"rule": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"rule",
"title"
],
"additionalProperties": {}
}
},
"ranBy": {
"type": "string"
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"checks",
"ranBy",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢describe_errors
What a refused call looks like. A tool's output schema covers its answers only, so use this once, to branch on refusals or validate them. No input. Returns `errors`, every `code` with `when` it is raised and the JSON Schema of its `details`, and `schema`, the JSON Schema of a whole refusal: `error` with `code`, `message`, `rule`, `details`, beside `model`.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"unknown_type",
"unknown_entity",
"ambiguous_name",
"unknown_rule",
"invalid_argument",
"invalid_cursor",
"unsupported_snapshot"
]
},
"when": {
"type": "string"
},
"details": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"code",
"when",
"details"
],
"additionalProperties": false
}
},
"schema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"errors",
"schema",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_entities(type, owner, limit, cursor)
The entities of one type, by id. Use to browse a type; to find an entity by words or by name use search. Input: `type`, optional `owner` (an id) to keep one owner's entities, `limit` (default 50, at most 200) and `cursor`. Returns `entities` with `id`, `type`, `name`, `tagline`, `owner`, and `page`; follow `page.nextCursor` while `page.hasMore`.
Input Schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"owner": {
"description": "An owner's id, to keep its entities",
"type": "string"
},
"limit": {
"description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"cursor": {
"description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
"type": "string"
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"tagline": {
"type": "string"
},
"owner": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type",
"name",
"tagline",
"owner"
],
"additionalProperties": false
}
},
"page": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"total",
"returned",
"hasMore",
"nextCursor"
],
"additionalProperties": false
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"type",
"entities",
"page",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_entity(id, type, name)
One entity as structured data: fields, sections, tables and its references both ways. Use to reason over an entity; for its page as written use fetch. Input: `id`, or `type` and `name`; an ambiguous name is refused with candidate ids. Returns `entity`. Each reference list holds at most 50 edges; `referenceCounts` gives the totals and list_references the rest.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "The entity's id, as any answer gives it",
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"description": "The canonical name, the entity's H1; needs type",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"entity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"tagline": {
"type": "string"
},
"owner": {
"type": [
"string",
"null"
]
},
"path": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"text": {
"type": "string"
},
"tables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"columns",
"rows"
],
"additionalProperties": {}
}
}
},
"required": [
"heading",
"text",
"tables"
],
"additionalProperties": {}
}
},
"stamp": {
"type": "object",
"properties": {
"kind": {
"type": [
"string",
"null"
]
},
"start": {
"type": [
"string",
"null"
]
},
"end": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"start",
"end"
],
"additionalProperties": {}
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"via": {
"type": "string"
},
"to": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"attrs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"from",
"via",
"to",
"attrs"
],
"additionalProperties": false
}
},
"referencedBy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"via": {
"type": "string"
},
"to": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"attrs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"from",
"via",
"to",
"attrs"
],
"additionalProperties": false
}
},
"referenceCounts": {
"type": "object",
"properties": {
"references": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"referencedBy": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"references",
"referencedBy"
],
"additionalProperties": false
}
},
"required": [
"id",
"type",
"name",
"tagline",
"owner",
"path",
"url",
"fields",
"sections",
"references",
"referencedBy",
"referenceCounts"
],
"additionalProperties": {}
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"entity",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_references(entity, direction, via, type, limit, ...)
The model's edges, filtered and paged. Use to inspect one entity's relations or one kind of reference without taking whole entities. Optional `entity` (an id), `direction` (out, in, both; needs `entity`), `via`, `type` (the far end's type, or either end's without `entity`), `limit`, `cursor`. Returns `edges`, each `from`, `via`, `to`, `attrs`, and `page`.
Input Schema
{
"type": "object",
"properties": {
"entity": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"out",
"in",
"both"
]
},
"via": {
"type": "string"
},
"type": {
"type": "string"
},
"limit": {
"description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"cursor": {
"description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"via": {
"type": "string"
},
"to": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"attrs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"from",
"via",
"to",
"attrs"
],
"additionalProperties": false
}
},
"page": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"total",
"returned",
"hasMore",
"nextCursor"
],
"additionalProperties": false
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"edges",
"page",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢find_evidence(skill, limit, cursor)
Every edge into one skill, grouped by the type of the page that drew it. Use to check a claimed skill against its evidence. Input: `skill`, an id or canonical name; optional `limit`, `cursor`. Returns `skill`, `evidence` and `page`; a profile's claim arrives via Skills.Skill with its level, an evidence row via Evidence.Skill. Attributes are verbatim.
Input Schema
{
"type": "object",
"properties": {
"skill": {
"type": "string",
"description": "The skill's id or canonical name"
},
"limit": {
"description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"cursor": {
"description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
"type": "string"
}
},
"required": [
"skill"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"skill": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"tagline": {
"type": "string"
}
},
"required": [
"id",
"type",
"name",
"tagline"
],
"additionalProperties": false
},
"evidence": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"via": {
"type": "string"
},
"to": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
},
"attrs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"type",
"name"
],
"additionalProperties": false
}
]
}
},
"owner": {
"type": [
"string",
"null"
]
},
"stamp": {
"type": "object",
"properties": {
"kind": {
"type": [
"string",
"null"
]
},
"start": {
"type": [
"string",
"null"
]
},
"end": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"start",
"end"
],
"additionalProperties": {}
}
},
"required": [
"from",
"via",
"to",
"attrs",
"owner"
],
"additionalProperties": false
}
}
},
"page": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"total",
"returned",
"hasMore",
"nextCursor"
],
"additionalProperties": false
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"skill",
"evidence",
"page",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search(query, match, type, owner, limit, ...)
Find entities by words or by exact name. `match: "text"` (default) is a case-insensitive substring over name, tagline, fields, sections and table cells; `match: "name"` is the exact canonical name, across types. Optional `type`, `owner` (an id), `limit`, `cursor`. Returns `results` with `id`, `title`, `type`, `matched`, and `page`. A listing by type then name, not a ranking.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"match": {
"type": "string",
"enum": [
"text",
"name"
]
},
"type": {
"type": "string"
},
"owner": {
"description": "An owner's id, to keep its entities",
"type": "string"
},
"limit": {
"description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"cursor": {
"description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"match": {
"type": "string",
"enum": [
"text",
"name"
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"owner": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"matched": {
"type": "array",
"items": {
"type": "object",
"properties": {
"where": {
"type": "string",
"enum": [
"name",
"tagline",
"field",
"section",
"table"
]
},
"key": {
"type": [
"string",
"null"
]
}
},
"required": [
"where",
"key"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"type",
"owner",
"tagline",
"url",
"matched"
],
"additionalProperties": false
}
},
"page": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"total",
"returned",
"hasMore",
"nextCursor"
],
"additionalProperties": false
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"query",
"match",
"results",
"page",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
One entity's page as written. Use to quote or display the source; for structured fields and references use get_entity. Input: `id`, from search, list_entities or any reference. Returns `id`, `title`, `type`, `url` and `text`, the Markdown source. Takes no name: search with match "name" finds the id.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"text": {
"type": "string"
},
"model": {
"type": "object",
"properties": {
"commit": {
"type": [
"string",
"null"
]
},
"repo": {
"type": [
"string",
"null"
]
},
"core": {
"type": "string"
},
"parser": {
"type": "string"
}
},
"required": [
"commit",
"repo",
"core",
"parser"
],
"additionalProperties": false
}
},
"required": [
"id",
"title",
"type",
"url",
"text",
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence