Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Publish pages, documents, or folders to a link; documents render as pages; updates keep the URL.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"plopino": {
"command": "npx",
"args": [
"-y",
"plopino"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add plopino -- npx -y plopino프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"plopino": {
"command": "npx",
"args": [
"-y",
"plopino"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"plopino": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"plopino"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 plopino 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.3)은 6일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Detailing Manager
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
npx -y plopino publish ./index.html
npx -y plopino publish ./dist --json npx -y plopino login npx -y plopino publish ./dist --update https://plopino.com/b/YOUR_BOARD_ID/ npx -y plopino whoami npx -y plopino logout
login prompts for an email and a hidden password. Create an account on the website first if needed. Login claims available anonymous uploads made with this CLI's saved identity, reports how many were claimed, and saves a session for future uploads. An existing PLOPINO_TOKEN overrides the saved session for publishing. For Google/GitHub-only accounts, use an API token for future uploads; CLI password login requires an account with a password.
Cookies are stored as unencrypted JSON per server origin under ~/.config/plopino/. The directory is created with mode 0700 and cookie files are written with 0600; this restricts access to your OS user but is not encryption. Override the directory with PLOPINO_CONFIG_DIR. Keep this directory to retain the ability to claim anonymous uploads. Passwords are never stored. Logging out revokes the saved account session but preserves the anonymous identity; log out before handing a shared OS account to someone else. Browser and MCP sessions are separate: logging in on the website alone does not claim CLI uploads.
For non-interactive login, use login --email you@example.com --password-stdin, supplying the password through standard input from your secret manager. Do not pass passwords as command-line arguments. --json gives structured results and errors; errors exit with status 1. Default publishing writes only the URL to stdout and status to stderr.
Both CLI and MCP directory uploads skip .git, .env*, node_modules, .ssh, .aws, and symbolic links. Other files are included; publish the output directory you intend to share. A single explicitly selected file is uploaded as requested, so never select credentials or other secrets. Symlink inputs are rejected. CLI commands for the same server cannot run concurrently; after a forcibly terminated process, the next command identifies any stale lock to remove once no command is running.
For development before the npm release, replace npx -y plopino with node /path/to/boards/mcp/index.js in the examples above.
MCP server for Plopino — lets an AI agent publish what it just built and hand back a public link, without the user touching a browser.
agent writes index.html — or has a report / spreadsheet / markdown on disk
↓ publish_page / publish_path https://plopino.com/b/xxxxxxxx/
Documents are first-class: Word (doc/docx), Excel (xls/xlsx) and Markdown render as readable pages, code and data files get syntax-highlighted previews, and images and video display inline. The recipient opens a link; they never download a file.
| Tool | Use it when |
|---|---|
publish_page | You have the content as a string — generated HTML, or a Markdown / CSV / code document. The filename decides how it renders: leave it at index.html for a page, pass report.md and it renders as a document. |
publish_path | The page needs sibling files (CSS, JS, images), or you are sharing something that is already on disk — including any document, and including binary formats (docx, xlsx, pdf) that cannot be sent as a string. Point it at a directory and the structure is preserved — no need to zip first. |
publish_files | Remote endpoint only. Same job as publish_path for clients that cannot hand over a local path: you send the file contents inline (a relative path plus its content, per entry). |
Both take an optional update_url: pass a link returned by an earlier publish and that page's content is replaced while the link stays the same. This needs a token (see below).
Publishing is anonymous by default: no account, no configuration, no API key. The returned link is public; without a token the page is kept for a month, with a token it is permanent and can be updated in place.
The stdio MCP server reuses the CLI's per-origin anonymous cookie in ~/.config/plopino/ (override with PLOPINO_CONFIG_DIR). Repeated publishes and MCP restarts therefore keep the same anonymous identity, and plopino login can claim those uploads. MCP does not use the saved CLI login session; account publishing and updates still require PLOPINO_TOKEN.
Anonymous creates also return claimUrl. It is a private browser link for the publisher: open it yourself, sign in, and confirm the claim to keep that page in your account. Do not append it to the public URL or share it with page viewers. JSON output includes it as claimUrl; human output prints it on stderr for CLI publishes and inside the MCP tool result for agent publishes.
Set PLOPINO_TOKEN to publish to your account instead of anonymously. You get private boards, updates that keep the same link, and you are not subject to the anonymous rate limit.
Create a token at plopino.com/b — the panel hands you a ready-made command with the token already in it (the server keeps an encrypted copy, so you can come back for it any time), then:
claude mcp add plopino --env PLOPINO_TOKEN=plp_xxx -- npx -y plopino
Leaving it unset is a supported configuration, not a degraded one. Most users never need a token — the anonymous flow is the product.
Also listed in the official MCP registry as io.github.plopino/plopino-mcp, and on Smithery as an installable bundle.
This repository is also a Claude Code plugin marketplace:
claude plugin marketplace add plopino/plopino-mcp
claude plugin install plopino@plopino
The plugin connects to Plopino's remote MCP endpoint, so it works without a local Node process. A token is optional; leave it empty to publish anonymously.
codex-plugin/ is the OpenAI-format package and .agents/plugins/marketplace.json is its Codex marketplace entry:
codex plugin marketplace add plopino/plopino-mcp
codex plugin add plopino@plopino
It uses the remote MCP endpoint with mixed authentication: anonymous by default, or Plopino OAuth 2.1 (DCR + PKCE) for account publishing and in-place updates. The same folder is the single-plugin-root package for the OpenAI directory ZIP submission.
Download the latest plopino.mcpb, then open it or drag it into Claude Desktop. This is the local stdio server, with an optional PLOPINO_TOKEN in the extension settings.
Anything that speaks stdio MCP works — the server is a plain stdio process, so the only difference between clients is how you register it. All of the below are the clients' own documented forms (verified 2026-09). Wherever you see plp_xxx, paste a token from plopino.com/b — the panel there fills it in for you and lets you pick your client. If your client would rather not run a local process at all, skip to Remote endpoint — same tools, one URL.
Claude Code
claude mcp add plopino -e PLOPINO_TOKEN=plp_xxx -- npx -y plopino
Codex (CLI and IDE extension share ~/.codex/config.toml)
codex mcp add plopino --env PLOPINO_TOKEN=plp_xxx -- npx -y plopino
Gemini CLI
gemini mcp add -e PLOPINO_TOKEN=plp_xxx plopino npx -y plopino
WorkBuddy — ~/.workbuddy/mcp.json (%USERPROFILE%\.workbuddy\mcp.json on Windows; needs WorkBuddy 5.3+), then restart WorkBuddy:
{
"mcpServers": { "plopino": { "command": "npx", "args": ["-y", "plopino"], "env": { "PLOPINO_TOKEN": "plp_xxx" } } } }
Cursor — the same JSON in .cursor/mcp.json (project) or ~/.cursor/mcp.json (global). Windsurf — the same JSON in ~/.codeium/windsurf/mcp_config.json. Claude Desktop — the same JSON in claude_desktop_config.json.
VS Code — same idea in .vscode/mcp.json, but the key is servers, not mcpServers:
{
"servers": { "plopino": { "command": "npx", "args": ["-y", "plopino"], "env": { "PLOPINO_TOKEN": "plp_xxx" } } } }
No npm? The server also ships as a single self-contained file on the site. Two lines instead of one, but nothing to install:
curl -fsSL https://plopino.com/plopino-mcp.mjs -o "$HOME/.plopino-mcp.mjs"
claude mcp add plopino -e PLOPINO_TOKEN=plp_xxx -- node "$HOME/.plopino-mcp.mjs"
"$HOME/…"is expanded by your shell as you paste, so the absolute path is what gets
registered. That matters: MCP clients spawn the server from an arbitrary working
directory, so a relative path would break.
Then just ask: *"publish this to Plopino"*, or *"give me a link for that page"*.
Everything above runs on your machine. There is also a hosted Streamable HTTP endpoint serving the same tools, for clients that support remote MCP servers and would rather not run a local process at all:
https://plopino.com/mcp
claude mcp add --transport http plopino https://plopino.com/mcp
Any client that accepts a remote server URL takes that same address. Authentication works the same way: send a token as Authorization: Bearer plp_xxx if you have one, and publish anonymously if you don't.
Two differences from the stdio build, both deliberate:
publish_files and send the contents.The instance the server publishes to defaults to https://plopino.com. Set PLOPINO_BASE_URL to point at another one — a staging host, or your own deployment:
PLOPINO_BASE_URL=https://plopino.com npx -y plopino
npm install
npm test # 路径展开的边界 + 协议握手/工具列表(不需要网络)
To exercise the full publish path, run a Plopino instance and drive the server over stdio against it:
PLOPINO_BASE_URL=https://plopino.com node index.js
stdout is the MCP protocol channel. Anything written there that is not a JSON-RPC
message will break the client. All logging must go to stderr — hence
console.error
everywhere and never
console.log.
If you want to tell Plopino which tutorial introduced the tool, set PLOPINO_ACQUISITION_SOURCE (for example devto), optionally with PLOPINO_ACQUISITION_CAMPAIGN and PLOPINO_ACQUISITION_CONTENT. These labels are sent with publish requests and stored separately from browser referrals, with their capture time. They do not affect publishing or login. Use only letters, digits, underscores and hyphens, at most 64 characters; start with a letter or digit. Do not put secrets, URLs or personal data in labels. Leave them unset to send no acquisition labels. Supported by CLI and stdio MCP.
Full policy: https://plopino.com/privacy
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요