CVMI 0.1.9 is out. It includes two minor but necessary features: normalizing quoted command strings so you can pass commands to serve any MCP server inside quotes (e.g., `cvmi serve "npx -y …"`), and adding environment‑variable support to the spawned MCP server using flags such as `cvmi serve -e LOG_LEVEL=debug …`. They aren’t the flashiest features, but they are essential for real world scenarios. Thanks, @hzrd149, for pointing them out 🚀
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.
CEP-8 payments is becoming a reality. Quite soon, anyone, humans or machines, will be able to monetize their services and computation over Nostr. Permissionless, unstoppable, robust, decentralized services, this is how we win. Little by little, all the pieces are coming together 🚀
If you are interested in the discussion, dig in:
If you are interested in the development of it: 
GitHub
feat: cep-8 init by gzuuus · Pull Request #9 · ContextVM/contextvm-docs
Resolves: #8
GitHub
feat: [CEP-8] Payments by ContextVM-org · Pull Request #24 · ContextVM/sdk
ContextVM/contextvm-docs#8
🗞 Proudly announcing the first issue of our new bi‑weekly newsletter! 🗞
In it we will explore everything related to ContextVM, its ecosystem, MCP news, projects, and everything in between. This inaugural issue was written by @tuma , who will help us with communication and news. Tuma is not an LLM or a bot, he is a person, and he already writes for other open‑source projects such as Bitcoin Optech, BTC++ Insider Edition, and more. We’re glad to have him on board and happy to welcome more contributors 💛
Hope you enjoy it, we welcome any feedback, now, Let's keep building!🚀
View article →
A brief demo of the power of these new commands 👀
View quoted note →
And this is not the only news we have for today 👀 more about this later, wait for it 🔥
View quoted note →
🚀 Serve and Use: two new commands, one CLI, zero hassle
We merged our standalone gateway‑cli and proxy‑cli tools directly into cvmi. What used to require separate installations and configuration now lives under one unified CLI, and it couldn’t be simpler.
Serve any MCP server over Nostr:
- For example, the NostrBook: npx cvmi serve npx -y @nostrbook/mcp@latest
- Or even expose a remote HTTP server through Nostr👀👀: npx cvmi serve https://mcp.applesauce.build/mcp
This is a very new feature and led us to bump our SDK version to 0.3.x. More info is available in the CHANGELOG (https://github.com/ContextVM/sdk/blob/master/CHANGELOG.md) and the gateway overview (https://docs.contextvm.org/ts-sdk/gateway/overview/).
Use a remote server and access it locally via stdio: npx cvmi use 7506...5fa3
Both new commands work out of the box with ephemeral keys and default relays. Override relays, keys, or other settings via flags, config files, or environment variables when you need more control. To see all available options, just use --help with any command.
For builders who want to ship, and for users who want to connect to their services easily, the toolkit is shaping well: skills, servers, and connectivity in one place. Run npx cvmi and explore. Soon we’ll add new features to complement these and give you everything you need to learn, build, debug, and interact with the CVM ecosystem. Stay tuned.
#ContextVM #Nostr #MCP #decentralized
We merged our standalone gateway‑cli and proxy‑cli tools directly into cvmi. What used to require separate installations and configuration now lives under one unified CLI, and it couldn’t be simpler.
Serve any MCP server over Nostr:
- For example, the NostrBook: npx cvmi serve npx -y @nostrbook/mcp@latest
- Or even expose a remote HTTP server through Nostr👀👀: npx cvmi serve https://mcp.applesauce.build/mcp
This is a very new feature and led us to bump our SDK version to 0.3.x. More info is available in the CHANGELOG (https://github.com/ContextVM/sdk/blob/master/CHANGELOG.md) and the gateway overview (https://docs.contextvm.org/ts-sdk/gateway/overview/).
Use a remote server and access it locally via stdio: npx cvmi use 7506...5fa3
Both new commands work out of the box with ephemeral keys and default relays. Override relays, keys, or other settings via flags, config files, or environment variables when you need more control. To see all available options, just use --help with any command.
For builders who want to ship, and for users who want to connect to their services easily, the toolkit is shaping well: skills, servers, and connectivity in one place. Run npx cvmi and explore. Soon we’ll add new features to complement these and give you everything you need to learn, build, debug, and interact with the CVM ecosystem. Stay tuned.
GitHub
GitHub - ContextVM/cvmi
Contribute to ContextVM/cvmi development by creating an account on GitHub.
Thanks @npub1jss4...fmzy and @Good Stuff Podcast you are building awesome stuff 🔥
View quoted note →
Add skills just like this `npx cvmi add` pick the one that better suits you, then 🚀
View quoted note →
View quoted note →🎇Meet CVMI: the Army knife we are building for ContextVM development🧑💻
If you are building/vibing on Nostr, this is for you. We are shipping CVMI alongside a complete skill set that makes ContextVM development delightful.
The skills cover the entire stack: protocol fundamentals, architecture concepts, client and server development, troubleshooting, SDK internals, and production deployment. Each skill includes working templates, reference documentation, and patterns distilled from real Nostr development. Everything you need to do is `npx cvmi`.
Or grab the skills through CVMI with `npx cvmi add`, or through the skills CLI with `npx skills add contextvm/cvmi`.
These commands will show you the list of available skills and guide you through their installation for any coding platform. Cool, right?
You can also pick exactly what you need `npx cvmi add --skill overview`
CVMI starts as a skills manager, but we are building toward the unified toolkit that ContextVM deserves. One CLI for skills, server interaction, dev tools, the works.
For builders who want to ship. The skills are here now.
If you don't know what skills are:
#ContextVM #Nostr #MCP #buildinpublic
If you are building/vibing on Nostr, this is for you. We are shipping CVMI alongside a complete skill set that makes ContextVM development delightful.
The skills cover the entire stack: protocol fundamentals, architecture concepts, client and server development, troubleshooting, SDK internals, and production deployment. Each skill includes working templates, reference documentation, and patterns distilled from real Nostr development. Everything you need to do is `npx cvmi`.
Or grab the skills through CVMI with `npx cvmi add`, or through the skills CLI with `npx skills add contextvm/cvmi`.
These commands will show you the list of available skills and guide you through their installation for any coding platform. Cool, right?
You can also pick exactly what you need `npx cvmi add --skill overview`
CVMI starts as a skills manager, but we are building toward the unified toolkit that ContextVM deserves. One CLI for skills, server interaction, dev tools, the works.
For builders who want to ship. The skills are here now.
GitHub
GitHub - ContextVM/cvmi
Contribute to ContextVM/cvmi development by creating an account on GitHub.
Overview - Agent Skills
A simple, open format for giving agents new capabilities and expertise.
🧑💻 We've just released a new version of the CVM SDK (0.2.6). This time, it is an update focusing on ergonomics and coding style guidelines. The main refactor is that when creating a transport for a client or a server, you no longer need to create a relay handler. You can simply pass an array of relays, and it will create the handler for you using the Applesauce relay handler, which is our recommended, robust, and better tested relay handler.
Now:
```typescript
const transport = new NostrClientTransport({
signer,
relayHandler: ["wss://relay.contextvm.org", "wss://cvm.otherstuff.ai/"],
});
```
Before:
```typescript
const relayHandler = new ApplesauceRelayPool([
"wss://relay.contextvm.org",
"wss://cvm.otherstuff.ai/",
]);
const transport = new NostrClientTransport({
signer,
relayHandler,
});
```
Additionally, we updated some of the agentic conventions, code style, and guidelines. We switched to 'AGENTS.md' and created a 'CLAUDE.md' that simply redirects to 'AGENTS.md'."
Are you ready for what is comming? 👀
View quoted note →
This is a quite necessary project. The fact that it is fully based on permissionless technology that you can consume, run, and self-host makes it even more powerful 🚀
View quoted note →
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 →
🚀 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! 🚀
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 🚀
Elo — An expression language
A simple, well-designed, portable, and safe data expression language that compiles to JavaScript, Ruby, Python, and SQL.
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 →
🚀 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
The only one 😎... for now at least
View quoted note →
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 →
🎇 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!