Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Turn markdown and Mermaid diagrams into rendered jotbins.com links, and read them back.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.jotbins.com/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"jotview": {
"command": "npx",
"args": [
"-y",
"jotview",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add --transport http jotview https://mcp.jotbins.com/mcpclaude mcp add jotview -- npx -y jotview mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"jotview": {
"url": "https://mcp.jotbins.com/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"jotview": {
"command": "npx",
"args": [
"-y",
"jotview",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"jotview": {
"type": "http",
"url": "https://mcp.jotbins.com/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"jotview": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"jotview",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.jotbins.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
render_markdownTurn markdown (GitHub-flavored, with ```mermaid diagrams, $math$ / $$math$$, > [!NOTE] callouts and :emoji: shortcodes) into a link that renders it as a page on jotbins.com. Returns a ready-made markdown link to show the user. Small documents live entirely in the link; larger one
read_linkGet the markdown behind a jotbins link — a jotbins.com/d link, a jotbins.com/p saved paste (public ones only) or a surl.jotbins.com short link — so you can read, quote or edit it. Links never change: to edit, change the markdown and call render_markdown for a new link. Reading a
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 jotbins 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 70 毫秒内响应(HTTP 200)
无需登录
已读取 2 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.7.0)于11天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Dialyne
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Turn a markdown file into a jotbins link that renders it.
npx jotview notes.md
Zero dependencies. No install, no account, no config.
The document is compressed and packed into the URL's fragment — the part after #. Fragments are never sent to a server, so for links 2000 characters or fewer nothing you write leaves your machine. Opening the link renders it entirely in the browser.
jotview <file> mint a link from a file
jotview read markdown from stdin jotview decode print the markdown behind a /d, /p or short link jotview mcp [--raw] run as an MCP server for AI agents
--raw never shorten; always the full /d URL --short always shorten, even when small --keep make a shortened link permanent --open open the link in your browser --copy copy the link to your clipboard --json print the result as one JSON line (see below) --base-url override https://jotbins.com -h, --help -v, --version
Examples:
jotview README.md --open
cat notes.md | jotview jotview notes.md | pbcopy LINK=$(jotview notes.md --raw) jotview decode https://surl.jotbins.com/abc123 > notes.md
decode accepts jotbins.com/d links (decoded locally), surl.jotbins.com short links (fetched; like a click, that keeps an active short link alive) and public jotbins.com/p pastes (fetched from jotbins; private pastes read as not found).
A document's link grows with the document — roughly half the markdown's size in characters. A 20 KB file produces an ~8,700-character URL, which Discord, X, and most chat clients will not accept.
So links over 2000 characters are shortened via surl.jotbins.com, and jotview tells you on stderr when that happens:
note: uploaded to jotbins to shorten (8768 → 30 chars). use --raw to keep it local.
note: short link expires after 30 days unused. use --keep to keep it forever.
Shortening uploads your document. The fragment *is* the markdown, so storing the URL stores the text. Below the threshold nothing is uploaded and no network request is made at all. Use --raw to keep a long document local, accepting a URL too long to paste into most places.
Short links clean up after themselves. One nobody opens for 30 days is deleted, with a 60-day window to bring it back from its waiting page. Pass --keep to make it permanent from the start, or click Save link on the waiting page any time before then. Full /d links are never stored, so they never expire.
If the shortener is unreachable or rate-limited, jotview prints the full link and exits 0 — it never fails your pipeline over a shortening problem.
jotview mcp is a stdio MCP server with two tools. With render_markdown an AI writes markdown — notes, a report, a Mermaid diagram — and gets back a jotbins link to hand you; with read_link it reads a jotbins link you share.
Claude Code
claude mcp add jotview -- npx -y jotview mcp
Claude Desktop — download jotview.mcpb from the latest release and double-click it. Optionally pick a docs folder it may read files from.
Cursor and other clients — add to the MCP config:
{ "mcpServers": { "jotview": { "command": "npx", "args": ["-y", "jotview", "mcp"] } } }
Then just ask: *"draw a diagram of our deploy flow and give me a jotbins link."*
`render_markdown` takes content (the markdown), plus optional title (link text instead of the first heading), keep (make a short link permanent) and shorten ("auto", "always" or "never"). It returns a ready-made markdown link, [First heading](url), and a note on whether anything was uploaded. It never reads files — the AI passes text it already has.
Rendering files. The local server can also take a path instead of content, so the AI doesn't have to paste a whole file into the tool call. It reads only .md, .markdown, .mdx and .txt files, and only inside the folder the server runs in (Claude Code starts it in your project) or a folder you allow with --allow-dir:
claude mcp add -s user jotview -- npx -y jotview mcp --allow-dir ~/notes
If the server runs in / or your home folder and no --allow-dir is given, path is switched off. The remote server never reads files.
`read_link` takes a url (a /d link, a public /p paste or a short link) and returns the markdown behind it, so you can paste a link and say *"fix the typos and give me a new link."* Links never change; an edit is a new link.
Uploads. Every character of a link costs tokens, so MCP shortens sooner than the CLI: links over 500 characters go through surl.jotbins.com, which uploads the document (short links expire after 30 days unused unless keep is set). To forbid uploads entirely, start the server with --raw:
claude mcp add jotview -- npx -y jotview mcp --raw
Works with clients on any MCP revision from 2024-11-05 through 2026-07-28.
The same tool runs at `https://mcp.jotbins.com/mcp` (Streamable HTTP, no sign-in), for clients that can't run local commands.
https://mcp.jotbins.com/mcp.claude mcp add -s user --transport http jotview https://mcp.jotbins.com/mcpSame rules as the local server, except it can't forbid uploads: use shorten: "never" per call, or the local --raw server, to keep a document off surl.jotbins.com. Uploads are rate-limited per client; over the limit you still get the full link.
The Worker lives in worker/ and deploys with cd worker && npx wrangler deploy.
stdout is the URL and nothing else. Notices, warnings, and errors go to stderr, so $(jotview x.md) and jotview x.md | pbcopy stay clean.
With --json, stdout is one JSON line instead, for scripts and CI:
{"url":"https://surl.jotbins.com/abc123","rawUrl":"https://jotbins.com/d#z:…","shortened":true,"permanent":false,"failure":null}
failure is the shortener's error when shortening was tried and failed (url is then the full link).
Exit codes: 0 success, 1 runtime error, 2 usage error.
Input is capped at 1 MB, matching what the /d renderer will open.
Node 18 or newer.
Releases run from GitHub Actions. On an up-to-date main:
npm version minor
git push --follow-tags
npm version also updates manifest.json and server.json. The v* tag then tests, publishes to npm (trusted publishing, with provenance), attaches jotview.mcpb to a GitHub release, and updates the MCP Registry entry. Move the Unreleased notes in CHANGELOG.md under the new version first (commit that before npm version). The Worker deploys separately: cd worker && npx wrangler deploy.
If a release run fails partway, fix the cause and finish it with gh workflow run release.yml -f tag=vX.Y.Z — finished steps are skipped.
MIT