Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Screenshots, page to Markdown, link previews, DNS, SSL, WHOIS, QR codes and more for AI agents.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ZACTONZ_API_KEYS, ZACTONZ_MCP_INLINE_IMAGE_BYTES标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"zactonz": {
"command": "npx",
"args": [
"-y",
"@zactonz/mcp"
],
"env": {
"ZACTONZ_API_KEYS": "your-value",
"ZACTONZ_MCP_INLINE_IMAGE_BYTES": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add zactonz --env ZACTONZ_API_KEYS=your-value --env ZACTONZ_MCP_INLINE_IMAGE_BYTES=your-value -- npx -y @zactonz/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"zactonz": {
"command": "npx",
"args": [
"-y",
"@zactonz/mcp"
],
"env": {
"ZACTONZ_API_KEYS": "your-value",
"ZACTONZ_MCP_INLINE_IMAGE_BYTES": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"zactonz": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@zactonz/mcp"
],
"env": {
"ZACTONZ_API_KEYS": "your-value",
"ZACTONZ_MCP_INLINE_IMAGE_BYTES": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ZACTONZ_MCP_INLINE_IMAGE_BYTES env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 zactonz 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ZACTONZ_API_KEYS
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于31天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AvaHR
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Model Context Protocol server for the Zactonz APIs. It lets an AI assistant capture a screenshot of a web page, read a page as Markdown, preview a link, look up DNS, SSL and WHOIS records, check a domain's email setup, verify addresses, generate QR codes, barcodes and social card images, convert images and translate text.
It runs on your machine over stdio and needs Node.js 18 or newer.
There is nothing to install ahead of time. The client configurations below run npx -y @zactonz/mcp, which fetches the package on first use and keeps it cached. You need Node.js 18 or newer.
Skip to Setup unless you want to run it from a checkout.
Useful for pinning a particular commit, working on the server, or running without a registry. Needs Node.js 18 or newer and git.
git clone https://github.com/zactonz/zactonz-mcp.git
cd zactonz-mcp npm ci --omit=dev
That is the whole install: two runtime dependencies, no build step. Check it starts — it will wait for input, so press Ctrl+C to leave:
node bin/zactonz-mcp.js
Then point your client at the absolute path, in place of the npx form used below:
{
"mcpServers": { "zactonz": { "command": "node", "args": ["/absolute/path/to/zactonz-mcp/bin/zactonz-mcp.js"], "env": { "ZACTONZ_API_KEYS": "zk_screen_…,zk_markdown_…" } } } }
Use the real absolute path — ~ and relative paths are not expanded by most clients. On Windows, write it with forward slashes or escaped backslashes, for example C:/Users/you/zactonz-mcp/bin/zactonz-mcp.js.
For Claude Code:
claude mcp add zactonz --env ZACTONZ_API_KEYS="zk_screen_…" -- node /absolute/path/to/zactonz-mcp/bin/zactonz-mcp.js
If you would rather have zactonz-mcp on your PATH, run npm link in the clone, then use "command": "zactonz-mcp" with no args.
To update later: git pull && npm ci --omit=dev.
ZACTONZ_API_KEYS separated by commas.If you installed from source instead, substitute the "command" and "args" shown there for the npx form used below.
Clients that read an mcpServers block, such as Claude Desktop, Cursor and Windsurf:
{
"mcpServers": { "zactonz": { "command": "npx", "args": ["-y", "@zactonz/mcp"], "env": { "ZACTONZ_API_KEYS": "zk_screen_…,zk_markdown_…,zk_domain_…" } } } }
VS Code (.vscode/mcp.json):
{
"servers": { "zactonz": { "command": "npx", "args": ["-y", "@zactonz/mcp"], "env": { "ZACTONZ_API_KEYS": "zk_screen_…,zk_markdown_…" } } } }
Claude Code:
claude mcp add zactonz --env ZACTONZ_API_KEYS="zk_screen_…,zk_markdown_…" -- npx -y @zactonz/mcp
On Windows, if the client cannot start npx directly, use "command": "cmd" with "args": ["/c", "npx", "-y", "@zactonz/mcp"].
A Zactonz key works for one product, and the product is part of the key: zk_screen_… is a screenshot key, zk_markdown_… a Markdown key. Put every key you have in ZACTONZ_API_KEYS. The server uses the right one for each call and offers the assistant only the tools those keys can call.
Keys stay in the server process. They are sent to api.zactonz.com in the Authorization header and nowhere else, and they are never included in anything returned to the assistant.
| Tool | Purpose | Key |
|---|---|---|
capture_screenshot | Capture a web page as an image or PDF | screen |
render_html | Render HTML to an image or PDF | screen |
read_webpage | Read a web page as Markdown | markdown |
convert_html_to_markdown | Convert HTML to Markdown | markdown |
preview_link | Title, description, image and metadata of a URL | unfurl |
lookup_dns | DNS records and DNSSEC status | domain |
inspect_ssl_certificate | Certificate, chain, expiry and TLS details | domain |
lookup_whois | Registrar, dates and nameservers of a domain | domain |
check_email_domain | MX, SPF, DKIM, DMARC and related records, scored | email |
verify_emails | Whether addresses can receive mail | mverifier |
generate_qr_code | Generate a QR code | qr |
read_qr_code | Decode a QR code | qr |
generate_barcode | Generate a barcode | barcode |
generate_social_image | Generate an Open Graph image | og |
convert_image | Convert, resize or crop an image | image |
inspect_image | Dimensions, format and colours of an image | image |
translate_text | Translate between 46 languages | translator |
get_drive_download_link | Direct download link for a Google Drive file | gdrive |
check_api_key | Plan and remaining quota of a key | any |
docs/tools.md lists the arguments of each tool.
Example requests once it is connected:
A tool returns JSON text. Two things differ from the raw API:
read_webpage and convert_html_to_markdown return the Markdown as plain text, followed by the remaining fields as JSON. They request at most 20,000 characters unless the assistant asks for more.capture_screenshot and render_html use JPEG quality 80 unless told otherwise, to stay under that size. PDFs and larger images are returned as a link only.A refused call is returned as a tool error carrying the API's message, the status, how long to wait when a limit was reached, and the request id.
Calls spend units from your plan's quota, the same as direct API calls. See rate limits and quotas.
A tool call is given 55 seconds in total, because MCP clients stop waiting after 60. Within that time the server retries once, and only where a retry cannot repeat work: after a 429 with a short Retry-After, after a gateway error on a read, or ten seconds after the API's request burst limit rejects a call. If the client cancels a call, the server stops.
| Variable | Purpose | Default |
|---|---|---|
ZACTONZ_API_KEYS | API keys, separated by commas | none |
ZACTONZ_MCP_INLINE_IMAGE_BYTES | Largest image returned inline, in bytes. 0 returns links only | 750000 |
ZACTONZ_BASE_URL | API base URL | https://api.zactonz.com |
Without keys the server still starts and lists every tool, and each call answers with setup instructions. Values in ZACTONZ_API_KEYS that are not Zactonz keys are ignored and reported on stderr.
read_webpage, preview_link and read_qr_code return text written by whoever controls the page or the code. That text can contain instructions aimed at the assistant. The server labels it as third-party data, but the label is advice to the model, not a guarantee. Review what an assistant does after reading pages you do not control.api.zactonz.com at unguessable URLs that anyone holding the link can open, for the period given on each endpoint's reference page. Do not render documents that must stay private.api.zactonz.com and nowhere else. The server keeps no logs and stores nothing on disk. The API's own handling of data is covered by the privacy policy.Report a vulnerability as described in SECURITY.md.
ZACTONZ_API_KEYS is empty or holds no valid key. The server prints the reason on stderr, which most clients show in their MCP log.check_api_key, or check the key in the console.ZACTONZ_MCP_INLINE_IMAGE_BYTES.This package follows semantic versioning. While it is at 0.x, a minor release may rename a tool or an argument; such changes are listed in the changelog.
See CONTRIBUTING.md.
MIT. See LICENSE. Maintained by Zactonz Technologies.