CompanyGraph

CompanyGraph: Written once, read by both

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
70%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'list_rules' description lacks action verbin list_rules

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,569Tokens (tool definitions)
~5.0 KBTypical response size
Significant attention impact (5.13% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mental-model": {
      "url": "https://mcp.companygraph.io/mcp"
    }
  }
}

Remote endpoints

https://mcp.companygraph.io/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_types

Every type the model's schemas declare. Use first, to learn which types exist before listing or describing one. No input. Returns `types`, each with `type`, `name`, `tagline`, `owner` (the type it nests under, or null) and `count`, the entities it holds.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "types": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "owner": {
            "type": [
              "string",
              "null"
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "type",
          "name",
          "tagline",
          "owner",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "types",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢describe_schema(type)

One type's schema: its sections as written and its declared relations as data. Use to learn what an entity of the type may hold; for the whole vocabulary use describe_relations. Input: `type`. Returns `url`, the schema's own file, `sections`, and `relations`: owner, owns, references both ways, enums, joins and lists.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "A type name from list_types, such as skill"
    }
  },
  "required": [
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "tagline": {
      "type": "string"
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "heading": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "tables": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "columns": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "rows": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "required": [
                "columns",
                "rows"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "heading",
          "text",
          "tables"
        ],
        "additionalProperties": {}
      }
    },
    "relations": {
      "type": "object",
      "properties": {
        "owner": {
          "type": [
            "string",
            "null"
          ]
        },
        "owns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "references": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "via": {
                "type": "string"
              },
              "to": {
                "type": "string"
              },
              "form": {
                "type": "string",
                "enum": [
                  "ref",
                  "ref?",
                  "qualifier"
                ]
              },
              "array": {
                "type": "boolean"
              },
              "required": {
                "type": "boolean"
              },
              "min": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "max": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "via",
              "to",
              "form",
              "array",
              "required",
              "min",
              "max"
            ],
            "additionalProperties": false
          }
        },
        "referencedBy": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "via": {
                "type": "string"
              },
              "form": {
                "type": "string",
                "enum": [
                  "ref",
                  "ref?",
                  "qualifier"
                ]
              },
              "array": {
                "type": "boolean"
              },
              "required": {
                "type": "boolean"
              },
              "min": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "max": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "from",
              "via",
              "form",
              "array",
              "required",
              "min",
              "max"
            ],
            "additionalProperties": false
          }
        },
        "enums": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "via": {
                "type": "string"
              },
              "tokens": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "required": {
                "type": "boolean"
              }
            },
            "required": [
              "via",
              "tokens",
              "required"
            ],
            "additionalProperties": {}
          }
        },
        "joins": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              },
              "section": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "section"
            ],
            "additionalProperties": {}
          }
        },
        "lists": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "section": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "required": {
                "type": "boolean"
              },
              "min": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "section",
              "kind",
              "required",
              "min"
            ],
            "additionalProperties": {}
          }
        }
      },
      "required": [
        "owner",
        "owns",
        "references",
        "referencedBy",
        "enums",
        "joins",
        "lists"
      ],
      "additionalProperties": false
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "name",
    "tagline",
    "url",
    "sections",
    "relations",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢describe_relations(type, direction, via)

What the schemas declare between types: references with form and cardinality, ownership, enums, joins, list kinds. Use for a diagram or audit; for one type's full schema use describe_schema. Optional `type` narrows every list, `direction` (declares, declared-to, both; needs `type`) one side of relations, `via` relations and enums. Returns those lists, with `forms` and `reading` explaining every term. Not paged.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "direction": {
      "type": "string",
      "enum": [
        "declares",
        "declared-to",
        "both"
      ]
    },
    "via": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "relations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string"
          },
          "via": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "form": {
            "type": "string",
            "enum": [
              "ref",
              "ref?",
              "qualifier"
            ]
          },
          "array": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          },
          "min": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "max": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "from",
          "via",
          "to",
          "form",
          "array",
          "required",
          "min",
          "max"
        ],
        "additionalProperties": false
      }
    },
    "ownership": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string"
          },
          "owned": {
            "type": "string"
          }
        },
        "required": [
          "owner",
          "owned"
        ],
        "additionalProperties": false
      }
    },
    "enums": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "via": {
            "type": "string"
          },
          "tokens": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "required": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "via",
          "tokens",
          "required",
          "type"
        ],
        "additionalProperties": {}
      }
    },
    "joins": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "section",
          "type"
        ],
        "additionalProperties": {}
      }
    },
    "lists": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "min": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "section",
          "kind",
          "required",
          "min",
          "type"
        ],
        "additionalProperties": {}
      }
    },
    "forms": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "reading": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "relations",
    "ownership",
    "enums",
    "joins",
    "lists",
    "forms",
    "reading",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_rules

The rules the model is held to, from the CONVENTIONS.md its core vendors. Use to resolve a rule number that a schema or a refusal cites, such as R9. No input. Returns `tagline`, the file's `url`, and `rules`, each with `rule`, `title` and `part`; describe_rule gives one rule's text.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "tagline": {
      "type": "string"
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rule": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "part": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "rule",
          "title",
          "part"
        ],
        "additionalProperties": false
      }
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tagline",
    "url",
    "rules",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢describe_rule(rule)

One rule as written. Input: `rule`, a number from list_rules such as R9, in either case. Returns `rule`, `title`, `part`, `text` and the file's `url`. An unknown number is refused with the known ones listed.

Input Schema

{
  "type": "object",
  "properties": {
    "rule": {
      "type": "string",
      "description": "A rule's number from list_rules, such as R9"
    }
  },
  "required": [
    "rule"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "rule": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "part": {
      "type": [
        "string",
        "null"
      ]
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "rule",
    "title",
    "part",
    "text",
    "url",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_checks

The checks the model's own gate runs, from the checker release this server was built with. Use to see which rules a script enforces and which are left to a reader. No input. Returns `checks`, each with `name`, `rule` and that rule's `title`, and `ranBy`. A list and no verdict: this server runs none of them.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "rule": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "rule",
          "title"
        ],
        "additionalProperties": {}
      }
    },
    "ranBy": {
      "type": "string"
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "checks",
    "ranBy",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢describe_errors

What a refused call looks like. A tool's output schema covers its answers only, so use this once, to branch on refusals or validate them. No input. Returns `errors`, every `code` with `when` it is raised and the JSON Schema of its `details`, and `schema`, the JSON Schema of a whole refusal: `error` with `code`, `message`, `rule`, `details`, beside `model`.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "enum": [
              "unknown_type",
              "unknown_entity",
              "ambiguous_name",
              "unknown_rule",
              "invalid_argument",
              "invalid_cursor",
              "unsupported_snapshot"
            ]
          },
          "when": {
            "type": "string"
          },
          "details": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "code",
          "when",
          "details"
        ],
        "additionalProperties": false
      }
    },
    "schema": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "errors",
    "schema",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_entities(type, owner, limit, cursor)

The entities of one type, by id. Use to browse a type; to find an entity by words or by name use search. Input: `type`, optional `owner` (an id) to keep one owner's entities, `limit` (default 50, at most 200) and `cursor`. Returns `entities` with `id`, `type`, `name`, `tagline`, `owner`, and `page`; follow `page.nextCursor` while `page.hasMore`.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "owner": {
      "description": "An owner's id, to keep its entities",
      "type": "string"
    },
    "limit": {
      "description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "entities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "owner": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "tagline",
          "owner"
        ],
        "additionalProperties": false
      }
    },
    "page": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "returned": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "total",
        "returned",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "entities",
    "page",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_entity(id, type, name)

One entity as structured data: fields, sections, tables and its references both ways. Use to reason over an entity; for its page as written use fetch. Input: `id`, or `type` and `name`; an ambiguous name is refused with candidate ids. Returns `entity`. Each reference list holds at most 50 edges; `referenceCounts` gives the totals and list_references the rest.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "The entity's id, as any answer gives it",
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "name": {
      "description": "The canonical name, the entity's H1; needs type",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "entity": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tagline": {
          "type": "string"
        },
        "owner": {
          "type": [
            "string",
            "null"
          ]
        },
        "path": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "fields": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "sections": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "heading": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "tables": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "columns": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "rows": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "required": [
                    "columns",
                    "rows"
                  ],
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "heading",
              "text",
              "tables"
            ],
            "additionalProperties": {}
          }
        },
        "stamp": {
          "type": "object",
          "properties": {
            "kind": {
              "type": [
                "string",
                "null"
              ]
            },
            "start": {
              "type": [
                "string",
                "null"
              ]
            },
            "end": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "kind",
            "start",
            "end"
          ],
          "additionalProperties": {}
        },
        "references": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "type",
                  "name"
                ],
                "additionalProperties": false
              },
              "via": {
                "type": "string"
              },
              "to": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "type",
                  "name"
                ],
                "additionalProperties": false
              },
              "attrs": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "type",
                        "name"
                      ],
                      "additionalProperties": false
                    }
                  ]
                }
              }
            },
            "required": [
              "from",
              "via",
              "to",
              "attrs"
            ],
            "additionalProperties": false
          }
        },
        "referencedBy": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "type",
                  "name"
                ],
                "additionalProperties": false
              },
              "via": {
                "type": "string"
              },
              "to": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "type",
                  "name"
                ],
                "additionalProperties": false
              },
              "attrs": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "type",
                        "name"
                      ],
                      "additionalProperties": false
                    }
                  ]
                }
              }
            },
            "required": [
              "from",
              "via",
              "to",
              "attrs"
            ],
            "additionalProperties": false
          }
        },
        "referenceCounts": {
          "type": "object",
          "properties": {
            "references": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "referencedBy": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "references",
            "referencedBy"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "id",
        "type",
        "name",
        "tagline",
        "owner",
        "path",
        "url",
        "fields",
        "sections",
        "references",
        "referencedBy",
        "referenceCounts"
      ],
      "additionalProperties": {}
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "entity",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_references(entity, direction, via, type, limit, ...)

The model's edges, filtered and paged. Use to inspect one entity's relations or one kind of reference without taking whole entities. Optional `entity` (an id), `direction` (out, in, both; needs `entity`), `via`, `type` (the far end's type, or either end's without `entity`), `limit`, `cursor`. Returns `edges`, each `from`, `via`, `to`, `attrs`, and `page`.

Input Schema

{
  "type": "object",
  "properties": {
    "entity": {
      "type": "string"
    },
    "direction": {
      "type": "string",
      "enum": [
        "out",
        "in",
        "both"
      ]
    },
    "via": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "limit": {
      "description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "edges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "type",
              "name"
            ],
            "additionalProperties": false
          },
          "via": {
            "type": "string"
          },
          "to": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "type",
              "name"
            ],
            "additionalProperties": false
          },
          "attrs": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "type",
                    "name"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          }
        },
        "required": [
          "from",
          "via",
          "to",
          "attrs"
        ],
        "additionalProperties": false
      }
    },
    "page": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "returned": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "total",
        "returned",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "edges",
    "page",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢find_evidence(skill, limit, cursor)

Every edge into one skill, grouped by the type of the page that drew it. Use to check a claimed skill against its evidence. Input: `skill`, an id or canonical name; optional `limit`, `cursor`. Returns `skill`, `evidence` and `page`; a profile's claim arrives via Skills.Skill with its level, an evidence row via Evidence.Skill. Attributes are verbatim.

Input Schema

{
  "type": "object",
  "properties": {
    "skill": {
      "type": "string",
      "description": "The skill's id or canonical name"
    },
    "limit": {
      "description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
      "type": "string"
    }
  },
  "required": [
    "skill"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "skill": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tagline": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "name",
        "tagline"
      ],
      "additionalProperties": false
    },
    "evidence": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "from": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "type",
                "name"
              ],
              "additionalProperties": false
            },
            "via": {
              "type": "string"
            },
            "to": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "type",
                "name"
              ],
              "additionalProperties": false
            },
            "attrs": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "type",
                      "name"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            },
            "owner": {
              "type": [
                "string",
                "null"
              ]
            },
            "stamp": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "start": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "end": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "kind",
                "start",
                "end"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "from",
            "via",
            "to",
            "attrs",
            "owner"
          ],
          "additionalProperties": false
        }
      }
    },
    "page": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "returned": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "total",
        "returned",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "skill",
    "evidence",
    "page",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search(query, match, type, owner, limit, ...)

Find entities by words or by exact name. `match: "text"` (default) is a case-insensitive substring over name, tagline, fields, sections and table cells; `match: "name"` is the exact canonical name, across types. Optional `type`, `owner` (an id), `limit`, `cursor`. Returns `results` with `id`, `title`, `type`, `matched`, and `page`. A listing by type then name, not a ranking.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "match": {
      "type": "string",
      "enum": [
        "text",
        "name"
      ]
    },
    "type": {
      "type": "string"
    },
    "owner": {
      "description": "An owner's id, to keep its entities",
      "type": "string"
    },
    "limit": {
      "description": "Entries per page: 50 by default, clamped to 1–200, so 0 returns one entry and 1000 returns 200.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "`page.nextCursor` from the previous answer, sent with the same arguments; omit it for the first page.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "match": {
      "type": "string",
      "enum": [
        "text",
        "name"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "owner": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagline": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "matched": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "string",
                  "enum": [
                    "name",
                    "tagline",
                    "field",
                    "section",
                    "table"
                  ]
                },
                "key": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "where",
                "key"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "title",
          "type",
          "owner",
          "tagline",
          "url",
          "matched"
        ],
        "additionalProperties": false
      }
    },
    "page": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "returned": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "total",
        "returned",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "query",
    "match",
    "results",
    "page",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢fetch(id)

One entity's page as written. Use to quote or display the source; for structured fields and references use get_entity. Input: `id`, from search, list_entities or any reference. Returns `id`, `title`, `type`, `url` and `text`, the Markdown source. Takes no name: search with match "name" finds the id.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "text": {
      "type": "string"
    },
    "model": {
      "type": "object",
      "properties": {
        "commit": {
          "type": [
            "string",
            "null"
          ]
        },
        "repo": {
          "type": [
            "string",
            "null"
          ]
        },
        "core": {
          "type": "string"
        },
        "parser": {
          "type": "string"
        }
      },
      "required": [
        "commit",
        "repo",
        "core",
        "parser"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "title",
    "type",
    "url",
    "text",
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools