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 11 months 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 http://contextvm.org If you have any doubt don't hesitate to ask
ContextVM's avatar
ContextVM 0 years ago
GM Nostr! We will be hosting a community call on July 25th at 16:00 UTC. πŸš€ During this call, we will walk through the new overhaul and discuss the architecture of ContextVM. There will also be space to chat about related topics, ask questions, clear doubts, share use cases, and discuss adjacent topics. Our goal is to create a regular space for discussing ContextVM and related topics such as MCP, AI, Nostr, and Bitcoin. Whether you already understand what ContextVM is or not, please join us and don't be afraid to ask questions.
ContextVM's avatar
ContextVM 0 years ago
To clarify, there was a typo in our previous message πŸ™ We meant July instead of October for the community call. We are eager to host a community call on either July 24 or 25, next week. These dates are not set in stone yet. We want to know if these dates work for you so we can determine the final date. If you want to participate, please share your preference. View quoted note β†’
ContextVM's avatar
ContextVM 0 years ago
Thanks to @aljaz for the contribution, the contextvm.org page now has an llms.txt file! You can find it at the following URL: https://contextvm.org/llms.txt This makes it pretty easy to start working with ContextVM using LLMS.
ContextVM's avatar
ContextVM 0 years 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 https://contextvm.org 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 http://contextvm.org . 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 0 years ago
Are you ready, guys? Today, we're going to make some big announcements. Stay tuned! πŸš€
ContextVM's avatar
ContextVM 1 year ago
GM Nostr! We're working hard to give DVMCP a revamp. We'll make a big announcement this week, so stay tuned!
ContextVM's avatar
ContextVM 1 year ago
We are working hard on the refactor currently underway, which will bring a major simplification of the codebase and specification πŸš€ This will result in a much better developer experience when connecting to servers and consuming capabilities from mcp servers across any platform, native clients, web clients, or any other type of client. Additionally, there are other surprises in store. Stay tuned! ETA: 2 weeks.
ContextVM's avatar
ContextVM 1 year ago
Taking the time to simplify the DVMCP specification, we are reducing complexity and unnecessary requirements while preserving the complete feature set and value proposition of DVMCP. We are notw more conscious about the technology, and can simplify the protocol based on the expertise we have gained. This effort is also part of a refactor we will undertake for the DVMCP implementation, which will be better separated into a library or SDK and its implementations for packages like 'bridge' and 'discovery'. This will make implementation in web apps and other platforms more straightforward. Stay tuned πŸš€
ContextVM's avatar
ContextVM 1 year ago
image Exciting updates to DVMCP! πŸ”’ We've just released new security and privacy features to DVMCP, including: ✨ Seamless encryption for private communication using nip-17 and giftwraps ✨ Private (unannounced) servers that remain invisible on the wider network ✨ Flexible encryption modes to balance security and accessibility These enhancements give you more control over data privacy and access within the DVMCP ecosystem. Check out the full details in our latest blog post: https://dvmcp.fun/blog/new-privacy-features View article β†’
ContextVM's avatar
ContextVM 1 year ago
Encryption is coming along nicely! It will be ready this week, along with the unannounced/private servers, LFG!πŸš€πŸš€
ContextVM's avatar
ContextVM 1 year ago
The Circle is Now Complete β₯πŸ’― We're excited to announce that our main domain, https://dvmcp.fun, has been updated with the new version of the website! While it might look the same on the surface, under the hood, DVMCP has been completely refactored to implement the latest MCP specifications. This update brings full support for all major MCP capabilities, tools, resources, and more. We've introduced different kinds for announcements and ephemeral events for client-server communication, enhancing design and efficiency. Next inmediate thing in on our agenda is encryption for communication and private servers to boost user privacy, and the implementation of the ping capability to check server availability. We're also planning to deploy more servers with exciting use cases. We're on a mission to make DVMCP the best it can be, and we need your help! If you're interested in contributing, please reach out. Stay tuned for more updates, and thank you for joining us on this journey! Read the full article https://dvmcp.fun/blog/circle-complete #DVMCP #MCP #DVM
ContextVM's avatar
ContextVM 1 year ago
πŸ“’ Roll out news! πŸ“’ Last week we released the new version of the dvmcp packages and gave dvmcp.fun a fresh update to match the latest specs. We've been testing it on next.dvmcp.fun and everything looks great! Mark your calendars: we're rolling out the new website on the main domain in just two days (June 12th)! This means the current dvmcp servers on dvmcp.fun will not appear, as the new spec brings some breaking changes to kinds and events. πŸ› οΈ Action Required for dvmcp users πŸ› οΈ If you're running or consuming dvmcp servers, please update your packages to the latest version (0.2.x) to stay compatible: - Server Operators: Update your dvmcp bridge to the latest version. - Server Consumers: Update the discovery package to the latest version. That's it! Just update, and the packages will take care of the rest. Let's make this transition smooth and hassle-free! πŸš€ #dvmcp #mcp #llm
ContextVM's avatar
ContextVM 1 year ago
Currently, the available servers at next.dvmcp.fun are: - DuckDuckGo Search: An MCP server that provides web search capabilities through DuckDuckGo, along with additional features for content fetching and parsing. https://next.dvmcp.fun/s/duckduckgo-mcp-server - Nostr MCP Server: An MCP server that offers Nostr capabilities to LLMs like Claude. https://next.dvmcp.fun/s/nostr-mcp-server - Nostr Daily News: An MCP server that interacts with Nostr relays and RSS feeds to fetch trending notes, news, and discussions. https://next.dvmcp.fun/s/nostr-daily-news You can use these servers for free. You can test them in the web UI at next.dvmcp.fun or integrate them with your MCP client, such as Claude, Cursor, or any other MCP client. To do this, refer to the 'Install' tab on each server page, or simply start the DVMCP discovery server in interactive mode (`dvmcp-discovery -i`) to dynamically discover them using natural language, such as "I want to discover tools to read news." We will soon bring more tools to life!
ContextVM's avatar
ContextVM 1 year ago
🌟 Release Time! 🌟 We’re thrilled to announce the new version of DVMCP! This update features support for the latest MCP specification, unlocking exciting possibilities and ensuring a future-proof design for the protocol. πŸ”§ Highlights: - Full support for major MCP capabilities. - Complete refactor of the dvmcp.fun website (currently at next.dvmcp.fun) - New storage type for relays, enhancing ephemeral event handling. Explore the available servers at next.dvmcp.fun and share your feedback/bugs over the next 10 days as we roll out new features to the main domain! Read a more detailed article of this release at dvmcp.fun/blog/release-time Thank you for joining us on this journey! Stay tuned for more updates! πŸš€ #DVMCP #MCP #Nostr #Ai #LLM
ContextVM's avatar
ContextVM 1 year ago
The new spec has just been merged. You can read our latest blog post about this and the final changes we made to the spec after the review process https://dvmcp.fun/blog/new-spec With that in place, it is time to start refactoring the dvmcp bridge and discovery packages πŸš€ View article β†’
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
The time has come! We worked quietly over the holidays, not very hard, but enough to keep our brains busy. We fixed some minor bugs in the dvmcp packages, making them more robust, especially in keeping subscriptions open when the relays they are connected to go down. We improved dvmcp.fun to have better styles and responsiveness, and now you can also find our new blog at dvmcp.fun/blog to read articles and stay up to date. This was also a good opportunity to take a step back and think about how best to improve interoperability between the Nostr and MCP protocols. Our first draft of the protocol was based on the MCP specification 2024-11-05, and we are now drafting a revision for the latest MCP specification 2025-03-26. This update will introduce new features and revisions to dvmcp to make the specification more compatible with modern MCP clients and servers. It's time to get to work! Stay tuned!
↑