{
  "markdown": "# Hoshin Kanri — MCP server\n\nThe MCP server behind [hoshin.app](https://hoshin.app): a living **X-Matrix**\nyour AI agent can read, challenge and update — 3-to-5-year objectives, annual\nobjectives, initiatives, KPIs, the correlations between them, the review\ncadences that keep them alive, and a completeness score that gives a verdict\ninstead of a vibe.\n\n**11 tools · 9 guided prompts · 3 transports · MIT.**\n\nRegistry entry: [`io.github.wellknownmcp/hoshin-kanri`](https://registry.modelcontextprotocol.io)\n· npm: [`hoshin-kanri-mcp`](https://www.npmjs.com/package/hoshin-kanri-mcp)\n\n## Why this exists\n\nAgents are good at doing the work and bad at knowing which work matters. The\nmissing piece is not more memory — it is *structured* strategic memory: an\nobject with quadrants, correlations and a score, so an agent can answer \"does\nthis initiative actually serve a stated objective?\" and be wrong out loud when\nit does not.\n\nThat object is the X-Matrix, a Hoshin Kanri artifact that predates all of this\nby forty years. This server exposes it over the Model Context Protocol.\n\n## Install\n\n### Sovereign local mode — nothing leaves your machine\n\nYour matrix lives in plain JSON files on your own disk. No account, no cloud,\nno telemetry. This is the default binary of the npm package, on purpose.\n\n```json\n{\n  \"mcpServers\": {\n    \"hoshin-kanri\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hoshin-kanri-mcp\"],\n      \"env\": { \"HOSHIN_DATA_DIR\": \"/path/to/your/data\" }\n    }\n  }\n}\n```\n\n`HOSHIN_DATA_DIR` defaults to `~/hoshin-data/`. The files *are* the export:\nreadable, diffable, versionable, yours. See [docs/data-residency.md](docs/data-residency.md).\n\n### Hosted mode — OAuth 2.1, nothing to install\n\nclaude.ai, Claude Desktop and Cursor connect straight to `https://hoshin.app/mcp`.\nDynamic client registration + PKCE, so there is no token to paste and no\nconfig file to edit — add the URL as a connector and authorize.\n\n<details>\n<summary>Or with a static API token, over stdio</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"hoshin-kanri\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"hoshin-kanri-mcp\", \"hoshin-kanri-mcp-remote\"],\n      \"env\": { \"AUTH_TOKEN\": \"hk_...\" }\n    }\n  }\n}\n```\n</details>\n\n## What is in here\n\n| Path | What |\n|---|---|\n| `mcp-server/index-local.js` | stdio transport, local JSON store — the npm default bin |\n| `mcp-server/index-stdio.js` | stdio transport against the hosted API |\n| `mcp-server/index-streamable-http.js` | Streamable HTTP transport, the one serving `hoshin.app/mcp` |\n| `mcp-server/lib/tool-definitions.js` | the 11 tool schemas, shared by all three transports |\n| `mcp-server/lib/prompt-definitions.js` | the 9 guided prompts, shared by all three transports |\n| `mcp-server/lib/completeness.js` | the completeness score, as pure functions |\n| `mcp-server/lib/json-store.js` | atomic local JSON store (tmp + rename, in-process mutex) |\n| `docs/completeness-score.md` | the score specification — metrics, weights, response shape |\n| `docs/data-residency.md` | where your strategy lives, per transport |\n| `server.json` | the MCP registry manifest |\n\nTool and prompt *definitions* are shared across transports by design: only the\nhandlers differ. A tool that exists in hosted mode and not in local mode would\nquietly make the sovereign mode a second-class citizen, so parity is a rule,\nnot an aspiration — with one deliberate exception, documented below.\n\n## Tools\n\n`get_matrix_data` · `get_matrix_summary` · `get_matrix_completeness` ·\n`list_objectives` · `update_element_status` · `add_idea` · `search_ideas` ·\n`get_management_architecture` · `diagnose_theme_deployment` ·\n`suggest_meeting_for_topic` · `share_matrix`\n\nTwo worth calling out:\n\n- **`get_matrix_completeness`** returns a 0–100 score across five metrics\n  (coverage, correlation density, orphan elements, end-to-end strategic chains,\n  leading/lagging indicator balance) with the specific suggestions behind it.\n  This is the part that makes an agent useful rather than agreeable.\n- **`update_element_status`** accepts an `external_ref` — the URL or key of the\n  Linear/Jira/GitHub project implementing that initiative. Strategy lives here,\n  tasks live in your execution tool, and the `weekly_sync` prompt walks an agent\n  across both.\n\n`share_matrix` publishes a revocable, read-only public page of a matrix. It is\n**refused in local mode** — by design: in sovereign mode there is no cloud for\nyour data to leak into, so there is nothing to publish from.\n\n## Prompts\n\n`weekly_sync` (pull execution progress from your issue tracker's MCP, update\nstatuses, prepare the weekly agenda) · `matrix_artifact` (a boardroom-ready\ninteractive X-Matrix) · `strategic_review` · `deployment_diagnosis` ·\n`indicator_balance` · `meeting_setup_guide` · `visual_matrix` · `export_data` ·\n`idea_triage`\n\n## Development\n\n```bash\ncd mcp-server\npnpm install\npnpm start:local    # sovereign JSON mode\npnpm start:stdio    # hosted API mode (AUTH_TOKEN, API_BASE_URL)\npnpm start          # Streamable HTTP (server-side; MCP_PORT, API_BASE_URL, OAUTH_ISSUER)\n```\n\nSmoke-test the local transport without any client:\n\n```bash\nprintf '%s\\n' '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"1\"}}}' \\\n  | HOSHIN_DATA_DIR=/tmp/hoshin-smoke node index-local.js 2>/dev/null\n```\n\nstdout carries JSON-RPC only; logs and the startup banner go to stderr.\n\nThis repository holds the MCP server and its specifications. The hosted web\napplication (Next.js, Prisma, the OAuth 2.1 authorization server) is a separate,\nclosed codebase — the MIT code here is what you run, and what you can audit\nbefore running it.\n\nIssues and pull requests are welcome, in English or French.\n\n## Learn more\n\n- [What is Hoshin Kanri?](https://hoshin.app/what-is-hoshin-kanri)\n- [AI in lean management: start with steering](https://hoshin.app/ai-lean-management)\n- [Model Context Protocol](https://modelcontextprotocol.io)\n\nMIT — the code is a commodity; your strategy is not.\n",
  "bytes": 6039,
  "sha": "9aad230558e4002e6321cc95f161e87cc6883cfd77b0fc7ab5d28e9c09d6b061",
  "repo_slug": "wellknownmcp/hoshin-kanri",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_wellknownmcp_hoshin_kanri_30625437/readme"
}