ContextVM's avatar
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.
ContextVM's avatar
ContextVM 2 days ago
We're cooking up some very cool new features for Relatr and decided it's better to channel all communication and news through its pubkey (the same one used to address the server). One key, countless possibilities. Stay tuned, amazing news incoming 🍳 View quoted note β†’
ContextVM's avatar
ContextVM 2 days ago
πŸš€ We're excited to announce the 0.2.x release series of the ContextVM SDK, a significant milestone focused on reliability, code quality, and architectural maturity. This release transforms ContextVM from a functional prototype into a hardened foundation ready for long-running servers. As well this release maintains backward compatibility while setting the stage for future enhancements. - What This Release Means for You and Key Improvements If you're running ContextVM servers that need to stay always up handling continuous client connections, this release is essential. We've eliminated critical failure modes, plugged memory leaks, and restructured the codebase to support future growth without accumulating technical debt. πŸ›‘ Half-Open Connection Hardening (Applesauce Relay Handler) One of the most significant reliability improvement addresses how we handle half-open connections, those frustrating scenarios where a relay appears connected but silently stops responding. What we fixed: - Implemented proactive liveness checks that detect unresponsive relays before they impact clients - Added automatic relay pool rebuilding with subscription replay, so clients don't even notice when a relay hiccups - Enhanced error handling ensures cleanup happens correctly even when relays misbehave Why it matters: Previously, a relay could appear healthy while silently dropping messages, leading to client timeouts. Now, ContextVM detects these conditions and automatically recovers. 🧹 Memory Leak Elimination Through careful analysis, we identified and eliminated several memory leaks that could affect long-running servers, the result: Servers can now run indefinitely without requiring restarts to reclaim memory. πŸ— Transport Modularization We've completely restructured the Nostr transport layer from a monolithic design into focused, composable modules Why this matters: This modularization achieves several goals simultaneously: - Code clarity: Each module has a single, well-defined responsibility - Testability: Modules can be tested in isolation with clear boundaries - Extensibility: New features can be added without touching unrelated code - Performance: O(N) operations reduced to O(1) where it counts This architecture will let us add the new features that are coming without cluttering the core logic. πŸ“¦ Simple Pool Deprecation Notice We're officially deprecating the `SimpleRelayPool` implementation. The `ApplesauceRelayPool` is now our recommended and fully-supported relay pool. If you're still using `SimpleRelayPool`, we recommend migrating to `ApplesauceRelayPool` for production deployments. πŸ”§ Additional Reliability Improvements - Graceful shutdown: Task queue now waits for running tasks to complete with configurable timeout - Timeout handling: Added timeout wrappers to prevent hanging network operations - Error handling: Enhanced error context logging with stack traces and relevant identifiers - Session eviction protection: Prevent edge cases under heavy load removing sessions with active routes, eliminating data loss during in-flight requests - Dependency updates: Updated to latest stable versions of key dependencies πŸ§‘β€πŸ’» For Developers This release maintains backward compatibility while setting the stage for future enhancements. The modular architecture means you can expect: - Easier debugging: Clear separation makes issues easier to isolate - Faster iteration: New features can be developed without touching existing code - Better testing: Comprehensive test coverage for each module - Stable APIs: Internal refactoring won't break your integrations πŸ”­ Looking Ahead The 0.2.x series establishes the foundation for upcoming features that are already in our pipeline: - [CEP-15] Common Tool Schemas - [CEP-8] Capability Pricing And Payment Flow - CEP-XX Server reviews - CEP-XX Server profile metadata and socials - CEP-XX Ephemeral gift wraps With this hardened foundation, we can add these capabilities without coupling or cluttering the codebase. - Upgrade Recommendation All production deployments should upgrade to 0.2.x. The reliability improvements, especially around relay handling and memory management, are critical for long-running servers. The modular architecture also makes future upgrades smoother. As always, we welcome your feedback and contributions. The ContextVM project thrives on community input, and this release reflects many lessons learned from real-world usage. Happy building! πŸš€
ContextVM's avatar
ContextVM 1 week ago
We think we found a good candidate for our Relatr plugin validation system πŸ‘€ It would probably allow us to create a very portable, shareable, and customizable plugin design, so people can create them and share them, just plug them into their Relatr instances, and customize their algorithms as they prefer. More to come in the next releases, stay tuned πŸš€
ContextVM's avatar
ContextVM 1 week ago
With this release, Relatr can now function as a TA provider, publishing ranks directly to relays. If you enable a Relatr server to be in your trusted list of providers, it will display ranks in compatible clients like Amethyst. To do this, simply go to https://relatr.xyz/ta and add a server to your list. Once added, you can enable the server to keep your rank up to date. The process is quite simple and straightforward. I would love to receive any feedback you might have πŸ‘ View quoted note β†’
ContextVM's avatar
ContextVM 1 week ago
πŸš€ wotrlay v0.2.x is here As wotrlay matures, we've identified and addressed edge cases where transient issues could temporarily affect user buckets. Timeouts, rate limits, and network conditions sometimes caused the relay to handle cache refreshes less gracefully than intended, which could result in users being downgraded when they shouldn't have been. v0.2.x resolves this. The relay now preserves cached rank data when encountering these edge cases, ensuring users can continue publishing without issues. We've also replaced IP-based rate limiting for rank lookups with an approach that no longer penalizes users behind VPNs, and improved response handling to be more robust under real-world conditions. We've also added a special condition for event kinds 0, 3, 10002, 10040, and 30382, which are now always accepted and are not affected by the rate limiting of the bucket algorithm. For operators: just upgrade. For users: your posting ability now stays consistent regardless of previously unhandled edge cases. Docker builds are leaner and faster too. Building reliable WoT infrastructure means continuously observing, fixing, and improving. v0.2.x represents that ongoing commitment πŸ«‚ #nostr #wotrlay #wot
ContextVM's avatar
ContextVM 2 weeks ago
Last week, when we introduced Wotrlay, we mentioned in our blog post that we were writing an article about how to call a CVM server 'The Nostr Way.' This new article is now available. In it, we explore the current landscape of 'RPC-nostr' with a technical approach, comparing DVMs and CVMs, and demonstrating how to call CVM servers without SDKs or other dependencies, just events, relays, and signatures. We hope you enjoy reading it and that it encourages you to build on top of ContextVM. If you have any doubts or need clarification, please let us know in the comments View article β†’
ContextVM's avatar
ContextVM 3 weeks ago
πŸŽ‡ 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's avatar
ContextVM 3 weeks ago
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
ContextVM's avatar
ContextVM 3 weeks ago
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 β†’
ContextVM's avatar
ContextVM 0 months ago
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! image
ContextVM's avatar
ContextVM 1 month ago
πŸš€ 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.
ContextVM's avatar
ContextVM 1 month ago
Performing some maintenance on our public relatr instance, sorry for the inconvenience.
ContextVM's avatar
ContextVM 1 month ago
πŸŽ‡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's avatar
ContextVM 1 month ago
πŸš€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's avatar
ContextVM 1 month ago
πŸš€ 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
ContextVM's avatar
ContextVM 1 month ago
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 β†’
↑