{"id":"f921a97a-ab50-4453-9057-5b8a5b63aa40","slug":"corkboard-plugin","kind":"mcp","name":"corkboard-plugin","summary":"Corkboard plugin for Cursor and Agent Plugins: MCP server (OAuth 2.1, zero-config) + portable CLI skill","owner":"boldblackai","repoUrl":"https://github.com/boldblackai/corkboard-plugin","license":"MIT","licenseTier":"permissive","trust":"community","stars":4,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-09-25T20:11:59.000Z","addedAt":"2026-10-21T18:12:04.717Z","logoUrl":"https://avatars.githubusercontent.com/u/290519038?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T02:34:12.184Z","sample":false,"url":"https://conduits.dev/tools/corkboard-plugin","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Corkboard Plugin\n\n[Corkboard](https://corkboard.wiki) is a fast, Markdown-native wiki with\nfull-text and semantic search. This plugin connects your agent to your\nCorkboard workspace two ways:\n\n1. **MCP server** (zero-config) — remote tools at `https://corkboard.wiki/mcp`\n   for reading, writing, searching, and moving pages. Authentication is OAuth\n   2.1: on first use, the client discovers Corkboard's OAuth endpoints\n   automatically (`/.well-known/oauth-protected-resource/mcp`) and walks the\n   authorization-code + PKCE flow. No tokens are stored in this repository.\n2. **CLI skill** (`skills/corkboard/`) — a zero-dependency, stdlib-only Python\n   CLI over the Corkboard HTTP API v1. It covers the full surface including\n   media upload/download, wiki gardening reports (orphans, wanted pages), and\n   surgical anchored edits. Requires an API token\n   (**Settings → API tokens** in Corkboard) in `CORKBOARD_TOKEN`.\n\nBoth paths talk to the same workspace-scoped backend. If the MCP server is\nconnected, use it for page reads/writes and search; use the CLI when a task\nneeds the fuller command surface (media management, gardening reports,\nrevision inspection) or when you prefer plain shell commands.\n\n## Install (VS Code / Cursor via Open VSX)\n\nThis repository ships a VS Code / Cursor extension, listed on\n[Open VSX](https://open-vsx.org/) as `boldblack.corkboard`:\n\n1. In VS Code or Cursor, open the Extensions view and search for **Corkboard**.\n2. Install **Corkboard** (`boldblack.corkboard`) and reload the window.\n3. Ask your agent for a Corkboard action (for example *list pages*), then\n   approve the MCP OAuth prompt on first use.\n\nThe extension contributes the MCP server definition provider\n`corkboardMcpProvider` (label `Corkboard`), which points at the remote server\n`https://corkboard.wiki/mcp`. OAuth 2.1 discovery and consent are handled by\nthe client, so no credentials are stored in the extension. The bundled\n`skills/corkboard` CLI skill is included in the VSIX.\n\n## Install (Cursor)\n\nInstall from the Cursor Marketplace (search \"Corkboard\"), or add this\nrepository as a plugin source manually.\n\nAfter install, trigger any Corkboard tool (for example *list pages*) and\ncomplete the OAuth consent screen. The requested scope is `mcp:read` for\nread-only use; agents that write pages need `mcp:write` as well.\n\n## Install (Claude Code)\n\nThis repository doubles as a Claude Code plugin marketplace:\n\n```bash\nclaude plugin marketplace add boldblackai/corkboard-plugin\nclaude plugin install corkboard@corkboard-plugin\n```\n\nThe MCP server connects as a remote connector (`/mcp`) — approve the OAuth\nprompt on first use. The skill runs as `/corkboard:corkboard`; the CLI half\nreads `CORKBOARD_TOKEN` from the environment.\n\n## Install (other agents)\n\nThe skill half is portable to any agent that supports the Agent Skills format\nor can run shell commands:\n\n```bash\ngit clone https://github.com/boldblackai/corkboard-plugin.git\n# then point your agent at ./skills/corkboard/SKILL.md\n```\n\nThe MCP half works with any MCP client that speaks Streamable HTTP and OAuth\n2.1 discovery: `https://corkboard.wiki/mcp`.\n\n## Plugin layout\n\n```\ncorkboard-plugin/\n├── package.json              # VS Code / Cursor (Open VSX) extension manifest\n├── plugin.json               # Agent Plugins (open standard) manifest\n├── mcp.json                  # Agent Plugins MCP config (streamable-http)\n├── .cursor-plugin/\n│   └── plugin.json           # Cursor plugin manifest (marketplace metadata)\n├── mcp.cursor.json           # Cursor MCP config (referenced by manifest)\n├── .claude-plugin/\n│   ├── plugin.json           # Claude Code plugin manifest\n│   └── marketplace.json      # makes this repo a Claude Code marketplace\n├── .mcp.json                 # Claude Code MCP config (remote connector)\n├── src/\n│   └── extension.ts          # extension entry: registers corkboardMcpProvider\n├── out/\n│   └── extension.js          # committed build of src/extension.ts (shipped)\n├── skills/\n│   └── corkboard/\n│       ├── SKILL.md          # vendored from boldblackai/corkboard-skill\n│       └── script/           # stdlib-only Python CLI\n├── assets/\n│   ├── logo.svg              # Corkboard orbit mark (BBS-001)\n│   └── icon.png              # 128x128 marketplace icon (from logo.svg)\n└── scripts/\n    └── validate.py           # manifest + structure validator (CI gate)\n```\n\n## Skill configuration\n\n```bash\nexport CORKBOARD_TOKEN=\"cb_your_api_token\"   # Settings → API tokens\nexport CORKBOARD_URL=\"https://corkboard.wiki\"  # optional; default\nexport CORKBOARD_WORKSPACE=\"org/ws\"          # optional; see `me`\n```\n\nFull CLI reference: [`skills/corkboard/SKILL.md`](skills/corkboard/SKILL.md).\n\n## Development\n\n```bash\npython3 scripts/validate.py    # validate manifests + skill frontmatter\npython3 tests/test_validate.py # validator unit tests (extension manifest checks)\nnode tests/extension_runtime.test.js  # compiled entry point, stubbed host API\n\n# vendored-skill test suite (from boldblackai/corkboard-skill)\ncd skills/corkboard\npython3 tests/test_pages_logic.py            # + 3 more test_*.py\npython3 tests/mock_server.py --port 8765 &   # stdlib mock of API v1\npython3 tests/smoke_matrix.py --port 8765    # 43-command CLI matrix\n\n# VSIX build (Open VSX / VS Code). The committed out/extension.js is the\n# compiled src/extension.ts; regenerate it after editing the source:\ncd \"$(git rev-parse --show-toplevel)\"\nnpm install            # devDependencies only; no runtime dependencies\nnpm run compile        # tsc -p tsconfig.json -> out/extension.js\nnpx @vscode/vsce package --no-dependencies   # -> corkboard-<version>.vsix\n```\n\nCI runs the validator, the validator unit tests, a stdlib-only import audit\nover script + tests, the four unit suites, the mock-server command matrix, the\nextension entry point test, and `vsce package --no-dependencies` on every push.\n\nThe `skills/corkboard/` subtree is vendored from\n[boldblackai/corkboard-skill](https://github.com/boldblackai/corkboard-skill).\nDo not edit it here — change it upstream and re-vendor:\n\n```bash\ngit subtree pull --prefix skills/corkboard \\\n  https://github.com/boldblackai/corkboard-skill.git main --squash\n```\n\n## Security\n\n- No credentials, tokens, or secrets live in this repository.\n- The MCP server uses OAuth 2.1 with PKCE; tokens never transit the plugin.\n- The CLI skill reads `CORKBOARD_TOKEN` from the environment only.\n- The MCP scope model is least-privilege: `mcp:read` (read-only delegation),\n  `mcp:write` (mutations), `mcp:admin` (reserved).\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n"}