guide-registry
What this MCP does
Searches and traverses a read-only registry of published bicycle guides, taxonomies, capabilities, organizational conditions, and source disagreements.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The guide slug, e.g. start-a-company.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'guide'], 'properties': {'guide': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'api_version': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Substring match on the element label.'}, 'role': {'type': 'string', 'description': 'Elements required by this job role, e.g. compensation-analyst.'}, 'limit': {'type': 'number', 'description': 'Cap the rows returned (default 200). `total` always reports the true count.'}, 'has_job': {'type': 'boolean', 'description': 'Only elements that some job requires (via a career guide).'}, 'ksao_type': {'type': 'string', 'description': "knowledge | skill | ability | other — from a panel validated at 95.1% on gold O*NET labels. 'other' is UNVALIDATED (no gold labels existed for it)."}, 'capability': {'type': 'string', 'description': 'Elements taught by this capability (guide slug).'}, 'min_guides': {'type': 'number', 'description': 'Only elements taught by >= N capabilities. 2 gives the cross-cutting spine.'}, 'conflicting': {'type': 'boolean', 'description': 'Only elements where 2+ non-career guides define the same label differently — these need a ruling.'}, 'construct_class': {'type': 'string', 'description': "person-attribute (knowledge/skill/ability — what a JOB requires and a learner develops) | condition-or-outcome (what a capability PRODUCES, e.g. 'Retention & Workforce Stability'). Only ~30% of elements are person attributes — filter to these for 'what does this role need'."}, 'capability_detail': {'type': 'string', 'description': 'Return ONE capability with its elements and books hydrated, instead of querying elements.'}, 'has_canon_identity': {'type': 'boolean', 'description': 'true = only elements resolved to a JobFrame canon component (an IDENTITY, panel-adjudicated). false = only unresolved.'}, 'canon_promotion_candidate': {'type': 'boolean', 'description': 'true = only elements the JobFrame canon has NO component for. This is a real answer, not a failed lookup — these are the constructs to PROMOTE into the canon.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'spine_meta'], 'properties': {'total': {'type': 'number'}, 'elements': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'returned': {'type': 'number'}, 'capability': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'spine_meta': {}, 'api_version': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Substring match on the condition label.'}, 'id': {'type': 'string', 'description': 'Exact condition_identity_id. When set, other filters are ignored.'}, 'limit': {'type': 'number', 'description': 'Cap rows returned. Default 100, max 500.'}, 'domain': {'type': 'string', 'description': 'Draft domain slug, e.g. organizational-structure-and-culture.'}, 'subdomain': {'type': 'string', 'description': 'Draft sub-domain slug, e.g. organizational-learning-and-improvement.'}, 'causal_role': {'type': 'string', 'description': 'driver | mediator | outcome. Unknown values match nothing.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'address_status', 'filters', 'count', 'total_matching', 'taxonomy', 'conditions'], 'properties': {'count': {'type': 'number'}, 'filters': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'taxonomy': {'type': 'object', 'required': ['domains', 'subdomains', 'identities'], 'properties': {'domains': {'type': 'number'}, 'identities': {'type': 'number'}, 'subdomains': {'type': 'number'}}, 'additionalProperties': False}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'required': ['condition_identity_id', 'label', 'guide_corroboration_count', 'causal_roles', 'domain', 'subdomain'], 'properties': {'label': {'type': 'string'}, 'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'subdomain': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'causal_roles': {'type': 'object', 'required': ['driver', 'mediator', 'outcome'], 'properties': {'driver': {'type': 'number'}, 'outcome': {'type': 'number'}, 'mediator': {'type': 'number'}}, 'additionalProperties': False}, 'condition_identity_id': {'type': 'string'}, 'guide_corroboration_count': {'type': 'number'}}, 'additionalProperties': False}}, 'api_version': {'type': 'string'}, 'address_status': {'type': 'string', 'const': 'draft'}, 'total_matching': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string', 'description': 'One guide, e.g. start-a-company. When set, persona/category are ignored.'}, 'limit': {'type': 'number', 'description': 'Cap rows returned. Default 100, max 500.'}, 'persona': {'type': 'string', 'description': 'Audience filter, e.g. people-analytics-professional.'}, 'category': {'type': 'string', 'description': 'Subject shelf, e.g. field, skills, analytics.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'filters', 'count', 'total_matching', 'disagreements'], 'properties': {'count': {'type': 'number'}, 'filters': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'api_version': {'type': 'string'}, 'disagreements': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'poles', 'guide_slug', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'poles': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'books'], 'properties': {'books': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'author', 'library_id'], 'properties': {'title': {'type': 'string'}, 'author': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'library_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'guide_url': {'type': 'string'}, 'guide_slug': {'type': 'string'}}, 'additionalProperties': False}}, 'total_matching': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'home': {'type': 'string', 'description': 'Filter by owning property, e.g. jobframe, peopleanalyst, penwright.'}, 'limit': {'type': 'number', 'description': 'Cap the rows returned. Default 100, max 500.'}, 'access': {'type': 'string', 'description': 'Filter by access: free | gated.'}, 'domain': {'type': 'string', 'description': "Filter by life-domain — the layer ABOVE the subject shelf: work | life | play. Derived from the guide's category via content/registry/shelves.json. `rollup.by_domain` lists them."}, 'fields': {'enum': ['compact', 'full'], 'type': 'string', 'description': 'Row shape. "compact" returns only slug/title/home/status/access/price_cents/has_artifact/category/domain/personas/canonical_url — no rollup, no registry_meta. "full" returns the entire decorated registry row plus the rollup and registry_meta, as before. Default over this server: "compact".'}, 'series': {'type': 'string', 'description': 'Filter by guide series — the operational grouping of guides made to be used together, e.g. competencies, penwright-writing, startup-journey, ladder:hr-business-partner.'}, 'status': {'type': 'string', 'description': 'Filter by status: on | draft.'}, 'persona': {'type': 'string', 'description': 'Filter by the audience a guide serves, e.g. people-analytics-professional, aspiring-author, executive-performance-leader. A guide can serve several; this matches any of them.'}, 'category': {'type': 'string', 'description': 'Filter by subject shelf — the reader-facing topic axis, e.g. field, skills, analytics, writing, comp. Matches the primary category OR a cross-shelf tag.'}, 'standard': {'type': 'string', 'description': 'Filter by standard: bicycle | life-stage | problem-opportunity.'}, 'guide_type': {'type': 'string', 'description': "Filter by guide CLASS: career (level-based job guides, their own program) | capability | book_profile. Combine with series=ladder:<role> to get one role's whole ladder."}, 'has_artifact': {'type': 'boolean', 'description': 'Only guides that do (true) / do not (false) have a new-design artifact.'}, 'home_unrouted': {'type': 'boolean', 'description': 'Only guides whose home has NO rendering surface at all (the distribution gap).'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'fields', 'count', 'total_matching', 'limit', 'filters', 'guides'], 'properties': {'count': {'type': 'number'}, 'limit': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'fields': {'enum': ['compact', 'full'], 'type': 'string'}, 'guides': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['slug', 'title', 'home', 'status', 'access', 'price_cents', 'has_artifact', 'category', 'domain', 'personas', 'canonical_url'], 'properties': {'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'access': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'price_cents': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'has_artifact': {'type': 'boolean'}, 'canonical_url': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}]}}, 'rollup': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'filters': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'api_version': {'type': 'string'}, 'registry_meta': {}, 'total_matching': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'registry_meta', 'counts_basis', 'domains', 'shelves', 'series', 'personas', 'guide_types', 'conventions', 'unclassified'], 'properties': {'series': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'domains': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'shelves': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'personas': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'api_version': {'type': 'string'}, 'conventions': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'guide_types': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'counts_basis': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'unclassified': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'registry_meta': {}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Topic or question in plain language. No model call — matched against registry taxonomy and the capability spine.'}, 'limit': {'type': 'number', 'description': 'Cap hits returned. Default 10, max 20.'}, 'persona': {'type': 'string', 'description': 'Audience filter. A miss that fails this rule is a structured refusal.'}, 'category': {'type': 'string', 'description': 'Subject shelf filter. A miss that fails this rule is a structured refusal.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_version', 'covered', 'query', 'missing_topic', 'filters', 'guides', 'nearest', 'suggest'], 'properties': {'query': {'type': 'string'}, 'guides': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'home', 'category', 'personas', 'canonical_url', 'why'], 'properties': {'why': {'type': 'string'}, 'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'canonical_url': {'type': 'string'}}, 'additionalProperties': False}}, 'covered': {'type': 'boolean'}, 'filters': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'nearest': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'home', 'category', 'personas', 'canonical_url', 'why'], 'properties': {'why': {'type': 'string'}, 'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'canonical_url': {'type': 'string'}}, 'additionalProperties': False}}, 'suggest': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'authors', 'topic'], 'properties': {'title': {'type': 'string'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'authors': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'api_version': {'type': 'string'}, 'missing_topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
HiveLearn
Creates and manages courses, lessons, quizzes, enrollments, learning tracks, events, certificates, resources, progress, and commu…
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …
Wordnik
Provides English dictionary functions including definitions, examples, pronunciations, hyphenation, phrases, frequencies, related…
goldseam
Provides education and credential data covering institutions, programs, courses, certifications, transfer pathways, policies, and…
Wiktionary
Retrieves multilingual dictionary definitions, etymologies, pronunciations, and parsed lexical information from Wiktionary.
Books
Provides Open Library book, edition, work, and author lookups, including publication details, subjects, descriptions, and biograp…