Repository navigation
Smithery and Glama manifests, registry publishing steps - #60
Merged
Merged
Conversation
…ate for all three
The Smithery directory reads smithery.yaml from the repository root, Glama
claims an organization's listing by glama.json. Both repeat facts this
repository already states - the start command the README registers, the
environment variables server.json lists, the package name - and a copy
written by hand is a copy that drifts.
- smithery.yaml is GENERATED: scripts/check-server-json.mjs --sync renders
the stdio start command (npx -y -p @abap2ui5/mcp-server abap2ui5-mcp) and
a configSchema with one optional property per listed variable, same name,
same description, enum from choices, number where the format says so;
commandFunction hands every set property to the process as its env.
The gate fails when the file on disk is not what server.json renders to.
(Parsed with js-yaml and the configSchema compiled with ajv in strict
mode once, by hand: valid YAML, valid JSON Schema, {} accepted, unknown
keys refused.)
- glama.json carries the schema URL and the maintainers' GitHub user names,
which is all Glama documents; the gate refuses any other key.
- package.json's version script git-adds smithery.yaml too, so npm version
carries all three files in one commit.
- test/server-json.test.mjs pins the registry facts (schema URL, name ==
mcpName, both versions == package.json, registry.npmjs.org), that every
listed variable is read by server.mjs/lib and every A2UI5_MCP_* read is
listed, that smithery.yaml equals the render and its commandFunction
returns the README's command, and that each drift the gate exists for is
reported.
server.json itself was validated against the registry's 2025-12-11
server.schema.json (ajv, draft-07, formats): valid. Nothing is published;
npm test 557 pass.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011N8v1iay9ZgmK3Bzj8iqK5
- RELEASING.md gains "Listing a release in the registries": the version rule (server.json's two version fields == package.json's, or the registry refuses the listing after npm holds the version), the by-hand sequence for the official MCP Registry (install mcp-publisher, npm run check:server-json, mcp-publisher validate, login github, publish, the search URL to confirm) as the current registry docs give it, and the one-time manual steps on smithery.ai (add the server from the repository) and glama.ai (Claim ownership as a user glama.json names). The release workflow already refuses a tag whose server.json and package.json versions differ, in both jobs; nothing was added to CI. - README names the three catalogues under the install buttons. - AGENTS.md: the maintenance trap - smithery.yaml is generated, edit server.json and run --sync; glama.json is two documented keys. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011N8v1iay9ZgmK3Bzj8iqK5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
smithery.yaml: generated fromserver.jsonbyscripts/check-server-json.mjs --sync. It describes a stdio server started withnpx -y -p @abap2ui5/mcp-server abap2ui5-mcp, with one optional config property per documented env var.glama.json: the schema URL plus the maintainers.check:server-json: now also fails whensmithery.yamldiffers from its rendering or whenglama.jsondeviates. New tests are intest/server-json.test.mjs.mcp-publisherby hand, and the one-time Smithery and Glama steps. The automated path throughrelease.ymlalready existed.Nothing is published by this PR.
Verified
npm run check:server-jsonnpm testserver.jsonagainst the registry schema 2025-12-11 (ajv)Not verified:
mcp-publisher validate, smithery.ai and glama.ai could not be reached from here.🤖 Generated with Claude Code
https://claude.ai/code/session_011N8v1iay9ZgmK3Bzj8iqK5
Generated by Claude Code