{"_id":"@coveord/design-playbook-mcp","name":"@coveord/design-playbook-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@coveord/design-playbook-mcp","version":"0.1.0","description":"MCP server exposing the Coveo Design Playbook — live, versioned reads from the repo","type":"module","bin":{"design-playbook-mcp":"server.mjs"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/coveo/design-playbook.git","directory":"mcp"},"publishConfig":{"access":"public","provenance":true},"engines":{"node":">=20"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","js-yaml":"^5.2.3","zod":"^4.0.0"},"gitHead":"010463e3e7315c3fac6c5727dea70e98cd391218","_id":"@coveord/design-playbook-mcp@0.1.0","bugs":{"url":"https://github.com/coveo/design-playbook/issues"},"homepage":"https://github.com/coveo/design-playbook#readme","_nodeVersion":"24.18.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-Ev+Z/Kl3f/k+iZpqpyvBTcs48lNYog1wgX5Y6Unxh+pPuFxLr905w+2ErNXclGqUqK8G1OJENuyUD+AlLsImmQ==","shasum":"0498629fe09d4923f3ede2596f62966ad1e4221f","tarball":"https://registry.npmjs.org/@coveord/design-playbook-mcp/-/design-playbook-mcp-0.1.0.tgz","fileCount":3,"unpackedSize":22546,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC2fyz99N8j6lJ39heW0iZLhK+lKl/TPOOLYrGhMRbjcQIhANYAO1+Y64HNoL0z+ua0jlOm7gxKadZ2dvv4DZKx5yYP"}]},"_npmUser":{"name":"oa-npmcoveord","email":"oa-npmcoveord@oacvo.com"},"directories":{},"maintainers":[{"name":"oa-npmcoveord","email":"oa-npmcoveord@oacvo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/design-playbook-mcp_0.1.0_1789140971239_0.7453329438149232"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-11T15:36:10.626Z","0.1.0":"2026-09-11T15:36:11.381Z","modified":"2026-09-11T15:36:11.668Z"},"maintainers":[{"name":"oa-npmcoveord","email":"oa-npmcoveord@oacvo.com"}],"description":"MCP server exposing the Coveo Design Playbook — live, versioned reads from the repo","homepage":"https://github.com/coveo/design-playbook#readme","repository":{"type":"git","url":"git+https://github.com/coveo/design-playbook.git","directory":"mcp"},"bugs":{"url":"https://github.com/coveo/design-playbook/issues"},"license":"Apache-2.0","readme":"# Design Playbook MCP server\n\nExposes the playbook to any MCP client as live, versioned tools — read, facilitate, and contribute, without ever opening the app or cloning the repo. No content ships with the server: **the repo is the database, git refs are the versions, the GitHub API is the read/write path.**\n\nThe intended experience: a PM tells their agent \"I want to run a Design Smash\" → the agent calls `run_play` → the playbook MCP returns the play plus its facilitation skill → the agent interviews the PM and scaffolds the Miro board using its connected Miro MCP. A designer says \"I want to add a play about vibe coding\" → `propose_play` opens the PR. One MCP connection, same shape as the Atlassian MCP.\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `list_plays` | All plays with section, confidence, summary; filter by stage |\n| `get_play` | One play in full — frontmatter + complete markdown body |\n| `recommend_play` | Given a team situation, returns the playbook's selection guidance + candidates |\n| `run_play` | Everything needed to *facilitate* a play: content + the facilitation guide (served from `skills/` at the requested ref). The guide directs the agent to interview the user and scaffold the session via whatever Miro/Figma MCP it has connected |\n| `propose_play` | The write path: create or update a play and open a PR (keeps `plays.json` in sync in the same branch). Nothing lands without review |\n| `list_versions` | Published playbook versions (git tags) |\n\nEvery read tool takes an optional `version` (tag / branch / SHA). Omitted → `main`, i.e. the freshest merged content, always. Reads are ETag-cached, so repeat calls are cheap without going stale.\n\n## Install\n\n**Once published to npm** (one-liner, same model as `@coveord/plasma-mcp-server`):\n\n```sh\nclaude mcp add design-playbook -- npx -y @coveord/design-playbook-mcp\n```\n\nOr in any project's `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"design-playbook\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@coveord/design-playbook-mcp\"]\n    }\n  }\n}\n```\n\n**From a repo clone** (works today, and for development):\n\n```sh\ngit clone git@github.com:coveo/design-playbook.git\ncd design-playbook && pnpm install\nclaude mcp add design-playbook -- node \"$(pwd)/packages/mcp/server.mjs\"\n```\n\nIn dev mode (running from a clone, no `version` pinned) it reads `../public/plays.json` directly; with a `version`, or when running outside a clone, it reads through the GitHub API.\n\n## Auth\n\nReads work anonymously while the repo is public (rate-limited by GitHub for unauthenticated calls). With `GITHUB_TOKEN` set, or `gh auth token` available, reads are unthrottled — and `propose_play` (the write path) always requires auth. No separate credentials, no hosted infrastructure.\n\n## Publishing\n\nThe package publishes from this subfolder on git tags via GitHub Actions with npm provenance (trusted publishing — no long-lived token). The server itself rarely changes: content updates ship by merging to `main`, not by releasing the package. A remote/hosted variant would only ever be needed for claude.ai web users (browsers can't spawn local MCP servers); that is deliberately out of scope.\n\n## Content freshness contract\n\n`public/plays.json` is generated from `plays/*.mdx` by `pnpm build:plays` and **must be committed in sync** — the deploy workflow enforces this, because API reads at a ref only see committed files.\n","readmeFilename":"README.md","_rev":"1-f9624bb8e3d481baf9007ab10ba38c90"}