Today I built tools for Jonny, an AI agent, to use any MCP server hosted by anyone over the internet.

It's enabled by nostr:nprofile1qqsypwwgtll74lqu4huvxzjwtjyxvrlkujt35rw8y026ke6ttesmg5gpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7wzpxlr and nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7q6hdgd hosting "DVMCP" servers. What is this?

- MCP servers give AI agents access to tools

- DVM allows those tools to be discovered and queried (and paid for) over Nostr relays.

Why is this interesting? Any AI agent (like mine here pictured) can now use any tool, even if they don't have it installed, so long as anyone exposes it with a NIP-89 note.

What's Jonny doing here? On receiving my prompt he–

- checks if he has a tool already, if not

- queries Nostr for NIP-89 notes to see if any tools are available, and if a relevant one is, then

- posts a kind 5910 note requesting a job

- enters a loop where he waits then queries for a response, until he gets one or timeout

- brings the response back to me //exactly as if he had the tool installed and without me needing to explicitly prompt it.

Just to say that again. Jonny does not have any tool to allow him to find this information. He is finding the required tool and using it on the fly.

Given this stack, any AI agent is going to be able to do everything.

Jonny is built in an n8n workflow using Nostrobots by nostr:nprofile1qqszdwewhmtv25kkwryqfvxk25n8k0rx9vs7qfkkuj9vjwnqwpfsjkqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9nhwden5te0wfjkccte9ekk7um5wgh8qatz9uqjzamnwvaz7tmjv4kxz7fddfczumn0wd68ytnhd9ex2erwv46zu6ns9ueak8fs and is tapping nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7q6hdgd's Nostr DVMCP server (with thanks!) nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0dv4ph5 nostr:nprofile1qqst6jhruelzn9jdf9qhyfsac3fetjyld0fwwary9cmxzfchrhacragpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj76n9d3k8jenfwd5zumrpdejz7pqrjcl

Reply to this note

Please Login to reply.

Discussion

Behind the scenes – You can see the sequence Jonny took, with the calls to the DVMCP servers along the way.

What’s a nip-89 note? How does one publish those? What do they look like?

Here's an example– it's kind 31990 defined by NIP-89 on the Github

Is there any easy way to tap into these notes? Like to tell my agent to “look here first before every query”? Or would you have to specify relays and stuff?

I filter for

{

"kinds":[31990],

"#k":["5910"]

}

For relays I have wss://relay.damus.io, wss://relay.nostr.band, wss://nos.lol, wss://relay.nostrdvm.com – I don't know if it's best, but it worked.

N8n is my new play toy. So good for building all kind of prototypes

💯. So fast to prototype and their AI stuff is really top tier.

Are you listening anon? This is happening, decentralised computation over permissionless protocols LFG 🔥🔥🔥

nostr:nevent1qqsf3edm09yvr9qxnrmup3jvrxwfukd7xp74mfvmwy08028tdkyl8kspzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsphkn7raeed0dz68hejqea4r7jmsmzsyrephumuch4jypchwtufkgrqsqqqqqpl42uar

🔥🔥🔥

Does it scale in case there are thousands of available tools, will it struggle to "find" the relevant one?

Good problem to have 😀

I would start by querying NIP-89 events with some kind of keyword search to reduce the available set.

Longer term I imagine we end up posting kind 5910 requests without tagging any specific server, and the servers themselves have agents that query requests to find customers.

great job rod. how can we use it now?

What Gzuuus and DBTH are doing with DVMCP is ready to go. You can launch an instance any of the 100 or so MCP servers that exist, attach a DVMCP instance, and be serving a tool over Nostr relays, write a 31990, reading 5910 and writing 6910 automatically.

For what I've done adding a DVM workflow to an agent. I've built it as a proof of concept in n8n. I'm not sure what is the next step.

Should I open source the n8n workflows?

Make it available as a service?

What do you think?

https://github.com/punkpeye/awesome-mcp-servers

https://github.com/gzuuus/dvmcp

if you make it open source that would be great. if you run it as a service and accept sats for it, it would be good. i would use it anyway. 👀🪼

also, check your dm one you have time.

Nice work. #agenticnostr is going to grow and grow! We should form a group.

Just casually unleashing bots on the nostr.