{"name":"io.companygraph/mental-model","slug":"companygraph-mental-model","title":"CompanyGraph","description":"CompanyGraph: Written once, read by both","url":"https://mcp.market/server/companygraph-mental-model","rating":null,"grade":"C","score":56,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":5,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":1,"ok":1,"last_checked_at":"2026-09-21T13:00:35.713Z","last_ok_at":"2026-09-21T13:00:35.713Z","latency_ms":220},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":null,"version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.companygraph.io/mcp"}],"packages":[],"tools":[{"name":"describe_relations","description":"Every reference the schemas declare between types, as data read from their tables: the type that declares it, the field or Section.Column it is declared on, the type it names, its form (ref, ref? or qualifier), whether it is a list, whether it is required and how many of it a page may hold (min and max); which type owns which; the values every field or column typed enum permits; the joins a schema declares between its tables, among them the tables whose repeated references carry distinct roles; and the kind of list each list section holds. Every term is explained in the answer. The whole vocabulary and what it constrains in one answer, for a diagram or an audit.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"describe_rule","description":"One rule as written, by its number.","write_action":false,"price_micros":0,"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"}},{"name":"describe_schema","description":"One type's schema as the instance vendors it: file location, frontmatter fields, sections and their columns, purpose and writing rules. Its relations come beside it as data, both ways: the type that owns it, the types it owns, each reference it declares and each reference another schema declares to it, with how many a page may hold, the values each of its enums permits, and the joins and list kinds the schema declares.","write_action":false,"price_micros":0,"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"}},{"name":"fetch","description":"One entity by the id search returned, with its page as written. A bare name is accepted only when exactly one type holds it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"find_evidence","description":"Everything the model says about one skill, every edge into it grouped by the type of the page that drew it: a profile's claim, via Skills.Skill, with its level; each evidence row under that claim, via Evidence.Skill, with what it shows and the experience it came from; each experience that lists the skill; and any other page that references it. Attributes are verbatim.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"skill":{"type":"string","description":"The skill's canonical name"}},"required":["skill"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_entity","description":"One entity by type and canonical name: its frontmatter, sections and tables, with every reference it makes and every reference made to it. A name resolves within its type; a name of an owned type, such as an experience or a phase, is unique only within its owner, and one held by two owners is refused with every id named, for fetch.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string","description":"The canonical name, the entity's H1"}},"required":["type","name"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_checks","description":"Every check the checker runs over an instance, from the checker release this server was built with: what each is called, the rule it cites and that rule's title. A list and no verdict, since this server runs none of them; the answer says who does. It shows which rules a script enforces and which are left to a reader.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_entities","description":"The id, canonical name and tagline of every entity of one type.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_rules","description":"The rules the instance is held to, from the CONVENTIONS.md its core vendors: each rule's number, its title and the part of the file it stands in. A schema cites a rule by number, such as R9, and this is where the number is read.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_types","description":"Every type the instance's schemas declare, with its tagline, its owner type and how many entities it holds.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"search","description":"Entities whose name, tagline, fields, sections or table cells contain the query, case-insensitive, listed by type then name with the fields that matched. Use fetch with a result's id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":56,"grade":"C","scanned_at":"2026-09-21T13:01:47.971Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:01:47.960Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":12,"max":20,"notes":["remote reachable in 8823ms"]},"poisoning":{"score":15,"max":15,"notes":["11 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://mcp.companygraph.io/mcp","reachable":true,"authRequired":false,"latencyMs":8823,"serverInfo":{"name":"companygraph-mcp-server","version":"0.17.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiByeD0iNSIgZmlsbD0iIzBDMEUxMyIvPgogIDxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzdGQTNEOCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPgogICAgPHJlY3QgeD0iMiIgeT0iNi43NSIgd2lkdGg9IjEwLjUiIGhlaWdodD0iMTAuNSIgcng9IjEuNSIvPgogICAgPHJlY3QgeD0iNC43NSIgeT0iOS41IiB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjN0ZBM0Q4IiBzdHJva2U9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik0xMi41IDEyIGg0LjUiLz4KICAgIDxyZWN0IHg9IjE3IiB5PSI5LjUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIGZpbGw9IiM3RkEzRDgiIHN0cm9rZT0ibm9uZSIvPgogIDwvZz4KPC9zdmc+Cg==","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":5}}}},"grade_history":[],"reviews":[]}