
bakery
About
A headless nostr client
Author
npub1m0mrpunver4jtljsht2t8cml9un0vnmu9j0vzl5zqgfhyawea66stzspvh
mcpfollow_userunfollow_usersign_draft_eventpublish_eventsearch_eventsget_eventsearch_user_pubkeytotal_eventstotal_usersset_owner_nostr_connect_uri
Capabilities
mcp-1.0
Event ID: 8acdc4d4711a87faba9ab9e1978af1fb6f619f434f5ee20d9edcc07d233b25e2

bakery
Installation Options
You can install and run this DVM locally using the @dvmcp/discovery package. Choose one of the following methods:
Option 1: Using Server Flag
Run with the server's naddr:
Command
npx @dvmcp/discovery --server naddr1qvzqqqru7cpzpklkxrexej8tyhl9pwk5k03h7tex7e8hcty7c9lgyqsnwf6anm44qyt8wumn8ghj7un9d3shjtnywekkxupwve6kutcqzaj8vmfdv9hxumm4de3k2mt9de6z6snpddjhy7gry0ft7
JSON Configuration
"mcpServers": { "bakery": { "command": "npx", "args": [ "@dvmcp/discovery", "-y", "--server", "naddr1qvzqqqru7cpzpklkxrexej8tyhl9pwk5k03h7tex7e8hcty7c9lgyqsnwf6anm44qyt8wumn8ghj7un9d3shjtnywekkxupwve6kutcqzaj8vmfdv9hxumm4de3k2mt9de6z6snpddjhy7gry0ft7" ] } }
This command uses the naddr which encodes the event kind, public key, and the 'd' tag of the event. It will get the tools just from this server.
Option 2: Using Provider Flag
Run with the provider's nprofile:
Command
npx @dvmcp/discovery --provider nprofile1qyt8wumn8ghj7un9d3shjtnywekkxupwve6kutcqyrdlvv8jdnywkf072zadfvlr0uhjdaj00skfast7sgppxun4m8ht26yymnj
JSON Configuration
"mcpServers": { "bakery": { "command": "npx", "args": [ "@dvmcp/discovery", "-y", "--provider", "nprofile1qyt8wumn8ghj7un9d3shjtnywekkxupwve6kutcqyrdlvv8jdnywkf072zadfvlr0uhjdaj00skfast7sgppxun4m8ht26yymnj" ] } }
This command uses the nprofile which encodes the public key and relay hints. It will get all tools from this provider.
What Happens Next?
After running one of the commands above:
- The discovery package will fetch the DVM configuration from the Nostr network
- It will start a local server running this DVM
- You can then interact with the DVM through your local instance
Try it out
Form Values
{"name":"follow_user","parameters":{}}
Form Values
{"name":"unfollow_user","parameters":{}}
Form Values
{"name":"sign_draft_event","parameters":{"draft":{"tags":[]}}}
Form Values
{"name":"publish_event","parameters":{"event":{"tags":[]}}}
Form Values
{"name":"search_events","parameters":{"kind":1,"limit":50}}
Form Values
{"name":"get_event","parameters":{}}
Form Values
{"name":"search_user_pubkey","parameters":{"limit":10}}
Form Values
{"name":"total_events","parameters":{}}
Form Values
{"name":"total_users","parameters":{}}
Form Values
{"name":"set_owner_nostr_connect_uri","parameters":{}}
{ "created_at": 1743108877, "content": "{\"name\":\"bakery\",\"about\":\"A headless nostr client\",\"picture\":\"https://image.nostr.build/5bf2e2eb3b858bf72c23e53ed1f41ed0f65b2c8a805eaa48dd506b7cfec4ab88.png\",\"website\":\"https://github.com/hzrd149/bakery\",\"tools\":[{\"name\":\"follow_user\",\"description\":\"Adds another users pubkey to the owners following list\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"pubkey\":{\"type\":\"string\"}},\"required\":[\"pubkey\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"unfollow_user\",\"description\":\"Removes another users pubkey from the owners following list\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"pubkey\":{\"type\":\"string\"}},\"required\":[\"pubkey\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"sign_draft_event\",\"description\":\"Signs a draft note event with the owners pubkey\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"draft\":{\"type\":\"object\",\"properties\":{\"content\":{\"type\":\"string\"},\"created_at\":{\"type\":\"number\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"kind\":{\"type\":\"number\"}},\"required\":[\"content\",\"created_at\",\"tags\",\"kind\"],\"additionalProperties\":false}},\"required\":[\"draft\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"publish_event\",\"description\":\"Publishes an event to the owners outbox relays\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"event\":{\"type\":\"object\",\"properties\":{\"created_at\":{\"type\":\"number\"},\"content\":{\"type\":\"string\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"kind\":{\"type\":\"number\"},\"sig\":{\"type\":\"string\"},\"pubkey\":{\"type\":\"string\",\"minLength\":64,\"maxLength\":64}},\"required\":[\"created_at\",\"content\",\"tags\",\"kind\",\"sig\",\"pubkey\"],\"additionalProperties\":false}},\"required\":[\"event\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"search_events\",\"description\":\"Search for events of a certain kind that contain the query\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\"},\"kind\":{\"type\":\"number\",\"default\":1},\"limit\":{\"type\":\"number\",\"default\":50}},\"required\":[\"query\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"get_event\",\"description\":\"Get an event by id\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":64,\"maxLength\":64}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"search_user_pubkey\",\"description\":\"Returns a list of users pubkeys that match the query\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\"},\"limit\":{\"type\":\"number\",\"default\":10}},\"required\":[\"query\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"total_events\",\"description\":\"Get the total number of events in the database\",\"inputSchema\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"total_users\",\"description\":\"Get the total number of users in the database\",\"inputSchema\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}},{\"name\":\"set_owner_nostr_connect_uri\",\"description\":\"Sets the nostr connect URI that should be used to request signatures from the owners pubkey\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"uri\":{\"type\":\"string\",\"pattern\":\"^bunker\\\\:\\\\/\\\\/\"}},\"required\":[\"uri\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"}}]}", "tags": [ [ "d", "dvm-announcement-Bakery" ], [ "k", "5910" ], [ "capabilities", "mcp-1.0" ], [ "t", "mcp" ], [ "t", "follow_user" ], [ "t", "unfollow_user" ], [ "t", "sign_draft_event" ], [ "t", "publish_event" ], [ "t", "search_events" ], [ "t", "get_event" ], [ "t", "search_user_pubkey" ], [ "t", "total_events" ], [ "t", "total_users" ], [ "t", "set_owner_nostr_connect_uri" ] ], "kind": 31990, "pubkey": "dbf630f26cc8eb25fe50bad4b3e37f2f26f64f7c2c9ec17e8202137275d9eeb5", "id": "8acdc4d4711a87faba9ab9e1978af1fb6f619f434f5ee20d9edcc07d233b25e2", "sig": "ad944061dd3344f6b5a90643166fb00ce1246c148f7058d7e018767de9465a640731bcc762f0f3963c49ccb9d63c2fcc32f8b620f99836003c0fae1fd6354864" }