Skip to main content
Glama

Good Earth

Goodearth Publish Nostr Profile

goodearth_publish_nostr_profile

Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.

The wheel never holds a patron nsec. The frontend signs the kind-0 metadata event with the patron's session key or a NIP-07 extension and passes the signed event (JSON) here; the wheel verifies the signature matches the npub, then relays it to public relays. The signature is the authorization — no proof token, no key custody. Free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
npubNoThe patron's Nostr public key the event must be signed by.
signed_eventNoA JSON-encoded, client-signed kind-0 event.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does well: it discloses that the server never holds the nsec, that the server verifies the signature matches the npub, and that the signature itself is the authorization. It stops short of describing failure modes or relay behavior, but the core behavioral contract is clear.

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?

The description is appropriately sized and front-loaded with the primary purpose. The subsequent sentences explain the security model and verification flow without excessive padding. Slightly more compact formatting could help, but every sentence contributes useful information.

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

Completeness4/5

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

For a tool with only two well-documented parameters and an output schema, the description covers the essential context: the signing requirement, the verification step, and the trust model. It doesn't detail error handling or relay specifics, but those are already less critical given the output schema and strong parameter documentation.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema descriptions: the signed_event must be a client-signed kind-0 event, and the npub must match the event's signature. This clarifies the relationship between the two parameters.

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?

The description states a specific action ('Publish a CLIENT-SIGNED kind-0 profile to relays') and a specific resource ('for an npub'). This clearly distinguishes it from the sibling read tool goodearth_get_nostr_profile and other nostr-related utilities.

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?

The description gives clear context on when to use this tool: when a client-signed kind-0 event needs to be published without the server holding the nsec. It doesn't explicitly name alternatives or exclusions, but the workflow constraints ('The frontend signs... passes the signed event here') make the intended usage unambiguous.

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.