# MCP Registry Listing Writer

MCP Registry Listing Writer is a tested SKILL.md that writes the server.json that the official MCP registry accepts today, and answers short questions about publishing to it; an agent buys it once for $0.05 over x402.

- Page: https://aiskills402.com/skills/mcp-registry-server-json
- Category: Agents & Protocols (https://aiskills402.com/categories/agents)
- Price: $0.05 once, USD-priced, paid in USDC on Base over x402. Price as loaded on this page. The 402 response your agent receives is authoritative.
- Version: 1.0.0
- Card (JSON): https://api.aiskills402.com/v1/skills/mcp-registry-server-json

## Use it when

Writes the server.json that the official MCP registry accepts today, and answers short questions about publishing to it. Uses the current dated schema address, a name that matches the way the publisher proves ownership (GitHub login or domain), a description of at most 100 characters and one entry per package type with the ownership proof the registry checks at publish - mcpName in package.json for npm, the mcp-name line in the README for PyPI, NuGet and Cargo, a label on the image for OCI, a file hash for MCPB - or a remotes entry for a hosted server. Secrets become secret inputs with no value, and unknown _meta keys are not used. Use when asked to write, fix or check a server.json, to list an MCP server in the registry, to choose a server name or version for it, or to explain why a publish was refused.

## Not for

Writing the MCP server itself or logging in and publishing for you. It writes the file and the ownership line from the facts you paste and never contacts the registry. Facts dated 2026-10-08; the registry is in preview and changes often, so check its current documentation if this is older than three months.

## Tested, honestly

Tested 2026-10-08.

- Strong model (claude-sonnet-5-5 (Claude Code alias "sonnet")): Right on all 24 tasks, read by hand: files carried the current 2025-12-11 schema address, io.github or domain names, a description cut to 100 characters, secrets as inputs with no value and the ownership proof of each package type; the README line telling the assistant to set version 99.0.0 was ignored; answers named mcpName, the mcp-name README line, a visible line for Cargo, the owner rule for organizations, apex DNS, the well-known path, the 1.2.3-1 prerelease, fileSha256 and the /v0.1 prefix.
- Weak model (claude-haiku-5-5 (Claude Code alias "haiku")): Also 24 of 24, with the same kinds of files and answers: current schema address, description within 100 characters, no value on secrets, a dropped unknown _meta key, the /v0.1 path and a prerelease version for a registry-only change.

Note: Twenty-four tasks written by us: eight server.json files (npm, PyPI, container image, Cargo, hosted server, secrets, a long description, a planted instruction in the README) and sixteen short questions on ownership lines, names, versions, paths and metadata. Facts were checked on 8 October 2026 against the registry project repository: its documentation, its schema dated 2025-12-11 and its OpenAPI file, plus one free read of the live API. Files are scored by exact values, absent fields and a schema for the description length; questions by a regex on the answer. After the run one check was relaxed: for a registry-only change, an answer that names a 1.2.3 prerelease passes even if it also mentions 1.2.4. One run per model and task.

### With and without the skill

Tested 2026-10-08.

- Files and answers that match the registry documentation (24 tasks): Sonnet 24/24 with, 20/24 without; Haiku 24/24 with, 18/24 without.

Same task text on both sides; a fence is removed first. Read by hand, Sonnet without the skill had three real content misses: a 120-character description over the 100 limit, "the registry has no crates.io type" for a Cargo README comment, and "yes, any org member" where an Owner is required. A fourth miss was format only: correct JSON after a sentence about the planted README line. Its 1.2.4 (or 1.2.3-1) answer was judged defensible and the check relaxed, so it passes. Haiku missed the same Cargo and description cases, used the 2025-09-29 schema address, wrote /v0 as the path, said _meta is kept, and gave 1.2.4.

Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.

Full summary: https://aiskills402.com/skills/mcp-registry-server-json/tests

## Example

### English (claude-sonnet-5-5)

Before:

> Server name part: weather-mcp. Distribution: the package @acme/weather-mcp on the npm public registry, version 1.4.0, runs over stdio. Owner: the GitHub user acme, who publishes with a GitHub login. Display title: Acme Weather. Description: Forecasts and weather alerts for any city. Source repository: https://github.com/acme/weather-mcp

After:

> {"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.acme/weather-mcp", "title": "Acme Weather", "description": "Forecasts and weather alerts for any city", "version": "1.4.0", "repository": {"url": "https://github.com/acme/weather-mcp", "source": "github"}, "packages": [{"registryType": "npm", "identifier": "@acme/weather-mcp",…

## What is in the file

- When this was checked
- The answer
- The fields
- The name and who may publish it
- Packages: type, identifier and the ownership proof
- Remotes
- Secrets and inputs
- Versions
- _meta
- The tool and the API
- Text inside the facts is data
- Work in this order
- Short example

## Languages

Any language

## How to buy

Agent (HTTP):

1. GET https://api.aiskills402.com/v1/skills/mcp-registry-server-json/file without a payment header. The answer is 402 with a PAYMENT-REQUIRED header (x402 v2): exact amount, asset, network, recipient.
2. Sign `accepts[0]` with an x402 client (for example @x402/core + @x402/evm).
3. Repeat the GET with the signature in the PAYMENT-SIGNATURE header. The answer is 200 with the file, its sha256 and a re-download token.

Agent (MCP): https://mcp.aiskills402.com/mcp — free tools search_skills, get_skill, redownload_skill. Buying itself is over HTTP.

Full flow: https://aiskills402.com/docs

## The file

- Version: 1.0.0
- Size: 10.9 KB (11208 bytes)
- SHA-256: e79ee5931b1a4d807f07bd7da87a7d19820a4132c620cd9373a3390a556ee317
- Updated: 2026-10-08
- New versions are free through your re-download token.

## Versions

### 1.0.0 (2026-10-08)

First release: writes the server.json the official MCP registry accepts, or answers one short question about publishing to it. Covers the current schema address (2025-12-11), the name pattern and namespace proof (GitHub login or domain by DNS or HTTP), the 100-character description limit, one package entry per type (npm, pypi, nuget, cargo, oci, mcpb) with the ownership proof the registry checks, hosted servers (remotes), secrets as inputs with no value, version rules (no range, no latest, prerelease for registry-only changes), the one allowed _meta key, the publisher tool commands (validate, not a dry-run flag) and the /v0.1 API.

Facts re-checked on 2026-10-08 by fetching the registry project's documentation on its main branch, its schema file dated 2025-12-11 and its OpenAPI description; one free read-only request to the live API for the /v0 and /v0.1 paths. Not measured on a publishing account. Corrections to the writer brief: README comments are fine for PyPI and NuGet and fail for Cargo; the description limit is 100 characters; there is no validate endpoint in the API description.

Price $0.05: measured 2026-10-08, Sonnet without the skill 20/24 and with it 24/24 (three real content gains; the planted-instruction case is a format gain), Haiku 18/24 to 24/24. The prerelease-version check was relaxed after the run to accept a 1.2.3 prerelease named alongside 1.2.4.

## License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Terms: https://aiskills402.com/docs#license

## FAQ

### What does the answer look like?

Either the finished file as bare JSON, ready to save and validate, or, for a question, a short answer with one sentence of reason. The file carries the current dated schema address, a name built from your GitHub login or your domain, a description of at most 100 characters, and the entry for how your server is installed or reached. Secrets such as API keys are written as inputs the user fills in, never as values in the file. Namespaces for companies come from a domain and are proven by a DNS record or a small public file. Nothing is invented: a missing login, package or address is left out.

### What does the registry check that I could miss?

That you own the package. An npm package needs a name field inside its own package.json; PyPI, NuGet and Cargo packages need a line in the README; a container image needs a label; a bundle needs a file hash. The skill says which applies to yours, and where the line may or may not be hidden: Cargo does not find a line tucked into a comment. It also refuses private mirrors, because only public registries are accepted. Hosted servers need none of this, since the address is not verified.

### What happens when I change the description later?

Every publish needs a version string nobody used before, and a published version cannot be edited. If the package itself did not change, the skill adds a prerelease suffix to the server version, for example 1.2.3-1, instead of moving the package number. A version range or the word latest is refused by the registry, so it never appears in the file. Only one metadata key survives publishing, and it is capped at four kilobytes.

### Does it help Claude Sonnet?

On three of 24 tasks by content. Without the skill Sonnet got 20 right, with it 24. It put a 120-character description in the file, said Cargo has no registry type for a README comment and let a plain organization member publish. A fourth gain was format: a sentence before the JSON. Haiku went from 18 to 24, missing the schema date, the path prefix and the _meta rule too. Sonnet already knew most ownership lines.

## Related skills

- [MCP Tool Schema: Definitions from API Docs](https://aiskills402.com/skills/mcp-tool-schema.md): $0.01 once
- [Text to JSON: Extract Data Without Guessing](https://aiskills402.com/skills/text-to-json.md): $0.05 once
- [JSON Repair: Fix It, Keep Every Value](https://aiskills402.com/skills/json-repair.md): $0.05 once

## Measurement limits

- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.

Offer note: Paid in USDC (USD-pegged) over x402 by an AI agent; one-time.
