Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Screenshots, page to Markdown, link previews, DNS, SSL, WHOIS, QR codes and more for AI agents.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ZACTONZ_API_KEYS, ZACTONZ_MCP_INLINE_IMAGE_BYTESValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
}
}
}
}Run this in your terminal
claude mcp add zactonz --env ZACTONZ_API_KEYS=your-value --env ZACTONZ_MCP_INLINE_IMAGE_BYTES=your-value -- npx -y @zactonz/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"zactonz": {
"command": "npx",
"args": [
"-y",
"@zactonz/mcp"
],
"env": {
"ZACTONZ_API_KEYS": "your-value",
"ZACTONZ_MCP_INLINE_IMAGE_BYTES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"zactonz": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@zactonz/mcp"
],
"env": {
"ZACTONZ_API_KEYS": "your-value",
"ZACTONZ_MCP_INLINE_IMAGE_BYTES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
ZACTONZ_MCP_INLINE_IMAGE_BYTES envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account zactonz, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ZACTONZ_API_KEYS
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 31 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Detailing Manager
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.