guide-registry
Read-only Bicycle Guide registry: published guides, homes, taxonomy, capability spine. No auth.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"guide-registry": {
"url": "https://practiceleader.guide/mcp"
}
}
}Remote endpoints
https://practiceleader.guide/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢list_guides(home, status, access, standard, guide_type, ...)
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).
Input Schema
{
"type": "object",
"properties": {
"home": {
"description": "Filter by owning property, e.g. jobframe, peopleanalyst, penwright.",
"type": "string"
},
"status": {
"description": "Filter by status: on | draft.",
"type": "string"
},
"access": {
"description": "Filter by access: free | gated.",
"type": "string"
},
"standard": {
"description": "Filter by standard: bicycle | life-stage | problem-opportunity.",
"type": "string"
},
"guide_type": {
"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.",
"type": "string"
},
"domain": {
"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.",
"type": "string"
},
"persona": {
"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.",
"type": "string"
},
"category": {
"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.",
"type": "string"
},
"series": {
"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.",
"type": "string"
},
"has_artifact": {
"description": "Only guides that do (true) / do not (false) have a new-design artifact.",
"type": "boolean"
},
"home_unrouted": {
"description": "Only guides whose home has NO rendering surface at all (the distribution gap).",
"type": "boolean"
},
"fields": {
"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\".",
"type": "string",
"enum": [
"compact",
"full"
]
},
"limit": {
"description": "Cap the rows returned. Default 100, max 500.",
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"api_version": {
"type": "string"
},
"fields": {
"type": "string",
"enum": [
"compact",
"full"
]
},
"count": {
"type": "number"
},
"total_matching": {
"type": "number"
},
"limit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"filters": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"registry_meta": {},
"rollup": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"guides": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"home": {
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"access": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"price_cents": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"has_artifact": {
"type": "boolean"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"personas": {
"type": "array",
"items": {
"type": "string"
}
},
"canonical_url": {
"type": "string"
}
},
"required": [
"slug",
"title",
"home",
"status",
"access",
"price_cents",
"has_artifact",
"category",
"domain",
"personas",
"canonical_url"
],
"additionalProperties": false
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
]
}
}
},
"required": [
"api_version",
"fields",
"count",
"total_matching",
"limit",
"filters",
"guides"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_guide(slug)
Get one guide's registry row by slug, with its artifact + routing-surface status.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The guide slug, e.g. start-a-company."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"api_version": {
"type": "string"
},
"guide": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"api_version",
"guide"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_taxonomy
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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"api_version": {
"type": "string"
},
"registry_meta": {},
"counts_basis": {
"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": {}
}
},
"series": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"personas": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"guide_types": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"conventions": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"unclassified": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"api_version",
"registry_meta",
"counts_basis",
"domains",
"shelves",
"series",
"personas",
"guide_types",
"conventions",
"unclassified"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_capabilities(min_guides, has_job, role, capability, conflicting, ...)
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'.
Input Schema
{
"type": "object",
"properties": {
"min_guides": {
"description": "Only elements taught by >= N capabilities. 2 gives the cross-cutting spine.",
"type": "number"
},
"has_job": {
"description": "Only elements that some job requires (via a career guide).",
"type": "boolean"
},
"role": {
"description": "Elements required by this job role, e.g. compensation-analyst.",
"type": "string"
},
"capability": {
"description": "Elements taught by this capability (guide slug).",
"type": "string"
},
"conflicting": {
"description": "Only elements where 2+ non-career guides define the same label differently — these need a ruling.",
"type": "boolean"
},
"ksao_type": {
"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).",
"type": "string"
},
"construct_class": {
"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'.",
"type": "string"
},
"has_canon_identity": {
"description": "true = only elements resolved to a JobFrame canon component (an IDENTITY, panel-adjudicated). false = only unresolved.",
"type": "boolean"
},
"canon_promotion_candidate": {
"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.",
"type": "boolean"
},
"q": {
"description": "Substring match on the element label.",
"type": "string"
},
"limit": {
"description": "Cap the rows returned (default 200). `total` always reports the true count.",
"type": "number"
},
"capability_detail": {
"description": "Return ONE capability with its elements and books hydrated, instead of querying elements.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"api_version": {
"type": "string"
},
"spine_meta": {},
"capability": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"total": {
"type": "number"
},
"returned": {
"type": "number"
},
"elements": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"api_version",
"spine_meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence