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 1 year ago
Exciting Updates from ContextVM: Introducing Gateway CLI and Proxy CLI We are thrilled to announce the latest developments in the ContextVM project! Following our rebranding from DVMCP to ContextVM, we continue to deliver innovative solutions to enhance the integration of MCP systems with the Nostr network. Today, we are excited to introduce two new command-line interface (CLI) tools: `gateway-cli` and `proxy-cli`. ## Gateway-CLI and Proxy-CLI They use the `NostrMCPGateway` and `NostrMCPProxy` which are internal components of the ContextVM/ts-sdk, designed to bridge traditional MCP systems with the Nostr network. Here’s a brief overview of each: - **NostrMCPGateway**: This server-side component exposes a traditional MCP server to the Nostr network, acting as a gateway that translates communication between Nostr-based clients and a standard MCP server. For more detailed information, visit the https://www.contextvm.org/gateway/overview/ - **NostrMCPProxy**: This client-side component acts as a local proxy, exposing a mcp server locally, and translating communication between a standard MCP client and a remote, Nostr-based MCP server. For more detailed information, visit the https://www.contextvm.org/proxy/overview/ ### Gateway CLI The `gateway-cli` is a tool designed to simplify the deployment and configuration of the `NostrMCPGateway`. It allows you to expose your MCP server through the Nostr network with ease. **Quick Start Installation:** ```bash curl -fsSL https://raw.githubusercontent.com/contextvm/gateway-cli/main/install.sh | bash ``` **Alternative Installation Methods:** - **From Binaries**: Download the latest release from the and follow the instructions. - **With Deno**: Run `deno run -A jsr:@contextvm/gateway-cli` or install it with `deno install -A gateway-cli jsr:@contextvm/gateway-cli`. **Example Usage:** ```bash gateway-cli --private-key "your_private_key" --relays "wss://relay.com" --server "command arg1 arg2" ``` For more detailed information, including configuration options and development instructions, visit https://github.com/ContextVM/gateway-cli. #### Proxy CLI The `proxy-cli` is designed to wrap around the `@contextvm/ts-sdk`'s `NostrMCPProxy`, allowing you to connect to MCP servers exposed through the Nostr network and use them as local MCP servers in any MCP client. Allowing any MCP client to support nostr transport, even if it doesn't supports it natively **Quick Start Installation:** ```bash curl -fsSL https://raw.githubusercontent.com/contextvm/proxy-cli/main/install.sh | bash ``` **Alternative Installation Methods:** - **From Binaries**: Download the latest release from the and follow the instructions. - **With Deno**: Run `deno run -A jsr:@contextvm/proxy-cli` or install it with `deno install -A jsr:@contextvm/proxy-cli`. **Example Usage:** ```bash proxy-cli --private-key "your_private_key" --relays "wss://relay.com" --server-pubkey "server_public_key" ``` For more detailed information about the CLIs, including configuration options and development instructions, visit the For more information about ContextVM, visit If you have any doubt don't hesitate to ask
ContextVM's avatar
ContextVM 1 year ago
We are thrilled to unveil the new identity of DVMCP. Moving forward, the project will be called ContextVM and will be officially hosted under the domain. This rebranding is driven by several factors: - Conceptual Clarity: The term "DVM" remains ambiguous within the Nostr community. The recent "DVM wars" highlighted the lack of consensus around what a DVM is, and it doesn't seem this will change soon. - Avoiding Confusion: There is another project called DVMCP in the MCP world, which stands for "damn vulnerable MCP." Its goal is to provide a "hack the box" MCP experience, and we do not want to be associated with it. - Not Following the DVM Pattern: We initially called the project DVMCP because we were following the pattern described in NIP-90 DVMs to implement MCP over Nostr. However, this is changing now, as more information is provided below. - New Direction and Governance: There are enough technical changes that justify the rebranding, and we want to reinforce the open-source nature and community-driven governance of the project. The project is now under an organization. We initiated this project early on, when MCP was just being announced. We started DVMCP following a "kitchen sink" approach, reimplementing everything to gain experience and understanding of MCP and how it can leverage Nostr's capabilities. This helped us delve deeper into MCP and understand its concepts thoroughly. Additionally, MCP is a relatively new protocol, and its governance is still under debate. By following the "kitchen sink" path, we aimed to avoid distractions from breaking changes on their end. Now that the MCP protocol is more mature, we can better anticipate its evolution. Another reason for the rename is to move the project under an organization that better reflects its open-source nature and the community-driven governance we envision. All these factors have led us to this decision. We will continue to use this npub for all related communications. ## Technical Changes Overview The most significant change in the specification is the elimination of separate kinds for requests and responses, opting instead for a single kind acting as a "socket." We think this is a more elegant solution. We will provide more detailed information about these changes in future posts, but you can read the spec right now at https://www.contextvm.org/ctxvm-draft-spec/. We are also announcing the ContextVM/ts-sdk https://github.com/contextvm/ts-sdk, which provides all necessary pieces to work with ContextVM and demonstrates our new integration approach with MCP. We have based the design of our architecture on the transport domain of MCP, creating Nostr transports for servers and clients. The transport in MCP is an agnostic piece of the stack, with local transports like stdio or remote transports like SSE or streamable HTTP. Transports are simply transports, while servers and clients are the protocol-compliant parts. Now, we are introducing Nostr transports, making it easy to operate and consume MCP over Nostr using their SDK and the Nostr transports from the ContextVM SDK. This enhances both the developer and user experience, making it easier to reason about, as ContextVM is now a thin layer on top of MCP SDKs. Any changes in the MCP spec or their SDK will be handled out of the box, reducing maintenance costs and eliminating the need for adaptations to new MCP features. With everything related to ContextVM happening at the transport level, we believe this is a forward-thinking architectural choice. The project is now live, and you can explore it at . The SDK is fully usable and offers all basic features. It also supports encrypted communication by default. Our next steps include adapting the website to create a decentralized repository where anyone can discover MCP servers operating on Nostr and allowing users to try them out. Write more tutorials and guides. Next steps for the SDK include adding payment capabilities, after which we will be fully aligned with the current state of DVMCP. We will be releasing these features and more in the coming weeks. We are looking forward to know your thoughs, and also we are looking for for contributors and testers. We will also want to host a community call this week. We are proposing Thursday, October 24, or Friday, October 25, at 16:00 UTC. These dates are just a reference, and if you have a better date drop it in a comment, we will adapt to the one that suits everyone best. Please join us and don't hesitate to ask questions.
ContextVM's avatar
ContextVM 1 year ago
Are you ready, guys? Today, we're going to make some big announcements. Stay tuned! 🚀
ContextVM's avatar
ContextVM 1 year ago
We have a new post on our blog, this time highlighting the ongoing revision we are doing to the dvmcp spec, which includes the latest version of mcp, and also introduces the complete mcp capabilities framework with tools, resources, and prompts. We are looking for community feedback to help shape this draft. You can read the article here https://dvmcp.fun/blog/evolving-dvmcp and the draft here View article →
ContextVM's avatar
ContextVM 1 year ago
New features are now available for the Discovery Package! The dvmcp-discovery package has been updated to provide a more intuitive way to discover and use MCP tools on Nostr. You can now seamlessly integrate these tools with your LLMs, running them locally while they execute remotely by another nostrish. This update introduces a reworked configuration system, making it easier to connect to tools with flexible and user-friendly methods. Additionally, the new interactive mode allows you to use natural language to discover and integrate tools as if you were in a toy shop, picking out exactly what you need for your workflows. We hope the ecosystem will continue to grow with active tools, we are also working on enabling machine-to-machine payments to support operators and make everything more reliable. This is an exciting step forward for the project, which is still in its early stages and constantly evolving. If you’re interested, stay tuned and get involved! To start using this, simply configure `npx @dvmcp/discovery -i` as your MCP server in your favorite client, and you’ll be ready to explore and use new tools, you also see the help text with examples using `npx @dvmcp/discovery -h` . For more information, visit  https://github.com/gzuuus/dvmcp or https://dvmcp.fun/
↑