Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MCP server for scanner discovery and batch capture via SANE
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add scan -- npx -y scan-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"scan": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"scan-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 jacksenechal 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.0)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, FlyDocs
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
scan-mcp
Minimal MCP server for scanner capture (ADF/duplex/page-size), batching, and multipage assembly.
schemas/ document the contract and are contract-testedNote: This package targets Node 22 and Linux SANE backends (scanimage).
Add a server entry to your MCP client configuration:
{
"mcpServers": { "scan": { "command": "npx", "args": [ "-y", "scan-mcp" ], "env": { "INBOX_DIR": "~/Documents/scanned_documents/inbox" } } } }
start_scan_job without a device_id to auto-select a scanner and begin scanning.INBOX_DIR per job: job-*/page_*.tiff, doc_*.tiff, manifest.json, events.jsonl. When crop_carrier_sheets is set and a carrier sheet is detected, a page_*.cropped.tiff derivative is also written per affected page.Prefer to attach the scanner to another machine on your network? scan-mcp also supports the streamable HTTP transport:
scan-mcp --http
3001; set MCP_HTTP_PORT to override (for example MCP_HTTP_PORT=3333 scan-mcp --http).127.0.0.1 by default. Set MCP_HTTP_HOST to expose it on other interfaces (for example MCP_HTTP_HOST=:: for all, or a LAN address); the server has no authentication, so only do that on a trusted network.npx scan-mcp (recommended)npx scan-mcp --http to launch the streamable HTTP transport when running on another machine.scan-mcp --helpnpm installnpm run buildscanimagetiffcp (multipage assembly) and ImageMagick convert (carrier-sheet detection and cropping); preflight requires bothSCAN_MOCK (default: false): mock SANE calls and generate fake TIFFs for testing.INBOX_DIR (default: scanned_documents/inbox): base directory for job runs and artifacts.SCANIMAGE_BIN (default: scanimage): override the binary path.TIFFCP_BIN / IM_CONVERT_BIN (defaults: tiffcp / convert): multipage assembly and image analysis tools.SCAN_EXCLUDE_BACKENDS (CSV): backends to exclude (e.g., v4l).SCAN_PREFER_BACKENDS (CSV): preferred backends (e.g., epjitsu,epson2).PERSIST_LAST_USED_DEVICE (default: true): persist and lightly prefer last used device.LOG_LEVEL (default: info): pino log level.MCP_HTTP_PORT (default: 3001): TCP port for the HTTP transport.MCP_HTTP_HOST (default: 127.0.0.1): bind address for the HTTP transport.device_id (string): Target device identifier.device_id triggers auto-selection and default options.device_id (string)resolution_dpi (integer, 50–1200)color_mode (Color | Gray | Lineart): color_mode defaults to Lineart (document-first); at >= 600dpi it defaults to Color, since high-dpi capture usually means artwork/photos where 1-bit destroys information. Pass color_mode explicitly to override either default; high dpi is the only signal used.source (Flatbed | ADF | ADF Duplex)duplex (boolean)page_size (Letter | A4 | Legal | Custom)custom_size_mm { width, height }doc_break_policy { type (page_count | none), page_count }: split the batch into documents of page_count pagesoutput_format (string, default tiff)tmp_dir (string)crop_carrier_sheets (boolean, default false): detect carrier-sheet leading-edge band and write cropped page derivatives; raw pages are keptjob_id (string)job_id (string)limit (integer, max 100)state (running | completed | cancelled | error | unknown)manifest.json.job_id (string)events.jsonl log.job_id (string)See JSON Schemas in schemas/ for input shapes. Runtime validation is zod (src/server/register.ts); the schemas document the contract and tests assert against them.
Defaults aim for 300dpi, reasonable color mode, and ADF/duplex when available. Full details on scoring and fallbacks live in docs:
docs/SELECTION.mdsrc/mcp.ts — MCP server entry and tool registrationsrc/services/* — hardware interface and job orchestrationschemas/ — JSON Schemas documenting the tool contracts (used by tests)docs/ — architecture, conventions, and deep divesnpm run dev (stdio MCP server), npm run dev:http (HTTP transport)make verify runs lint, typecheck, and testsdocs/CONVENTIONS.md and architecture in docs/BLUEPRINT.mdTracking ideas and future improvements are documented in docs/ROADMAP.md.