- on notebin.io you can only sign in with nostr
- the snippets are only saved on a nostr relay that i spun up using relaywizard
- the mcp server uses nostr to get your snippets
- it's completely open source if you want to verify any of this:
https://github.com/nodetec/notebin
i guess you could make the argument that the mcp server being made available via http but that's the only remote interface available at the moment
if you'd like to use it locally and just connect to a relay i have a standalone MCP server for that as well:
https://github.com/nodetec/nostr-code-snippet-mcp
this is pretty much as nostr as it gets
notebin.io now has a remote mcp server at https://notebin.io/mcp that you can use with your Coding agent to fetch your NIP-C0 code snippets.
Example MCP config:
"mcp": {
"servers": {
"notebin.io": {
"url": "https://notebin.io/mcp"
}
}
}
The minimum you need to provide is your npub, but you can also provide a limit, a programming language and tags
Make sure to create a few code snippets first at https://notebin.io
#grownostr
notebin.io (a site and relay for code snippets) supports profile pages for users now, you can also update your profile information by clicking on the user dropdown and selecting "account"
https://notebin.io/user/npub1ygzj9skr9val9yqxkf67yf9jshtyhvvl0x76jp5er09nsc0p3j6qr260k2
profiles are also now batched and shown on the archive page so you can see the name and image for the user who created the NIP-C0 code snippet.
https://notebin.io/user/npub1ygzj9skr9val9yqxkf67yf9jshtyhvvl0x76jp5er09nsc0p3j6qr260k2
link to profile page, idk why primal ate this earlier and just linked my npub
notebin.io (a site and relay for code snippets) supports profile pages for users now, you can also update your profile information by clicking on the user dropdown and selecting "account"
https://notebin.io/user/npub1ygzj9skr9val9yqxkf67yf9jshtyhvvl0x76jp5er09nsc0p3j6qr260k2
profiles are also now batched and shown on the archive page so you can see the name and image for the user who created the NIP-C0 code snippet.
Here are a couple reasons off the top of my head:
- moderation
i don't want to moderate kind 1's, but i want it to be public
- resources
i can run this relay on a very cheap server since it won't have to scale past the niche use case of code snippets (which could actually get pretty difficult if MCP servers start using this relay for agents, but at least i will only need to deal with increasing resources in that case)
Running a new relay for just kind 1337 code snippets at relay.notebin.io.
#grownostr
We're planning to change the recommended hosting provider on relayrunner.org soon, currently planning to use https://1984.hosting . Any other suggestions?
You probably shouldn’t be running a public relay if you don’t have the time to moderate it.
it should already publish to all of your NIP-65 write relays, assuming it can find your 10002. I'm not sure about drafts yet.
How do you think relays should be handled on https://notebin.io?
yes, the hardest part was finding a good rich text editor to integrate well with react native but with dom components this editor should translate pretty nicely to mobile. i'll work on a mobile client once cross platform encrypted sync is implemented on the desktop.
Multi columns are a UI choice as per the sage nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn. Desktop real estate is needed to fully make use.
The exciting part of nostr is that each column can be an interoperable ‘feed’ that can be swapped in either single or multi column apps.
ok i'm just realizing now that this is based on tweetdeck/xpro which i've never seen until now. Maybe i should take notestack in this direction 🤔
Are clients with multiple column feeds the future?
yea it's a desktop note taking app you can use to publish long form content. I'm planning to add regular notes and code snippets soon. It's still in alpha so if you test it out make sure to back up the notes somewhere else until 1.0.
you can download it at https://comet.md
You can now sort by last edited, created at and title in Comet.
Title is particularly useful if you're writing a book or course where you can number the titles.
Each notebook should have it's own sort state.
I refactored the code snippet MCP code to use typescript and be simpler to understand, if you're just learning how to integrate nostr with MCP I recommend checking out the tools directory:
https://github.com/nodetec/nostr-code-snippet-mcp/tree/master/src/tools
NIP-C0 supported landed in rust-nostr: https://github.com/rust-nostr/nostr/pull/830
#grownostr
In this demo we ask Claude to post a simple python code snippet. The MCP server reaches out via unix domain socket to have the event signed so Claude nor the MCP server needs to know the private key. This will allow you to have Claude post code snippets that you like on your behalf without needed to expose your private key/nsec.
@grownostr
Yea I don't artifacts support this atm. Seems like doing something like this could be risky tho.
https://support.anthropic.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them
I don’t think you can give an agent some JS code for instance and have it execute it in node. At least afaik. Maybe just write a good tool for an MCP server with all the params it might need for the complex query?
beginning work on one for code snippets: https://github.com/nodetec/nostr-code-snippet-mcp
How does Primal show reply count, zap sums, like counts and repost counts so fast?
I would recommend building something simple with nostr-tools to get started then (my first project was notebin.io). Maybe checkout ndk later. You might also consider spinning up your own relay for testing or personal notes so that you can see how it all works together, for that I'd recommend relayrunner.org. And for cli and local relay purposes I'd recommend nak.
https://github.com/nbd-wtf/nostr-tools
https://github.com/nostr-dev-kit/ndk
https://github.com/fiatjaf/nak
I would say the things that I have found the hardest to get right on nostr are:
- caching
- batching
- relay UI/UX
- pagination
- counting
I can go into more detail if you wanna drill down on anything in particular.