Public is priority 1 and internal priority 2, and conflicts resolve at the file level — so a component your team has documented privately replaces the public entry entirely rather than blending with it. Internal access stays off unless it is explicitly enabled, which lets the same server serve people who should not see it.
An MCP server that serves design system documentation from GitHub repositories — a public source and, optionally, an internal one — merged by priority with source attribution on every response.
- list-categories and list-components — browse branding, content-style-guide, accessibility, layouts, patterns and components
- get-component-details — full design and development guidance for one component, with its source and whether it overrides
- search-design-system — keyword search across titles and descriptions, filterable by source
- get-content-sources — which sources are enabled, their priority, whether they need auth, and last sync
- refresh-sources — clear the cache so the next request re-syncs
- Priority-based merging: internal documentation replaces public at the file level when both exist
Node.js with npm: clone, npm install, npm run build, then register build/index.js with your client. A GitHub personal access token goes in GITHUB_TOKEN, with GITHUB_OWNER and GITHUB_REPO naming the documentation repository. Internal docs additionally need ENABLE_INTERNAL_DOCS and INTERNAL_DOCS_TOKEN.
One command plus a key — npm install && npm run build, then supply credentials
