Skip to main content
Glama

Server Details

CompanyGraph: Written once, read by both

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 13 tools

Disambiguation5/5

Every tool has a clearly distinct purpose, and overlapping pairs (describe_schema/describe_relations, fetch/get_entity, list_entities/search, list_references/find_evidence) are explicitly differentiated in their descriptions, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lower snake_case, with verbs (describe_, list_, get_, fetch, find_, search) clearly mapping to their operations. The naming is highly predictable and readable.

Tool Count5/5

13 tools is well within the ideal range for a read-only knowledge graph server. Each tool covers a necessary aspect of the domain (types, schemas, entities, references, rules, checks, errors) without redundancy or bloat.

Completeness5/5

The tool set provides comprehensive coverage for the server's apparent purpose: discovery (list_types, list_rules, describe_errors), schema inspection (describe_schema, describe_relations), entity retrieval (fetch, get_entity, list_entities, search), relation/evidence analysis (list_references, find_evidence), and rule/check resolution (list_checks, describe_rule). No obvious gaps in the read-only lifecycle.

Available Tools

13 tools
describe_errorsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelYes
errorsYes
schemaYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses that the tool takes no input, returns a well-defined structure, and is intended for a single use to branch on or validate refusals. It could be more explicit about being side-effect free, but for an introspection tool this is adequate.

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 compact and front-loads the purpose before details. The final sentence is dense, but every clause adds information about the returned structure; no filler is present.

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?

For a no-input introspection tool with an output schema, the description is complete: it covers why to call it, what it returns, and how the refusal structure is organized. It also explains the key gap an agent might otherwise miss — that the tool's output schema covers only answers, not refusals.

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?

There are zero parameters, so there is no schema/description gap, and the description reinforces this with 'No input.' The baseline of 4 applies because no parameter documentation is needed.

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 opens with 'What a refused call looks like' and then specifies concrete outputs (`errors`, `code`, `schema`). This clearly distinguishes it from sibling introspection tools like `describe_schema`, `describe_rule`, and `describe_relations`, which cover different aspects of the API.

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

Usage Guidelines4/5

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

It explicitly says 'use this once, to branch on refusals or validate them', giving a clear invocation condition. It does not name alternatives or state when not to use it, but the refusal-oriented purpose makes the guidance sufficient for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_relationsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
viaNo
typeNo
directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
enumsYes
formsYes
joinsYes
listsYes
modelYes
readingYes
ownershipYes
relationsYes

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations, the description takes on the full burden. It discloses return shape ('Returns those lists'), explains output terms ('with `forms` and `reading` explaining every term'), and states pagination behavior ('Not paged'). It also reveals a parameter dependency ('needs `type`'). It does not explicitly state read-only/safety, but the verb 'describe' and introspection-focused phrasing make that highly implicit.

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

Conciseness5/5

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

Three sentences cover purpose, usage, parameters, return format, and pagination without waste. The purpose is front-loaded and the alternative tool is named immediately. Each clause earns its place, and the dense style remains readable.

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?

For a tool with three optional interdependent parameters and no required inputs, the description covers all essential bases: what it returns, how to filter, when to use it instead of a sibling, and the output schema is provided separately. The 'Not paged' note removes a common ambiguity. Nothing needed for correct invocation 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 description coverage is 0%, so the description must compensate, and it does. Every parameter is explained: `type` narrows every list, `direction`'s enum values are listed with its dependency on `type`, and `via` filters relations and enums. This adds meaning far beyond the raw 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 defines the tool's output as 'what the schemas declare between types' with specific artifacts (references, ownership, enums, joins, list kinds), making the resource and scope unmistakable. It also explicitly contrasts with describe_schema, telling the agent exactly when this tool is not the right one. This qualifies as a specific verb+resource with sibling differentiation.

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?

It explicitly says 'Use for a diagram or audit' and points to describe_schema as the alternative for one type's full schema. This gives clear context for when to invoke this tool and when to turn elsewhere. The optional parameter explanations further guide usage for narrowing results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_ruleAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleYesA rule's number from list_rules, such as R9

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
partYes
ruleYes
textYes
modelYes
titleYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses that unknown rule numbers are refused with known ones listed, that input is case-insensitive, and that the response contains the rule text as written plus file URL. This is meaningful behavioral detail, though it does not discuss permissions or side effects, which are less relevant for a read-style tool.

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

