pocketnook
About
A deploy tool for Claude Code, Cursor, and any MCP client: say 'deploy this' and your code comes back as a private URL, open only to the people you invite.
Details
- Author
- shotintoeternity
- Categories
- Developer Tools, Other, AI
Jump to
Or install both at once, as a Claude Code plugin
This repository is also a Claude Code plugin: the skill above and the MCP server, wired together, with the token read from your environment.
claude plugin marketplace add shotintoeternity/pocketnook-mcp claude plugin install pocketnook@pocketnook-mcp
Then check it:claude plugin details pocketnook@pocketnook-mcpshould report one skill and one MCP server.
That check is worth running, because the obvious one does not cover it.claude plugin validatereadsplugin.jsonand the skills, anddoes not read.mcp.jsonat all— it reports✔ Validation passedon a plugin whose.mcp.jsonis not even parseable JSON.detailsis what counts the components, and it reportsMCP servers (0)for exactly that plugin.
The marketplace manifest and the plugin manifest are both here, in one repository, because a plugin-only repository is not installable:plugin marketplace addfails withMarketplace file not found, andplugin installanswersnot found in any configured marketplace..claude-plugin/marketplace.jsonlists this repository's root as its one plugin.
Deploy a repository to a private URL without leaving the agent that wrote it.
> deploy this somewhere private owner/studio-board is deployed: https://pocketnook.dev/s/nook-…/ It is private — only you can open it until you share it. (static, 42 files)
The deploy step belongs inside the tool where the software is being written, which is both the distribution and the product.
claude mcp add pocketnook \ --env POCKETNOOK_TOKEN=pnka_… \ -- npx -y @pocketnook/mcp
Or, from a checkout of this repository, point at the entry directly:
claude mcp add pocketnook \ --env POCKETNOOK_TOKEN=pnka_… \ -- node /absolute/path/to/apps/mcp/bin/pocketnook-mcp.mjs
The server has no dependencies and runs on Node 22.18 or newer — the floorpackage.jsondeclares, so an older Node warns rather than silently half-works. Any MCP client works; the commands above are Claude Code's.
3. Optionally add the skill, which teaches the agent the things the tool descriptions cannot say on their own — that a deploy builds what is pushed rather than what is on disk, and that sharing does not notify anyone:
cp -r skills/pocketnook ~/.claude/skills/
Or install both at once, as a Claude Code plugin
This repository is also a Claude Code plugin: the skill above and the MCP server, wired together, with the token read from your environment.
claude plugin marketplace add shotintoeternity/pocketnook-mcp claude plugin install pocketnook@pocketnook-mcp
Then check it:claude plugin details pocketnook@pocketnook-mcpshould report one skill and one MCP server.
That check is worth running, because the obvious one does not cover it.claude plugin validatereadsplugin.jsonand the skills, anddoes not read.mcp.jsonat all— it reports✔ Validation passedon a plugin whose.mcp.jsonis not even parseable JSON.detailsis what counts the components, and it reportsMCP servers (0)for exactly that plugin.
The marketplace manifest and the plugin manifest are both here, in one repository, because a plugin-only repository is not installable:plugin marketplace addfails withMarketplace file not found, andplugin installanswersnot found in any configured marketplace..claude-plugin/marketplace.jsonlists this repository's root as its one plugin.
The two deploys, and why they are two tools
deploybuilds what GitHub has.deploy_directoryuploads what is on the disk, including uncommitted work, and needs no repository at all. It exists because the person an agent is writing for may never make a push.
They are not merged into one tool with a heuristic, because the heuristic has two silent failure modes: guess towards the repository and an afternoon of work is quietly not deployed; guess towards the directory and half-finished local edits go live. Neither announces itself, which is what makes the guess unaffordable: a wrong answer that stays quiet is worse than a question.
There is nodeletetool. Deleting a nook destroys its grants and secrets and cannot be undone, so it stays a decision made on a page that can say so;stopis the recoverable version of the same intent. There is nothing for managing tokens either — the gateway refuses a token on/api/tokensentirely, so an agent cannot extend its own credential or revoke the one being used to stop it.
share_nookandset_nook_secretwere removed on 2026-08-01.They shipped here on 2026-07-27 and then a design decision made both routes session-only —a token deploys, a session administers.They did not become ill-advised, they became impossible:sessionOnlyin the gateway answers any bearer token with 401. A tool that can never succeed is worse than no tool, because an agent reads the refusal as transient and retries it. Setting a secret, sharing a nook and deleting one all happen in the browser now, and the server's MCPinstructionssay so, so a model sends its person there rather than inventing a workaround such as committing the secret into the project.
An agent token acts as the account that minted it, on that account's own nooks. Three limits are enforced by pocketnook's gateway, and tested there — they are properties of the server, not of this client, so a modified copy of this code cannot widen them:
Tokens are stored as a SHA-256 hash, expire after 90 days, and can be revoked from the same panel that created them.
- Builds are synchronous.A deploy holds the request until the build finishes, and this client waits up to 15 minutes. Clients apply their own tool timeout on top of that; if a build outlasts it, the build still completes — checklist_nooksor pocketnook.dev/home rather than deploying again.
- A disconnecting client cancels a build.Same root cause: there is no queue, so the build lives in the request.
- Root-relative assets.A nook is served under/s/:id/, so an app that requests/logo.pngescapes its own prefix. Apps that use relative paths (for example Vite'sbase: './') are unaffected.
- deploy_directoryneedstaron the PATH, and refuses a directory that contains your home directory — packing~would upload SSH keys and cloud credentials along with the project. Uploads are capped at 32 MB by the gateway;node_modules,.gitand build caches are left out.
- A build log is somebody else's output.Control characters are stripped before it reaches the agent, and it arrives inside--- begin build output ---markers that say whose text it is. That is a mitigation, not a fix: an instruction written into a build log is ordinary text and no escaping removes it. The markers give the model the context to discount it.
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node bin/pocketnook-mcp.mjs
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
next-devtools-mcp is a MCP server that provides Next.js development tools and utilities for AI coding assistants like Claude and Cursor.
A demonstration server for ActionKit, providing access to Slack actions via Claude Desktop.
MCP server that lets Claude Code agents delegate tasks to agents in other project directories, with parallel dispatch, sessions, and async jobs.
Anchor Browser (https://anchorbrowser.io) is secure infrastructure for computer-use agents — stealth cloud browsers, authentication, captcha bypass, and a hosted MCP server for Cursor, Claude, and Windsurf.
Open-source Claude Code plugin replacing Read/Grep/Edit/Bash with token-efficient versions. Independently benchmarked at 57% token reduction on real codebases. 40 MCP tools.
Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.
Context-optimized security plugin for Claude Code that builds architecture maps and redacts secrets.
Charon gives AI clients scoped, auditable access to Lethe memory. connect to Chatgpt or Claude to store memories locally.
Score CLAUDE.md/AGENTS.md, validate clarx-manifest.json, generate CI workflows, and pull repo scan findings into Cursor, Claude, or Grok.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





