Servidor MCP

guide-registry

guide.militaryleader/guide-registry

Qué hace este MCP

Searches and traverses a read-only registry of published bicycle guides, taxonomies, capabilities, organizational conditions, and source disagreements.

get_guide
Get one guide's registry row
Get one guide's registry row by slug, with its artifact + routing-surface status.
Solo lectura
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
list_capabilities
Traverse the capability spine (books · guides · KSAO elements · jobs)
Traverse the capability spine joining books, guides (capability packages), KSAO-grade elements and jobs. Use min_guides=2 for the cross-cutting capabilities that span many guides, role=<role> for what a job requires, capability_detail=<slug> for one package with its elements and books hydrated. ksao_type/canon_component_id are null by design where unresolved — treat null as 'not yet joined', never as 'no link'.
Solo lectura
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
list_conditions
List organizational conditions
List organizational conditions (identity, label, guide count, causal-role counts). Filter by draft domain, subdomain, or causal_role (driver|mediator|outcome). Names and counts only — no addresses, no passages.
Solo lectura
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
list_disagreements
List cross-book disagreements
Where does the field disagree? Returns cross-book tension names and the books on each pole (title, author, library_id) plus the guide URL. Filter by slug, persona, or category. Names and provenance only — no passages.
Solo lectura
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
list_guides
List the guide registry
List the bicycle.guide registry — every guide's home, status, access, standard, syndication and grounding, plus the distribution roll-up (including guides homed to a property with no rendering surface).
Solo lectura
Esquema de entrada
{'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).'}}}
Esquema de salida
{'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}
list_taxonomy
Get the guide program's vocabulary
Get the bicycle.guide vocabulary — domains, shelves (with live guide counts), series, personas, guide_types, and the classification conventions (pillar/spoke, discriminant home, bicycle-guide-serves-all) as machine-readable data rather than prose.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'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}
search_guides
Search guides, or refuse with the nearest owned
Search published guides by topic. Returns matches, or a structured refusal with the nearest owned guides and the missing topic. No model call. Filter by persona or category.
Solo lectura
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
Eliminado
get_membership_offer
25 de September de 2026 a las 02:50
Añadido
list_conditions
25 de September de 2026 a las 02:50
Añadido
list_disagreements
25 de September de 2026 a las 02:50
Añadido
search_guides
25 de September de 2026 a las 02:50
Añadido
get_membership_offer
17 de September de 2026 a las 12:39
Añadido
list_capabilities
17 de September de 2026 a las 12:39
Añadido
list_taxonomy
17 de September de 2026 a las 12:39
Añadido
get_guide
17 de September de 2026 a las 12:39
Añadido
list_guides
17 de September de 2026 a las 12:39