Conciseness5/5

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

Three compact sentences with no filler. The core purpose is front-loaded, the parameter guidance is precise, and the error behavior earns its place. Every sentence adds useful information.

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?

For a single-parameter lookup tool with an output schema present, the description is complete. It supplies the argument source, case handling, error behavior, and return fields. Nothing needed to call this tool safely and effectively is missing.

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. The description adds value beyond the schema by noting case-insensitivity, the validation/refusal behavior, and the explicit linkage to list_rules as the source of valid rule numbers. These extras help an agent invoke the tool correctly.

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 clearly identifies the tool as returning one rule as written, with a single resource type and the exact return fields. It is readily distinguishable from sibling list_rules, describe_schema, and describe_relations. The reference to 'from list_rules' anchors the argument source without ambiguity.

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

Usage Guidelines4/5

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

The description explains the required input, that it must be a rule number from list_rules, and that values are case-insensitive. It also describes the refusal behavior for unknown numbers. It does not explicitly name alternative tools or when-not-to-use conditions, but the list_rules prerequisite provides clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_schemaAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesA type name from list_types, such as skill

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameYes
typeYes
modelYes
taglineYes
sectionsYes
relationsYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it delivers: it specifies the return fields (url, sections, relations) and even characterizes the data nuance ('sections as written' and 'declared relations as data'). No side effects or contradictions are present.

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

Conciseness5/5

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

The description is two tight sentences: it front-loads the core purpose, gives the alternative, then lists input and output. Every clause earns its place with no filler.

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?

For a one-parameter read-oriented tool with an output schema present, the description provides all necessary context: purpose, alternative, parameter pointer, and return composition. Nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

The single parameter is already fully documented in the schema ('A type name from list_types, such as skill'), so the description's 'Input: type' adds no new semantic value. Baseline 3 is appropriate because the schema covers the parameter completely.

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 clearly states the tool exposes one type's schema, and explicitly separates it from describe_relations ('for the whole vocabulary use describe_relations'). An agent can distinguish this tool from its siblings immediately.

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?

It gives an explicit when-to-use condition ('Use to learn what an entity of the type may hold') and names the alternative for the broader vocabulary case. This is clear routing guidance with minimal ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
typeYes
modelYes
titleYes

TDQS

A4.8/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral burden. It discloses the return fields, that text is Markdown source, and that no name parameter exists. It does not discuss error cases or auth, but for a simple read/fetch operation this is adequate.

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

Conciseness5/5

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

The description is compact and every sentence earns its place: purpose, usage distinction, input provenance, output shape, and a critical constraint about name. It is front-loaded with the core purpose.

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?

For a low-complexity tool with one required parameter and an output schema, the description covers the essential invocation context: when to use it, what to pass, what comes back, and how it differs from the relevant sibling. No significant information 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?

The schema only defines id as a string, with 0% description coverage. The description meaningfully compensates by explaining the id's provenance (from search, list_entities, or any reference) and explicitly stating that name is not a valid parameter, preventing a common misuse.

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 clearly identifies the tool as retrieving 'one entity's page as written' and explicitly contrasts it with get_entity for structured fields and references. This distinguishes it from siblings and states the resource being operated on.

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?

