
Zactonz
io.github.zactonzv0.1.0更新于 Oct 6, 2026
Screenshots, page to Markdown, link previews, DNS, SSL, WHOIS, QR codes and more for AI agents.
概览
让助手通过 Zactonz API 截取网页截图和 PDF、把网页读成 Markdown,并执行 DNS、SSL、WHOIS、邮箱、二维码、条码和图像等工具。
- 功能
- 这是一个本地 stdio MCP 服务器,封装 Zactonz API。工具包括 capture_screenshot 和 render_html(输出图片或 PDF)、read_webpage 和 convert_html_to_markdown、preview_link(获取链接元数据)、lookup_dns、inspect_ssl_certificate、lookup_whois、check_email_domain 和 verify_emails,以及二维码和条码的生成与解码、社交图片生成、图像转换与检查、文本翻译、Google Drive 下载链接工具和 check_api_key。结果以 JSON 文本返回,较小的图片会内联返回以便助手查看。
- 适用场景
- 适合助手需要查看网页渲染效果、提取网页正文、检查域名的 DNS、TLS 或邮件配置,或生成二维码、条码和社交图片的场景。每项能力由对应产品的 API 密钥控制,只有拥有密钥的工具才会出现。
- 运行要求
- 通过 npx @zactonz/mcp 或源码检出在本地以 stdio 运行,需要 Node.js 18 或更高版本。需要在 ZACTONZ_API_KEYS 环境变量中提供一个或多个 Zactonz API 密钥,密钥在 Zactonz 控制台创建,有免费方案。可选设置 ZACTONZ_MCP_INLINE_IMAGE_BYTES 和 ZACTONZ_BASE_URL。需要访问 api.zactonz.com 的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Zactonz,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Zactonz MCP server
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.
Install
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.
From source
Useful for pinning a particular commit, working on the server, or running without a registry. Needs Node.js 18 or newer and git.
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:
Then point your client at the absolute path, in place of the npx form used below:
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:
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.
Setup
- Create a key for each product you want to use in the API console. There is a free plan.
- Add the server to your MCP client, with the keys in
ZACTONZ_API_KEYSseparated 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:
VS Code (.vscode/mcp.json):
Claude Code:
On Windows, if the client cannot start npx directly, use "command": "cmd" with "args": ["/c", "npx", "-y", "@zactonz/mcp"].
Keys
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.
Tools
docs/tools.md lists the arguments of each tool.
Example requests once it is connected:
- "Take a screenshot of example.com on a 390 pixel wide screen and tell me whether the menu fits."
- "Read https://example.com/pricing and summarise the plans."
- "Does example.com have SPF and DMARC set up correctly?"
- "When does the SSL certificate for example.com expire?"
Results
A tool returns JSON text. Two things differ from the raw API:
read_webpageandconvert_html_to_markdownreturn 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.- A tool that produces an image returns the link and, when the file is 750 KB or smaller, the image as well, so the assistant can look at it.
capture_screenshotandrender_htmluse 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.
Limits and timing
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.
Configuration
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.
Security and privacy
- Untrusted content.
read_webpage,preview_linkandread_qr_codereturn 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. - Generated files are public links. Screenshots, PDFs, QR codes, barcodes and converted images are stored on
api.zactonz.comat 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. - What is sent. Tool arguments go to
api.zactonz.comand 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. - Arguments are validated against each tool's schema before any request is made, and arguments outside the schema are refused.
- Images are fetched for inline display only from the API's own host, over HTTPS, without following redirects.
- Tools that fetch a URL do so from Zactonz's servers, which refuse private and internal addresses.
Report a vulnerability as described in SECURITY.md.
Troubleshooting
- A tool is missing. Only tools with a key are listed. Add a key for that product and restart the client.
- Every call answers with setup instructions.
ZACTONZ_API_KEYSis empty or holds no valid key. The server prints the reason on stderr, which most clients show in their MCP log. - "Missing or invalid API key." The key was revoked or mistyped. Ask the assistant to run
check_api_key, or check the key in the console. - A screenshot has no inline image. The file is over the inline limit. Lower the quality or size, or raise
ZACTONZ_MCP_INLINE_IMAGE_BYTES.
Versioning
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.
Development
See CONTRIBUTING.md.
Licence
MIT. See LICENSE. Maintained by Zactonz Technologies.
来源:README.md,提交 111f46d
工具
0版本历史
1- v0.1.0最新Oct 6, 2026
