Damus
ContextVM profile picture
ContextVM
@ContextVM

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.

Relays (5)
  • wss://relay.damus.io/ – read & write
  • wss://relay.primal.net/ – read & write
  • wss://nos.lol/ – read
  • wss://relay.nostrcheck.me/ – read & write
  • wss://wotr.relatr.xyz/ – read & write

Recent Notes

ContextVM profile picture
New informational CEP has dropped!

This is CEP-35, which standardizes functionality already present in our TypeScript SDK, specifically, stateless operations.

Typically, MCP servers and clients use an initialization lifecycle to negotiate capabilities. However, if you don’t need a long-lived session with a server, or if you already know the server’s supported capabilities, this lifecycle introduces unnecessary overhead.

Stateless mode addresses this by allowing clients to make one-shot requests to servers. It’s lighter, reduces roundtrips, and simplifies interactions.

While this functionality has been available for some time, we wanted to standardize it further as we advance the Rust SDK. This ensures parity and sets clear expectations and conventions across different implementations.

Read more in the CEP-35 spec:
https://docs.contextvm.org/spec/ceps/informational/cep-35/
2❤️1🧡1
ContextVM profile picture
New issue of the CVM world newsletter. This time we cover the latest news from ContextVM. In particular, we discuss the recent merging of two new specifications, CEP-23, which allows servers to publish a public profile and post notes signed with the same keypair used for protocol operations, and CEP-24, which allows users to attach comments and reviews to servers.
Please if you enjoy this issues consider subscribing to our substack https://contextvm.substack.com/
naddr1qvzq...
23❤️1👀1🤙1
YoungSatoshi · 1w
What is ContextVM?
ContextVM profile picture
We've just merged CEP‑24 🚀
This standardizes how NIP‑22 can be used to leave reviews attached to server announcements (https://docs.contextvm.org/spec/ceps/cep-24/). This provides a simple way for users to publish their experiences with the servers. Together with CEP‑23, which standardizes how servers can leverage profile‑metadata events (kind 0) and notes (kind 1), the circle is now complete.

Server operators can now maintain a social presence interoperable with any Nostr client, and they can receive and answer reviews directly on their servers. This makes the ecosystem more participatory and helps operators and users stay in contact. In addition, we have deployed an implementation of reviews on the https://contextvm.org website.

Let's keep building! 🚀🚀
32
Harsh · 2w
let's go 🚀
Khushvendra · 1w
Cheers! 💫
ContextVM profile picture
At ContextVM we believe in protocols over platforms.

We believe in cryptographic keys over accounts.

We believe in direct value exchange over third-party intermediaries.

Your infrastructure, your rules.
3❤️1❤️1🤝1
ContextVM profile picture
We continue shipping! A new version of the CVMI CLI, 0.3.0, is available. This time we integrated the last sparse CLI that had not yet been included, CTXCN.

The new command in CVMI is `npx cvmi cn`; the functionality is exactly the same then the previous CTXCN. Some minor bugs have been squashed, and the config‑file naming convention has changed to be more consistent with the 'cn' command. Apart from that, everything else remains the same.

This is the final integration needed to bring all previous sparse CLIs into CVMI, making it truly the Swiss army knife for the CVM ecosystem 💪

To update, just run `npx cvmi@latest`.

3❤️1
ContextVM profile picture
This is also already integrated in https://contextvm.org Now servers that publish profile metadata will render a profile card in the sidebar. If the server has notes published, they will appear there as well. This is the Relatr server page, for example.

1
ContextVM profile picture
CEP-23 is now merged, and TS SDK 0.9.0 ships support for publishing server profile metadata (kind:0) directly from the Nostr server transport.

This standardizes a pattern we were already seeing in the wild: servers using the same pubkey not only for protocol operations, but also for profile metadata and public social communication on Nostr.

With CEP-23, servers can optionally publish kind:0 for human-friendly identity metadata and `kind:1` notes for updates, changelogs, and operator communication, without changing the existing discovery model.

`kind:11316` remains the machine-readable capability surface. `kind:0` and `kind:1` add the social layer.

A small addition, but an important step toward making ContextVM servers more legible, interoperable, and present across the wider Nostr ecosystem.

CEP-23 + TS SDK 0.9.0 are live. Skills are updated as well. Happy building
https://docs.contextvm.org/spec/ceps/cep-23/
22❤️3
Khushvendra · 2w
Cheers!
Harsh · 2w
Great to see this landed 🙌
ContextVM profile picture
The goal was clear: build a validation plugin system for Relatr that would let anyone write plugins easily, share them easily, install them easily, and distribute them natively through Nostr itself.
naddr1qvzq...
Mafrend · 2w
MCP is just a format/protocol, ContextVM uses Nostr as a transport layer, but where do you get the inference powers of the LLMs in the end?
ContextVM profile picture
You plug the MCPs into the LLMs, so you can run inference from whichever source you prefer. It’s like giving the LLM or agent some tools. The tools are described and can be invoked through the MCP. In any agentic framework, such as Claude Code, Cursor, or any other, you can configure which MCPs you’ll provide to the LLM.