It provides explicit routing guidance: use this tool to quote or display source, use get_entity for structured fields and references. It also tells the agent where ids come from (search, list_entities, or any reference) and warns that name input is not accepted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_evidenceAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoEntries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.
skillYesThe skill's id or canonical name
cursorNo`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
modelYes
skillYes
evidenceYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It discloses aggregation/grouping behavior, the shape of results (skill, evidence, page), how profile claims vs evidence rows are represented, and that attributes are returned verbatim. This goes beyond the bare operation, though it doesn't address safety or side effects.

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

Conciseness5/5

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

The description is compact and front-loaded: purpose, use case, input, output, and data representation each earn their place in a short paragraph. There is no filler or repetition of schema details.

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 tool with one required parameter, an output schema, and clear pagination semantics already documented in the schema, the description is sufficient. It covers the main use case, result shape, grouping behavior, and data-source semantics; the only minor gap is explaining what 'page' means beyond the output schema.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents skill, limit, and cursor thoroughly, including clamping and cursor reuse. The description only restates that skill is an id or canonical name and that limit/cursor are optional, adding no meaning beyond the schema.

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

Purpose4/5

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

The description states the operation in concrete terms: it returns every edge into one skill, grouped by the page type that drew the edge, and it frames the intended use ('check a claimed skill against its evidence'). This is specific enough to distinguish it from generic siblings like search or fetch, though the domain jargon ('edge', 'page') is not unpacked.

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

Usage Guidelines4/5

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

It gives an explicit use case: 'Use to check a claimed skill against its evidence.' It does not name alternatives or exclusion conditions, so it stops short of a 5, but the guidance is clear enough for an agent to know when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entityAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe entity's id, as any answer gives it
nameNoThe canonical name, the entity's H1; needs type
typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelYes
entityYes

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. It discloses the return value ('entity'), the 50-edge cap per reference list, that referenceCounts gives totals, and that list_references holds the rest. It also mentions refusal behavior for ambiguous names. This is comprehensive for a read operation.

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

Conciseness5/5

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

Three concise sentences, front-loaded with purpose, then usage, then behavioral details. No redundant phrasing; every sentence adds value.

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?

With an output schema present, the return format is covered. The description addresses input selection, ambiguity handling, and pagination limits, leaving no critical gaps for a tool of this complexity (3 optional params, no nested objects).

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 covers id and name descriptions but not type (67% coverage). The description adds the relationship: 'Input: id, or type and name', clarifying that id alone or type+name together are valid. This compensates for the missing type description and adds 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?

Description states the tool returns one entity as structured data (fields, sections, tables, references both ways), a specific verb and resource. It distinguishes itself from fetch (page as written) and list_references (for more edges), making its scope unambiguous.

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?

Explicitly says 'Use to reason over an entity; for its page as written use fetch', naming the alternative and when to prefer it. Also notes that an ambiguous name is refused with candidate ids, guiding the agent on valid input patterns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_checksAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelYes
ranByYes
checksYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It does well by stating there is no input, describing the returned fields, and explicitly noting that this tool returns only a list with no verdict because the server runs none of the checks. This conveys important non-obvious behavior beyond a simple enumeration.

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

Conciseness5/5

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

Three short sentences, each earning its place: what the resource is, when to use it, and what it returns. The key behavioral caveat ('no verdict') is saved for the end but is clearly stated without padding.

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?

For a zero-parameter list tool with an output schema, the description is complete. It explains the provenance, the practical use, the return shape, and the critical limitation that no checks are actually run by this server. Nothing essential is missing.

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?

There are zero parameters, so the schema provides no meaningful parameter semantics. The description explicitly confirms 'No input', which matches the empty schema and leaves no ambiguity for the agent.

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

Purpose4/5

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

The description clearly identifies the resource: the checks that the model's own gate runs, sourced from the checker release of the server. It also explains the intended use—seeing which rules a script enforces—which separates it from a generic list. It does not explicitly name a sibling alternative, but the content is specific enough to avoid confusion.

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

Usage Guidelines4/5

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

The description gives a clear usage context: use this to see which rules a script enforces and which are left to a reader. It does not provide explicit exclusions or name alternative tools for other cases, but the 'Use to...' phrasing gives practical direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_entitiesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
limitNoEntries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.
ownerNoAn owner's id, to keep its entities
cursorNo`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
typeYes
modelYes
entitiesYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses the returned fields, default and maximum limit, owner filtering, and the pagination contract via nextCursor and hasMore. This gives an agent enough behavioral context to call and iterate safely.

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

Conciseness5/5

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

The description is compact and front-loaded, with the core purpose stated first, followed by usage routing and then input/output/pagination details. Every sentence adds value and nothing is redundant.

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?

