Nostr Tools for AI Agents
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOSTR_BUNKER_URI | No | NIP-46 bunker URI for remote signing. Format: bunker://<bunker-hex-pubkey>?relay=wss://relay.com&secret=optional. If set, all signing routes through your bunker; if not set, the server operates in direct key mode where private keys must be passed per-tool call. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| createNoteC | Create an unsigned kind 1 text note |
| signNoteC | Sign a note event |
| postNoteB | Create, sign, and publish a text note (all-in-one) |
| publishNoteC | Publish a signed note to relays |
| createNostrEventB | Create an unsigned Nostr event of any kind |
| signNostrEventC | Sign any unsigned Nostr event |
| publishNostrEventB | Publish a signed event to relays |
| createProfileC | Create a new Nostr profile (kind 0) |
| updateProfileA | Update an existing Nostr profile (merges with current) |
| followA | Follow a pubkey (updates kind 3 contact list) |
| unfollowB | Unfollow a pubkey |
| reactToEventC | React to an event (kind 7) |
| repostEventC | Repost an event (kind 6) |
| deleteEventB | Delete events (kind 5) |
| replyToEventC | Reply to an event with NIP-10 threading |
| encryptNip04C | Encrypt text with NIP-04 (legacy) |
| decryptNip04B | Decrypt NIP-04 ciphertext |
| sendDmNip04C | Send a NIP-04 direct message |
| encryptNip44B | Encrypt text with NIP-44 |
| decryptNip44B | Decrypt NIP-44 ciphertext |
| sendDmNip44C | Send a NIP-44 direct message |
| setRelayListC | Publish a relay list (NIP-65 kind 10002) |
| getSignerInfoA | Returns current signing configuration and pubkey |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Many tools overlap conceptually: e.g., 'createNostrEvent' vs 'createNote', 'postNote' vs 'createNote'+'signNote'+'publishNote', and 'publishNostrEvent' vs 'publishNote'. The distinction between generic and specific tools is unclear, causing potential confusion for agents.
All names use camelCase, but patterns are mixed: some are verb+object ('createNote'), others verb+protocol ('decryptNip04'), and some use prepositions ('reactToEvent', 'replyToEvent'). While readable, the inconsistency in verb choice and structure reduces predictability.
With 23 tools, the server covers many Nostr operations. While slightly high, most tools have distinct roles in sending, receiving, and managing events. A few could be merged (like generic vs specific event creation), but overall the count is reasonable for a comprehensive Nostr toolset.
The server focuses exclusively on writing and event creation operations (create, sign, publish, encrypt). There are no tools for reading or querying events (e.g., subscribe, fetch filters), which is a major gap for an agent to usefully interact with Nostr. The set is severely one-sided.