New spec is here

We are excited to announce the finalization of our DVMCP specification update, which integrates the latest Model Context Protocol (MCP) version 2025-03-26
and other improvements. This article highlights the key points of this update, and the differences between our initial vision and the final specification, providing insights into how our ideas evolved during the drafting process.
The Journey from Concept to Specification
Last week, we shared our vision for updating the DVMCP specification to better integrate with the Model Context Protocol. After extensive drafting and feedback, we've finalized a specification that maintains our core vision while making important refinements to ensure optimal functionality, interoperability, and user experience. We are also improving the tagging of our specifications to make it more consistent, using the draft
mcp:2025-03-26
rev1
tag to identify the version of the specification and the revision number we are in. We hope this will make the specification clearer and easier to track changes.
Key Changes in the Final Specification
Refined Event Kind Structure
In our initial proposal, we outlined a modular event structure with dedicated event kinds for server announcements (31316) and separate kinds for capability categories (31317, 31318, and 31319). The final specification maintains this approach but provides more detailed implementation guidelines.
Enhanced Ephemeral Events
One of the most significant refinements involves our approach to ephemeral events. The final specification clearly defines three ephemeral event kinds:
- Requests (25910): Client requests to servers
- Responses (26910): Server responses to client requests
- Notifications (21316): Status updates, progress information, and interactive elements
This approach provides a more efficient communication pattern while reducing unnecessary storage burden on relays.
Standardized Content Structure
While our initial vision mentioned separating Nostr metadata and MCP payloads, the final specification provides concrete implementation details:
- Content Field: Contains stringified MCP JSON-RPC messages, maintaining full compatibility with the MCP specification
- Tags Field: Contains all Nostr-specific metadata using standardized tag patterns
This clear separation ensures that both protocols can operate seamlessly together without compromising either protocol's integrity.
Comprehensive Protocol Flows
The final specification includes detailed protocol flows for:
- Public Server Discovery: Finding servers through published announcements
- Private Server Discovery: Direct connection to servers using the MCP initialization process
- Capability Operations: Standardized patterns for listing, executing, and managing all capability types
These flows provide implementers with clear guidance on how to build compliant clients and servers.
Payment and Authorization
The specification now includes concrete implementations for payment handling and authorization:
- Payment Required Notifications: Using the ephemeral notification kind (21316) with specific tag patterns
- Authorization Flow: Leveraging Nostr's cryptographic properties for secure authorization
What Remained Consistent
Despite these refinements, our core vision remained intact:
- Expanded Capability Support: The specification fully embraces MCP's complete capabilities framework, including tools, resources, and prompts
- Modular Architecture: The separation of server announcements and capability listings improves maintainability and extensibility
- Protocol Interoperability: The specification maintains compatibility with both Nostr and MCP
Implementation Status
With the specification now finalized, we're updating our reference implementations:
- DVMCP-bridge: Server-side implementation for exposing MCP capabilities through Nostr
- DVMCP-discovery: Client-side library for discovering and consuming MCP capabilities via Nostr
Community Involvement
We want to express our gratitude to everyone who provided feedback on our draft specification. Your insights helped shape a more robust and practical protocol.
Looking Forward
This specification represents a significant advancement in bridging the Nostr and MCP ecosystems. By providing a standardized way to discover, access, and utilize MCP capabilities through the Nostr network, we're enabling new possibilities for applications.
We invite developers to explore the final specification and begin building with our reference implementations. Together, we can create a more open, interoperable, and powerful ecosystem
The complete specification is available at 2025-03-26.md.