Despite having no annotations, this description covers what the tool does, when to choose it over search, all inputs, the output shape, and the pagination loop. An agent has everything it needs to invoke the tool correctly and process the results.

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

Parameters3/5

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

Schema coverage is 75%, covering owner, limit, and cursor. The description mostly restates the schema's meaning for type and owner, but it adds useful context about limit's default and paging flow. Since the schema already documents most parameters, the baseline of 3 is appropriate.

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 uses a specific verb and resource: lists entities of one type for browsing, and explicitly contrasts itself with search for finding by words or name. This makes it easily distinguishable from the sibling tools without needing to open schemas.

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

Usage Guidelines4/5

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

It clearly states when to use this tool ('Use to browse a type') and routes name/word-based lookups to search. It could more explicitly contrast with get_entity or list_types, but the browsing context and search alternative provide solid practical guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_referencesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
viaNo
typeNo
limitNoEntries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.
cursorNo`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.
entityNo
directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
edgesYes
modelYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses filtering/paging behavior and the exact return shape (edges with from, via, to, attrs, and page). The 'inspect' framing implies a read-only operation, though this is not stated explicitly.

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

Conciseness5/5

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

The description is compact and efficiently structured: core behavior first, then parameter semantics, then return shape. Every sentence contributes necessary information without redundancy.

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 6-parameter, annotation-free paginated tool, the description plus schema covers filtering options, dependencies, and response structure. The main gap is the lack of a precise definition for 'via', and read-only behavior is only implied.

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?

The input schema only documents limit and cursor, leaving 4 parameters undocumented. The description compensates by explaining entity, direction, direction's dependency on entity, and type's conditional meaning. 'via' is named but its semantics are somewhat implied rather than fully explained.

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 clearly identifies the tool's purpose: listing the model's edges/references, with filtering and pagination. It also differentiates itself from fetching whole entities, which distinguishes it from get_entity/list_entities.

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

Usage Guidelines4/5

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

The description gives an explicit use case: inspect one entity's relations or one kind of reference without pulling whole entities. It doesn't name sibling tools or explicitly state when not to use it, but the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rulesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
modelYes
rulesYes
taglineYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden, and it discloses that there is no input, where the data comes from, and the return shape (tagline, URL, and rules with rule/title/part). It does not mention error/ordering/freshness behavior, but this is a simple zero-input read tool.

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

Conciseness5/5

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

The description is a compact two-sentence definition that front-loads the resource and use case, then gives output and alternative in the same breath. Every clause earns its place.

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?

For a zero-input list operation with an output schema, the description supplies purpose, usage trigger, output fields, and the relevant sibling. There is no meaningful missing context for correct invocation.

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?

There are zero parameters and 100% schema coverage, so the baseline is 4. The description adds 'No input', which confirms there is nothing more for an agent to supply.

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 identifies the resource ('the rules the model is held to, from the CONVENTIONS.md') and the exact use case ('resolve a rule number that a schema or a refusal cites, such as R9'). It also distinguishes itself from describe_rule by noting that describe_rule gives one rule's text.

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

Usage Guidelines4/5

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

It gives a clear trigger for use ('rule number a schema or refusal cites') and names the sibling alternative describe_rule for the full text of one rule. It does not explicitly state when not to use list_rules, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_typesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelYes
typesYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It clearly states the tool takes no input and returns a specific structure: `types`, each with `type`, `name`, `tagline`, `owner`, and `count`. It also explains the meaning of `owner` (the type it nests under, or null) and `count` (entities it holds), which is valuable behavioral context beyond a bare list.

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

Conciseness5/5

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

The description is compact and front-loaded: it states the purpose, the usage directive, the no-input fact, and the return shape in three sentences. Every sentence earns its place, and there is no redundant or filler content.

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?

For a zero-input discovery tool, the description is complete. It explains what the tool returns, the fields in each item, and when to use it. The output schema exists, so the description need not repeat return-value details beyond what is useful for selection. Nothing an agent needs to call it correctly is missing.

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?

The tool has zero parameters, and the schema is an empty object. The description explicitly says 'No input,' which fully resolves parameter semantics. The baseline for 0 params is 4, and the description adds clarity by confirming no arguments are needed.

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 ('list') and resource ('types'), and immediately clarifies that it returns every type declared by the model's schemas. It also distinguishes itself from sibling tools like describe_schema and list_entities by focusing on the type-level catalog rather than schema details or entity instances.

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?

The description explicitly says 'Use first, to learn which types exist before listing or describing one.' This gives a clear when-to-use directive and implies it is the entry point before other tools like describe_schema or list_entities. It also notes there is no input, which prevents an agent from trying to pass parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_entity1 field changed
      • addedOutput schema / properties / entity / properties / image_url
        Added value: +{
        +  "type": "string"
        +}
  2. 2 tool updates
    • Addeddescribe_errors
    • Changedfind_evidence4 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / page
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "returned": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "returned",
        +    "hasMore",
        +    "nextCursor"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "skill",
        -  "evidence",
        -  "model"
        -]New value: +[
        +  "skill",
        +  "evidence",
        +  "page",
        +  "model"
        +]
  3. 6 tool updates
    • Changeddescribe_rule2 fields changed
      • addedOutput schema / properties / url
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "rule",
        -  "title",
        -  "part",
        -  "text",
        -  "model"
        -]New value: +[
        +  "rule",
        +  "title",
        +  "part",
        +  "text",
        +  "url",
        +  "model"
        +]
    • Changeddescribe_schema2 fields changed
      • addedOutput schema / properties / url
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "type",
        -  "name",
        -  "tagline",
        -  "sections",
        -  "relations",
        -  "model"
        -]New value: +[
        +  "type",
        +  "name",
        +  "tagline",
        +  "url",
        +  "sections",
        +  "relations",
        +  "model"
        +]
    • Changedlist_entities2 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200."
    • Changedlist_references2 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200."
    • Changedlist_rules2 fields changed
      • addedOutput schema / properties / url
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "tagline",
        -  "rules",
        -  "model"
        -]New value: +[
        +  "tagline",
        +  "url",
        +  "rules",
        +  "model"
        +]
    • Changedsearch2 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200."
  4. 12 tool updates
    • Changeddescribe_relations12 fields changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "enum": [
        +    "declares",
        +    "declared-to",
        +    "both"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / via
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / enums
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "required": {
        +        "type": "boolean"
        +      },
        +      "tokens": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "via": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "via",
        +      "tokens",
        +      "required",
        +      "type"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / forms
        Added value: +{
        +  "additionalProperties": {
        +    "type": "string"
        +  },
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / joins
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "kind": {
        +        "type": "string"
        +      },
        +      "section": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "kind",
        +      "section",
        +      "type"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / lists
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "kind": {
        +        "type": "string"
        +      },
        +      "min": {
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "required": {
        +        "type": "boolean"
        +      },
        +      "section": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "section",
        +      "kind",
        +      "required",
        +      "min",
        +      "type"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / ownership
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "owned": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "owner",
        +      "owned"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / reading
        Added value: +{
        +  "additionalProperties": {
        +    "type": "string"
        +  },
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / relations
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "array": {
        +        "type": "boolean"
        +      },
        +      "form": {
        +        "enum": [
        +          "ref",
        +          "ref?",
        +          "qualifier"
        +        ],
        +        "type": "string"
        +      },
        +      "from": {
        +        "type": "string"
        +      },
        +      "max": {
        +        "anyOf": [
        +          {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "min": {
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "required": {
        +        "type": "boolean"
        +      },
        +      "to": {
        +        "type": "string"
        +      },
        +      "via": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "from",
        +      "via",
        +      "to",
        +      "form",
        +      "array",
        +      "required",
        +      "min",
        +      "max"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "relations",
        +  "ownership",
        +  "enums",
        +  "joins",
        +  "lists",
        +  "forms",
        +  "reading",
        +  "model"
        +]
    • Changeddescribe_rule6 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / part
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / rule
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / text
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / title
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "rule",
        +  "title",
        +  "part",
        +  "text",
        +  "model"
        +]
    • Changeddescribe_schema7 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / relations
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "enums": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "required": {
        +            "type": "boolean"
        +          },
        +          "tokens": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "via": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "via",
        +          "tokens",
        +          "required"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "joins": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "kind": {
        +            "type": "string"
        +          },
        +          "section": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "kind",
        +          "section"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "lists": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "kind": {
        +            "type": "string"
        +          },
        +          "min": {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "required": {
        +            "type": "boolean"
        +          },
        +          "section": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "section",
        +          "kind",
        +          "required",
        +          "min"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "owner": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "owns": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "referencedBy": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "array": {
        +            "type": "boolean"
        +          },
        +          "form": {
        +            "enum": [
        +              "ref",
        +              "ref?",
        +              "qualifier"
        +            ],
        +            "type": "string"
        +          },
        +          "from": {
        +            "type": "string"
        +          },
        +          "max": {
        +            "anyOf": [
        +              {
        +                "maximum": 9007199254740991,
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "min": {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "required": {
        +            "type": "boolean"
        +          },
        +          "via": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "from",
        +          "via",
        +          "form",
        +          "array",
        +          "required",
        +          "min",
        +          "max"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "references": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "array": {
        +            "type": "boolean"
        +          },
        +          "form": {
        +            "enum": [
        +              "ref",
        +              "ref?",
        +              "qualifier"
        +            ],
        +            "type": "string"
        +          },
        +          "max": {
        +            "anyOf": [
        +              {
        +                "maximum": 9007199254740991,
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "min": {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "required": {
        +            "type": "boolean"
        +          },
        +          "to": {
        +            "type": "string"
        +          },
        +          "via": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "via",
        +          "to",
        +          "form",
        +          "array",
        +          "required",
        +          "min",
        +          "max"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "owner",
        +    "owns",
        +    "references",
        +    "referencedBy",
        +    "enums",
        +    "joins",
        +    "lists"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / sections
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "heading": {
        +        "type": "string"
        +      },
        +      "tables": {
        +        "items": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "columns": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            },
        +            "rows": {
        +              "items": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "columns",
        +            "rows"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "text": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "heading",
        +      "text",
        +      "tables"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / tagline
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "type",
        +  "name",
        +  "tagline",
        +  "sections",
        +  "relations",
        +  "model"
        +]
    • Changedfetch7 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / text
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / title
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / url
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "id",
        +  "title",
        +  "type",
        +  "url",
        +  "text",
        +  "model"
        +]
    • Changedfind_evidence5 fields changed
      • changedInput schema / properties / skill / description
        Previous value: -"The skill's canonical name"New value: +"The skill's id or canonical name"
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "additionalProperties": {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "attrs": {
        +          "additionalProperties": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "type": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id",
        +                  "type",
        +                  "name"
        +                ],
        +                "type": "object"
        +              }
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "from": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "type": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "type",
        +            "name"
        +          ],
        +          "type": "object"
        +        },
        +        "owner": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "stamp": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "end": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "kind": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "start": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "kind",
        +            "start",
        +            "end"
        +          ],
        +          "type": "object"
        +        },
        +        "to": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "type": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "type",
        +            "name"
        +          ],
        +          "type": "object"
        +        },
        +        "via": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "from",
        +        "via",
        +        "to",
        +        "attrs",
        +        "owner"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / skill
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "tagline": {
        +      "type": "string"
        +    },
        +    "type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "type",
        +    "name",
        +    "tagline"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "skill",
        +  "evidence",
        +  "model"
        +]
    • Changedget_entity6 fields changed
      • addedInput schema / properties / id
        Added value: +{
        +  "description": "The entity's id, as any answer gives it",
        +  "type": "string"
        +}
      • changedInput schema / properties / name / description
        Previous value: -"The canonical name, the entity's H1"New value: +"The canonical name, the entity's H1; needs type"
      • removedInput schema / required
        Removed value: -[
        -  "type",
        -  "name"
        -]
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / entity
        Added value: +{
        +  "additionalProperties": {},
        +  "properties": {
        +    "fields": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "owner": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "path": {
        +      "type": "string"
        +    },
        +    "referenceCounts": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "referencedBy": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "references": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "references",
        +        "referencedBy"
        +      ],
        +      "type": "object"
        +    },
        +    "referencedBy": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "attrs": {
        +            "additionalProperties": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "name": {
        +                      "type": "string"
        +                    },
        +                    "type": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "id",
        +                    "type",
        +                    "name"
        +                  ],
        +                  "type": "object"
        +                }
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          "from": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "type": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "type",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "to": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "type": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "type",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "via": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "from",
        +          "via",
        +          "to",
        +          "attrs"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "references": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "attrs": {
        +            "additionalProperties": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "name": {
        +                      "type": "string"
        +                    },
        +                    "type": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "id",
        +                    "type",
        +                    "name"
        +                  ],
        +                  "type": "object"
        +                }
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          "from": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "type": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "type",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "to": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "type": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "type",
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "via": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "from",
        +          "via",
        +          "to",
        +          "attrs"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sections": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "heading": {
        +            "type": "string"
        +          },
        +          "tables": {
        +            "items": {
        +              "additionalProperties": {},
        +              "properties": {
        +                "columns": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "columns",
        +                "rows"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "text": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "heading",
        +          "text",
        +          "tables"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "stamp": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "end": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "kind": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "start": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "start",
        +        "end"
        +      ],
        +      "type": "object"
        +    },
        +    "tagline": {
        +      "type": "string"
        +    },
        +    "type": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "type",
        +    "name",
        +    "tagline",
        +    "owner",
        +    "path",
        +    "url",
        +    "fields",
        +    "sections",
        +    "references",
        +    "referencedBy",
        +    "referenceCounts"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "entity",
        +  "model"
        +]
    • Changedlist_checks4 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / checks
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "name": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "rule",
        +      "title"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / ranBy
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "checks",
        +  "ranBy",
        +  "model"
        +]
    • Changedlist_entities8 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / owner
        Added value: +{
        +  "description": "An owner's id, to keep its entities",
        +  "type": "string"
        +}
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / entities
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tagline": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "type",
        +      "name",
        +      "tagline",
        +      "owner"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / page
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "returned": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "returned",
        +    "hasMore",
        +    "nextCursor"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "type",
        +  "entities",
        +  "page",
        +  "model"
        +]
    • Addedlist_references
    • Changedlist_rules4 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "part": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "rule",
        +      "title",
        +      "part"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / tagline
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "tagline",
        +  "rules",
        +  "model"
        +]
    • Changedlist_types3 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / types
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "count": {
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "owner": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tagline": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "name",
        +      "tagline",
        +      "owner",
        +      "count"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "types",
        +  "model"
        +]
    • Changedsearch11 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / match
        Added value: +{
        +  "enum": [
        +    "text",
        +    "name"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / owner
        Added value: +{
        +  "description": "An owner's id, to keep its entities",
        +  "type": "string"
        +}
      • addedInput schema / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / match
        Added value: +{
        +  "enum": [
        +    "text",
        +    "name"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / page
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "returned": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "maximum": 9007199254740991,
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "returned",
        +    "hasMore",
        +    "nextCursor"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / query
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / results
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "matched": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "key": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "where": {
        +              "enum": [
        +                "name",
        +                "tagline",
        +                "field",
        +                "section",
        +                "table"
        +              ],
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "where",
        +            "key"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "owner": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tagline": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "title",
        +      "type",
        +      "owner",
        +      "tagline",
        +      "url",
        +      "matched"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "model"
        -]New value: +[
        +  "query",
        +  "match",
        +  "results",
        +  "page",
        +  "model"
        +]
  5. 11 tool updates
    • First observeddescribe_relations
    • First observeddescribe_rule
    • First observeddescribe_schema
    • First observedfetch
    • First observedfind_evidence
    • First observedget_entity
    • First observedlist_checks
    • First observedlist_entities
    • First observedlist_rules
    • First observedlist_types
    • First observedsearch

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources