Search / io.companygraph/mental-model
CompanyGraph
R0· no sign-inCompanyGraph: Written once, read by both
v1.0.0 · active · descriptor JSON · versions
Search / io.companygraph/mental-model
R0· no sign-inCompanyGraph: Written once, read by both
v1.0.0 · active · descriptor JSON · versions
{
"mcpServers": {
"mental-model": {
"type": "http",
"url": "https://mcp.companygraph.io/mcp"
}
}
}claude mcp add --transport http mental-model https://mcp.companygraph.io/mcp[mcp_servers.mental-model]
url = "https://mcp.companygraph.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mental-model": {
"type": "remote",
"url": "https://mcp.companygraph.io/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"mental-model": {
"type": "http",
"url": "https://mcp.companygraph.io/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mental-model&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmNvbXBhbnlncmFwaC5pby9tY3AifQ%3D%3D"
}{
"servers": {
"mental-model": {
"type": "http",
"url": "https://mcp.companygraph.io/mcp"
}
}
}{
"mcpServers": {
"mental-model": {
"httpUrl": "https://mcp.companygraph.io/mcp"
}
}
}extensions:
"mental-model":
enabled: true
name: "mental-model"
type: streamable_http
uri: "https://mcp.companygraph.io/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations14 of 14 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_types (destructiveHint, idempotentHint); describe_schema (destructiveHint, idempotentHint); describe_relations (destructiveHint, idempotentHint); …tools.token_costabout 2,885 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes40 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagediagramchangeddescription, input schema, output schemaA picture of the model as Mermaid; edge data: list_references. Input: `shape`; `id`, `domain` or `type` narrow it. aggregate, flow, lifecycle take a context's `id`; organization without `id` draws the company; system a landscape, holds its data; usecase, scenario a use case's; requirements a feature's, product's, use case's or requirement's. Returns `mermaid`, `nodes`, `links`, counts. At most 50 nodes.
A picture of the model as Mermaid; edge data: list_references. Input: `shape`; `id`, `domain`, `type` or `unit` narrow it. aggregate, flow, lifecycle take a context's `id`; organization without `id` draws the company; system a landscape, holds its data; usecase, scenario a use case's; requirements a feature's, product's, use case's or requirement's. Returns `mermaid`, `nodes`, `links`, `units`, counts. Max 50 nodes.
diagramchangeddescription, input schema, output schemaA picture of the model as Mermaid; for edge data use list_references. Input: `shape`; `id`, `domain` or `type` narrow it; aggregate, flow and lifecycle take a context's `id`; organization without `id` draws the company; system is a system's landscape, holds its data, both by `id`. Returns `mermaid`, `nodes`, `links`, `title`, `edges`, `omitted`, schema's `everyType`, lifecycle's `transitions`. At most 50 nodes.
A picture of the model as Mermaid; edge data: list_references. Input: `shape`; `id`, `domain` or `type` narrow it. aggregate, flow, lifecycle take a context's `id`; organization without `id` draws the company; system a landscape, holds its data; usecase, scenario a use case's; requirements a feature's, product's, use case's or requirement's. Returns `mermaid`, `nodes`, `links`, counts. At most 50 nodes.
diagramchangeddescription, input schema, output schemaA picture of the model as Mermaid, from edges or schemas. Use to show connections; for edge data use list_references. Input: `shape`; `id`, `domain` or `type` narrow it; aggregate, flow or lifecycle takes a context's `id` for its aggregates; organization without `id` draws the company. Returns `mermaid`, `nodes`, `links`, `title`, `edges`, `omitted`, schema's `everyType`, lifecycle's `transitions`. At most 50 nodes.
A picture of the model as Mermaid; for edge data use list_references. Input: `shape`; `id`, `domain` or `type` narrow it; aggregate, flow and lifecycle take a context's `id`; organization without `id` draws the company; system is a system's landscape, holds its data, both by `id`. Returns `mermaid`, `nodes`, `links`, `title`, `edges`, `omitted`, schema's `everyType`, lifecycle's `transitions`. At most 50 nodes.
diagramchangeddescription, input schema, output schemaA picture of the model as Mermaid, from its edges or its schemas. Use to show connections; for edges as data use list_references. Input: `shape`; `id`, `domain` or `type` narrow it; an aggregate, flow or lifecycle takes a context's id for all its aggregates. Returns `mermaid`, `nodes`, `links`, `title`, `edges`, `omitted`, schema's `everyType`, lifecycle's `transitions`. At most 50 nodes.
A picture of the model as Mermaid, from edges or schemas. Use to show connections; for edge data use list_references. Input: `shape`; `id`, `domain` or `type` narrow it; aggregate, flow or lifecycle takes a context's `id` for its aggregates; organization without `id` draws the company. Returns `mermaid`, `nodes`, `links`, `title`, `edges`, `omitted`, schema's `everyType`, lifecycle's `transitions`. At most 50 nodes.
diagramchangedannotationsfetchchangedannotationssearchchangedannotationsfind_evidencechangedannotationslist_referenceschangedannotationsget_entitychangedannotationsShowing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +reachable +uptime-100% +updated-28d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.companygraph.io/mcp streamable-http | none | yes | 100% | 680 ms | 2025-11-25 | 2026-10-19 |
describe_errorsread-only | 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`. |
describe_relationsread-only | 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. |
describe_ruleread-only | One convention of the vocabulary as written, not a company's own rule (an entity of type `rule`: list_entities, get_entity). 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. |
describe_schemaread-only | 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. |
diagramread-only | A picture of the model as Mermaid; edge data: list_references. Input: `shape`; `id`, `domain`, `type` or `unit` narrow it. aggregate, flow, lifecycle take a context's `id`; organization without `id` draws the company; system a landscape, holds its data; usecase, scenario a use case's; requirements a feature's, product's, use case's or requirement's. Returns `mermaid`, `nodes`, `links`, `units`, counts. Max 50 nodes. |
fetchread-only | One entity's page as written. Use to quote or display the source; for structured fields and references use get_entity. Input: `id` or address, 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. |
find_evidenceread-only | 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, canonical name or address; 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. |
get_entityread-only | One entity as structured data: fields, sections, tables, references both ways. Use to reason over one; for its page as written use fetch. Input: `id` or address, where its page sits, or `type` and `name`; an ambiguous name is refused with candidate ids. Returns `entity`, by id. Reference lists hold at most 50 edges; `referenceCounts` gives totals, list_references the rest. |
list_checksread-only | 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`, `title` and what it `reports`, a `failure` or a `note` that fails nothing, and `ranBy`. This server runs none of them. |
list_entitiesread-only | Entities with their frontmatter's short facts, in address order or newest first. Use to browse, or for what runs on a date, came last or has a value; to find by words use search. Input: optional `type`, `owner`, `order`, `on`, `by`, `where`, `fields`, `limit`, `cursor`. Returns `entities` with `fields`, and `page`; follow `page.nextCursor` while `page.hasMore`. |
list_referencesread-only | 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 or address), `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`. |
list_rulesread-only | The vocabulary's conventions the model is held to, R0 onwards, from its core's CONVENTIONS.md. Use to resolve a number a schema or refusal cites, such as R9. A company's own rules are entities of type `rule`: list_entities and get_entity. No input. Returns `tagline`, the file's `url`, and `rules`, each with `rule`, `title` and `part`; describe_rule gives one rule's text. |
list_typesread-only | 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. |
searchread-only | Find entities by words, substring or exact name. `match: "words"` needs every query word's stem in name, tagline, fields, sections or cells; `"text"` (default) is a case-insensitive substring over the same; `"name"` the exact canonical name. Optional `type`, `owner`, `limit`, `cursor`. Returns `results` with `id`, `title`, `type`, `matched`, `words` in words mode, and `page`: name matches first, then a listing. |
Schemas: list_tools.
{
"name": "io.companygraph/mental-model",
"title": "CompanyGraph",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.companygraph.io/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"description": "CompanyGraph: Written once, read by both"
}