Skip to main content
Glama

Publish a listing to the Rokha Registry

registry_publish

Publish (or update) YOUR listing in the Rokha Registry so anyone — human or agent — can find and use it. Requires a logged-in identity (Authorization: Bearer ); the listing is owned by the verified caller and the display author is derived server-side (your claimed page's display name, else your verified identity) — a caller-supplied author is ignored except for superadmins. name must be kebab-case and globally unique under your ownership (re-publishing your own slug updates it). listing_type: 'skill' (a SKILL.md in metadata.skill_md), 'harness' (a harness config in metadata.harness), or 'rig' (a rig skeleton in metadata.rig). 'server' is accepted as a legacy alias for a harness publish. Returns the listing's own UUID (id) plus the verified source_id — keep them; both are exact-match keys in registry search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYeskebab-case slug, ≤64 chars
tagsNo
titleNodisplay name (defaults to the slug)
versionNo
homepageNo
metadataNothe artifact: skill_md / harness / rig (≤200KB)
source_idNoUUID of the rig/harness/skill this listing is published FROM. Pass it whenever you have it: the server verifies you own that record, stamps it on the listing, and the id then resolves to this listing in registry search — an exact lookup that never depends on the name. Omitted, the server derives it from the slug when it can.
descriptionYeswhat it does (≤4000 chars) — this is the discovery text
listing_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false, so the description carries the behavioral burden and exceeds it. It discloses Bearer-JWT auth requirements, server-side author derivation that ignores caller-supplied author (except superadmins), global uniqueness constraints, update-on-republish behavior, and the id/source_id return contract — none of which appear in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A dense paragraph where nearly every clause earns its place — auth, ownership, author derivation, uniqueness, type mapping, legacy alias, and return values. The purpose is front-loaded, though the heavy parenthetical threading makes it slightly harder to scan than a structured or line-broken format would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with nested objects and no output schema, the description is unusually complete: it covers authentication, ownership, naming constraints, the listing_type-to-metadata mapping, the legacy alias, and the return contract (id plus source_id as exact-match registry keys). Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 56% schema coverage, the description compensates for the critical parameters: name constraints (kebab-case, globally unique under ownership, republish-to-update), listing_type semantics (what each enum value maps to in metadata), and source_id's rationale as an exact-match lookup key. Minor params (tags, version, homepage) rely on schema-only descriptions, but those are adequately documented there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Publish (or update) YOUR listing in the Rokha Registry so anyone — human or agent — can find and use it.' The explicit update semantics and the enumerated listing_type values (skill/harness/rig with legacy 'server' alias) make it clearly distinguishable from sibling registry tools like registry_search, registry_adopt, and registry_favorite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong field-level guidance: 'Requires a logged-in identity (Authorization: Bearer <JWT>)', instructs to 'Pass source_id whenever you have it', and explains that re-publishing a slug updates in place. However, it never explicitly names sibling alternatives or states when not to use this tool versus registry_search or the harness/rig management tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.