Skip to main content
Glama
@ola/buzz-mcp

@ola/buzz-mcp

Official
by ola-krutrim

buzz_status_set

Idempotent

Set a live user status with optional emoji in agent mode; use dry-run preview to inspect the exact event before signing.

Instructions

Set your live user status (NIP-38 kind 30315, d=general). text = the status message (empty allowed), optional emoji. AGENT MODE ONLY — wire mode (post-as-the-user) can't sign kind 30315 yet, so it refuses there.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "buzz_status_set"
  }
}

Input Schema

NameRequiredDescriptionDefault
textNothe status text (empty allowed)
emojiNooptional status emoji
dry_runNopreview only: resolve everything and show the exact event that would be signed (auth tags redacted) — nothing is signed, uploaded or sent

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.2.36
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "description": "preview only: resolve everything and show the exact event that would be signed (auth tags redacted) — nothing is signed, uploaded or sent",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / emoji / maxLength
      Added value: +64
    • addedInput schema / properties / text / maxLength
      Added value: +65536
  2. Addedv0.2.7

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds genuinely useful context beyond them: the underlying event kind, the agent-mode signing requirement, and the refusal behavior in wire mode. However it never says whether setting a status replaces a previous one or how the signed event is published, which matters for a mutating write.

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?

Three tight, front-loaded clauses with no filler; the mode restriction is prominent. Minor waste: the `text` gloss repeats the schema description verbatim rather than adding anything.

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?

A simple three-parameter write with no output schema needs little more: purpose, scope, mode constraint, and the empty-text allowance are all covered. The one gap is post-condition behavior (replacing an existing status, and what a successful call returns).

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all three parameters including dry_run. The description restates text (empty allowed) and emoji without adding format, length, or validation meaning, and says nothing about dry_run — the baseline 3 applies when the schema does the heavy lifting.

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 ('Set your live user status') and pins down the exact scope (NIP-38 kind 30315, d=general), so an agent knows this is the general-scope status write rather than any other profile write among the many buzz_* siblings.

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?

Explicitly scopes applicability: 'AGENT MODE ONLY' with the reason (wire mode can't sign kind 30315 and 'refuses there'), which is effectively a when-not condition. It doesn't explicitly point to buzz_status_clear for removal or distinguish from buzz_profile_set, so not a full 5.

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