๐ It has been an incredible year for ContextVM. 2025 marked the birth of this project, initially known as DVMCP, which we launched shortly after the MCP protocol was introduced.
This year has been a whirlwind of experimentation, creation, innovation, new possibilities, and loads of fun. Developers are discovering a transformative way to work with ContextVM, thanks to its unique features, ease of use, expressiveness, flexibility, standardization, and seamless integration with new paradigms like AI, all while remaining fully permissionless and open source ๐
Product managers and those looking to integrate their services on Nostr to leverage its benefits are finding that ContextVM offers a powerful way to architect their products and solutions. By using relays as message buses, you can decouple the business logic of your application from Nostr specific conventions while still benefiting from Nostr's security and censorship resistance.
You can seamlessly integrate ContextVM with your existing stack without needing to rewrite everything to make it work over Nostr. This opens up possibilities for unified APIs, geographically distributed, composable, unstoppable apps, and more, the possibilities are endless and yet to be discovered.
2026 promises to be another amazing year. ContextVM is a community driven, fully open-source project that anyone can use, contribute to, or fork. Our vision is one where this technology liberates individuals, communities, businesses, and other entities from the control of gatekeepers and power structures. The future we envision is permissionless and full of collaboration between free individuals, positive-sum games, where the right to speak, associate, and the right to compute are equally important and transcendental.
We have a lot of work ahead, and that makes us really happy ๐ฆพ Powerful features and specifications are already in development, promising even more possibilities, integrations, and capabilities. We hope that 2026 will see more people adopting Nostr, Bitcoin, CVM, and other freedom technologies, bringing and solving problems through this lens.
Without further ado, thank you to everyone who showed interest, contributed, integrated, and benefited from this project. We wish you all a great start to the new year ๐
Let's continue building!
ContextVM
_@contextvm.org
npub1dvmc...3jdm
ContextVM is a decentralized protocol that enables Model Context Protocol (MCP) servers and clients to communicate over the Nostr network. It uses Nostr as a secure, distributed transport layerโleveraging cryptographic keys for identity, decentralized discovery, and Bitcoin-powered micropayments.
Rather than relying on centralized infrastructure like domains, OAuth, or cloud hosting, ContextVM allows anyone to run or access services using only Nostr and a internet-connected device. It transforms any computational service into a discoverable, accessible, and monetizable resourceโwhile preserving privacy, security, and user sovereignty.
Just released! ๐
Docker deployment of Wotrlay is now available. You can run this WoT relay using a single command 'docker run ghcr.io/contextvm/wotrlay:latest'
You can also find more options and configurations in the docker documentation
.
We have just deployed using this at wss://wotr.relatr.xyz ๐ฅ
#wot #wotrlay
GitHub
wotrlay/DOCKER.md at master ยท ContextVM/wotrlay
Contribute to ContextVM/wotrlay development by creating an account on GitHub.
After running a public instance of Wotrlay for a couple of days already (wss://wotr.relatr.xyz), we discovered a fascinating synergy between Wotrlay and Relatr ๐
They complement each other perfectly. As more people use or include this relay in their lists, their interactions on Nostr organically prompt Relatr to validate profiles that might not already be in its database. This process helps Relatr validate and rank these new profiles, increasing the number of relations in its view of the network. Consequently, the more people who use our Wotrlay instance (or their own), the fewer blind spots a Relatr instance will have, creating a perfect tandem of openness and organic discovery. This synergy was not something we anticipated when we first conceived Wotrlay, but it works beautifully ๐
If you'd like to help us test this further, please add wss://wotr.relatr.xyz to your relay list. Soon, we will provide more options and documentation to make deploying Wotrlay easier, so running your own instance should be fairly straightforward. Relatr is already deployable in one click in umbrel through @hzrd149 's community store and also is available as docker image
What if relay moderation looks like a bucket?๐ชฃ
We are exploring exactly that with Wotrlay, a new WoT relay we are introducing today! It treats moderation as resource allocation, where the web of trust determines your publishing capacity.
Wotrlay gives each public key a 'bucket' of publishing capacity that refills at different rates based on their social graph rank. Low-rank identities can still participate, but at a measured pace. Higher-rank identities gain more capacity organically through network participation, no manual approval needed.
Try the public instance at wss://wotr.relatr.xyz
This proof-of-concept integrates Relatr for dynamic ranking and is built in Go using the great Rely framework from @Pip the WoT guy. Kudos to him for it and the WoT example that inspired this project.
If you want to dig deeper, we've published an article that walks through the bucket model, progressive rate limiting, newcomer onboarding, and why this approach avoids auth friction while keeping the relay permissionless in practice.
All the code for this project, is open source and is made to be run by anyone ๐
https://www.contextvm.org/blog/wotrlay-moderation-as-a-bucket
check out the code and more details at:
View article โ
GitHub
GitHub - ContextVM/wotrlay
Contribute to ContextVM/wotrlay development by creating an account on GitHub.
Happy Christmas! Thank you to everyone for accompanying us this year ๐
We have a little, yet special gift for you. We revamped our website. It was functional, but lacked content and a better design. Now you can find much more information, contact details, and all the links to navigate the ContextVM ecosystem, learn more, build, or participate. We take advantage of this opportunity to also make a slight modification to our logo. We hope you like all of this. We want to make ContextVM a great ecosystem of freedom tech where everyone feels welcome and supported, and part of it is to make it beautiful. Committed to open source. Let's keep building! ๐ซก
Visit: https://www.contextvm.org/
If you have any feedback, we would love to hear it!


๐ CVM SDK v0.1.47 has landed! ๐
This release packs a punch with improved reconnection handling. Previously, if a relay used by a client and a server experienced a prolonged outage (minutes or hours), the apple-sauce relay handler would fail to publish new messages after the relay came back online. With this update, clients and servers automatically handle this, resubscribe and resume event sending as soon as the relay is back online. Server operators, don't miss out, update to the latest SDK version for a smoother, more reliable experience.
Performing some maintenance on our public relatr instance, sorry for the inconvenience.
@Pete Winn ๐ is Super Based ๐ฉ
BIG PLANS!
View quoted note โ
๐The awesome CVM repo is growing! Three new servers have been added in the past few days. They are:
- Nanalytics (https://github.com/humansinstitute/nanalytics): Website analytics like your Nanna used to bake. Over Nostr, privacy-preserving, simple analytics, easy to host.
- Earthly Geo Server (https://github.com/zeSchlausKwab/earthly/tree/master/contextvm): A server focused on geocoding and reverse geocoding via OpenStreetMap Nominatim. Features search_location for forward geocoding and reverse_lookup for coordinate-based place metadata.
- Wavefunc Music Metadata Server (https://github.com/zeSchlausKwab/wavefunc/tree/main/contextvm): A server for radio stream metadata extraction and MusicBrainz lookups. Features extract_stream_metadata for Icecast/Shoutcast streams and musicbrainz_search for detailed track information.
The Geo Server and the Music Metadata Server are also public and are already integrated into earthly.city and wavefunc.live. They are accessible and can be used through the Contextvm website as well.
๐ContextVM SDK version 0.1.41 is now available with significant improvements to transport integration, relay handling, and async architecture.
Key new features include optional client public key injection in MCP requests, enabling better server integration and authentication capabilities. This feature, documented in CEP-16, allows server transports to inject client public keys into request metadata when configured with `injectClientPubkey: true`. Learn more at
The release also brings robust relay reconnection for Nostr server transport, fixing relay restart issues in ApplesauceRelayPool with comprehensive reconnection tests. This ensures more robust operations in long lived servers.
Performance improvements come from async architecture enhancements including a TaskQueue utility for non-blocking event processing, parallel transport startup operations, LRU caching for session management, optimized authorization lookups, and improved notification broadcasting with backpressure handling.
These changes deliver better integration between transports and underlying servers, more reliable relay handling, and enhanced performance through optimized async operations.
ContextVM Documentation
CEP-16 Client Public Key Injection
Optional injection of client public key in request metadata for enhanced server integration
๐ Exciting news! We're working on a new CEP for ContextVM: Common Tool Schemas! ๐
Imagine a marketplace where users can choose the best server for their specific needs, without being locked into a single provider. That's the vision behind our new CEP!
With Common Tool Schemas, we're enabling interoperability between clients, allowing users to discover equivalent services, switch providers seamlessly, and compare offerings based on quality, cost, or trust. This is the original idea behind DVMs, where users announce a desired output and service providers compete to fulfill the job requirement in the best way possible.
๐ง Key features:
- Reference server pattern for canonical tool schemas
- RFC 8785 JCS for deterministic hashing
- CEP-6 announcements for discovery
We'd love to hear your thoughts and opinions on this proposal! Share your feedback and help us shape the future of ContextVM. You can just share your thoughts in the comments of this note, or in the issue
#ContextVM #CEP
GitHub
[CEP-15] Common Tool Schemas ยท Issue #15 ยท ContextVM/contextvm-docs
Preamble Title: Common Tool Schemas Authors: ContextVM-org Status: Draft Abstract This CEP establishes a standard for defining and discovering comm...
Today, we are releasing Relatr v0.1, featuring significant architectural improvements powered by the new Nostr Social Duck library. This update addresses critical scaling challenges and makes running your own trust engine more accessible than ever. We have written an article that delves into the details of this new release and provides other useful resources. We hope you enjoy it as much as we do ๐
View article โ
This is another awesome example of the possibilities that bring contextvm. Easily deployable analytics for your page, with no more dependencies on evil corporations that harvest your data. Reclaim your sovereignty, and have fun along the way, it has never been this easy
View quoted note โ
Half of the internet is down today, but Nostr is unaffected. None of the ContextVM ecosystem is down either. Some clients and relays might be down if they are behind Cloudflare, but the protocol itself is not affected. A protocol cannot be taken down; it will find a way. If a client is down, you can switch to another client or, even better, run one locally. Jumble and Nostrudel are already good options for this. If a relay is down, you can go to nostr.watch, pick a new one, and use it to communicate. Even better, you can run your own relay. It can be as easy as running Citrine on your phone and exposing the relay through Tor. No domain is needed; just a couple of apps on your phone and voilร , you can still communicate with your peers. Be your own infra provider. This is why ContextVM.
View quoted note โ
This is quite cool! Why limit yourself to a single WoT provider when you can use multiple and present the results? The more perspectives, the better. After testing Profilestr, we noticed that Profilestr, Vertex, and Relatr tend to output very similar scores, with only slight variations. This indicates that they are quite solid, even with different approaches to compute the trust scores. Relatr and Vertex can be used without leaving the nostr. Relatr uses CVM, Vertex uses a DVM-like API, Profilestr offers a REST API endpoint, so there's no excuse not to integrate some of these options into your client. Fight spam, protect your users from impersonators, and increase the value.
View quoted note โ
Thanks to @hzrd149 for contributing Umbrel support for Relatr. Now everyone can deploy their own instance from home without hassle. You just need to add the hzrd's community store by following the instructions here
, install Relatr, and you'll be up and running. We are so excited to keep working and improving this to truly democratize WoT and foster a healthier ecosystem ๐
View quoted note โ
GitHub
GitHub - hzrd149/umbrel-community-app-store: My Umbrel Community App Store for noStrudel
My Umbrel Community App Store for noStrudel. Contribute to hzrd149/umbrel-community-app-store development by creating an account on GitHub.
YES #YESTRView quoted note โ
Do you know about Wavefunc? It's a neat Nostr project that lets you listen to, discover, and share radio stations, and so much more. With ContextVM, Wavefunc can search for music metadata and show you what's currently playing in the radio stations. Plus, you can use their music metadata server on its own. Swing by to see what it's all about. If you want to dive straight into the music metadata server, head over to https://contextvm.org/s/bb0707242a17a4be881919b3dcfea63f42aacedc3ff898a66be30af195ff32b2.
Wavefunc
During the process, we removed the persistent database where we were storing some CVM announcements. If you are running a CVM server, please rebroadcast or republish your announcements to our relay. This can be done by simply restarting the server.View quoted note โ