{"apiVersion":"v1","directorySlug":"blust-mcp-c6b6352510","title":"Robert Blust","description":"The constraint has moved from building fast to deciding well. Over twenty-five years of platforms, and the talks that argue the point.","pageUrl":"https://www.mcpbundles.com/skills/blust-mcp-c6b6352510","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.blust.ch/mcp","hostedMcpUrl":null,"toolCount":14,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"ch.blust/blust-mcp-c6b6352510","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"list_types","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_types","displayName":"list_types","title":"list_types"},{"name":"describe_schema","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["type"],"properties":{"type":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"describe_schema","displayName":"describe_schema","title":"describe_schema"},{"name":"describe_relations","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"via":{"type":"string"},"type":{"type":"string"},"direction":{"enum":["declares","declared-to","both"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"describe_relations","displayName":"describe_relations","title":"describe_relations"},{"name":"list_rules","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_rules","displayName":"list_rules","title":"list_rules"},{"name":"describe_rule","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["rule"],"properties":{"rule":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"describe_rule","displayName":"describe_rule","title":"describe_rule"},{"name":"list_checks","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_checks","displayName":"list_checks","title":"list_checks"},{"name":"describe_errors","description":"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`.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"describe_errors","displayName":"describe_errors","title":"describe_errors"},{"name":"list_entities","description":"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`.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"by":{"type":"string"},"on":{"type":"string"},"type":{"type":"string"},"limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"order":{"enum":["address","newest","oldest"],"type":"string"},"owner":{"type":"string"},"where":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"cursor":{"type":"string"},"fields":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_entities","displayName":"list_entities","title":"list_entities"},{"name":"get_entity","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_entity","displayName":"get_entity","title":"get_entity"},{"name":"list_references","description":"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`.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"via":{"type":"string"},"type":{"type":"string"},"limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"cursor":{"type":"string"},"entity":{"type":"string"},"direction":{"enum":["out","in","both"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_references","displayName":"list_references","title":"list_references"},{"name":"find_evidence","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["skill"],"properties":{"limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"skill":{"type":"string"},"cursor":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_evidence","displayName":"find_evidence","title":"find_evidence"},{"name":"search","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"type":{"type":"string"},"limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"match":{"enum":["text","name","words"],"type":"string"},"owner":{"type":"string"},"query":{"type":"string"},"cursor":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search","displayName":"search","title":"search"},{"name":"fetch","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"fetch","displayName":"fetch","title":"fetch"},{"name":"diagram","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["shape"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"unit":{"type":"string"},"shape":{"enum":["concepts","process","neighborhood","schema","context","aggregate","flow","lifecycle","organization","system","holds","usecase","scenario","requirements"],"type":"string"},"domain":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"diagram","displayName":"diagram","title":"diagram"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Robert-Blust&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYmx1c3QuY2gvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Robert-Blust%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.blust.ch%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Robert-Blust%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.blust.ch%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Robert+Blust&connectorUrl=https%3A%2F%2Fmcp.blust.ch%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Robert-Blust\" --url \"https://mcp.blust.ch/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/blust-mcp-c6b6352510","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/blust-mcp-c6b6352510/tools/{tool}","mcpServerUrl":"https://mcp.blust.ch/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/blust-mcp-c6b6352510?live=1"}