Files
dvmcp/packages/dvmcp-discovery/README.md
2025-03-26 20:16:17 +01:00

2.0 KiB

DVMCP Discovery

A MCP server implementation that aggregates tools from DVMs across the Nostr network and makes them available through a single interface.

Features

  • Discovers MCP tools from DVMs across the Nostr network
  • Provides a unified interface to access tools from multiple DVMs
  • Tool execution handling and status tracking
  • Configurable DVM whitelist
  • Direct connection to specific providers or servers

Configuration

When the package is run for the first time, it will detect if the config.dvmcp.yml file exists, and if not, it will launch a configuration wizard to help you create the configuration file. You can also create your configuration file by copying config.example.yml and changing the values of the fields

cp config.example.yml config.dvmcp.yml
nano config.dvmcp.yml

You can also specify a custom configuration file path using the --config-path flag.

npx dvmcp-discovery --config-path /path/to/custom/config.dvmcp.yml

Usage

Prerequisite: Ensure you have Bun installed.

You can run this package directly using npx:

npx @dvmcp/discovery

Alternatively, for development:

bun run dev

For production:

bun run start

Direct Connection Options

You can connect directly to a specific provider or server without a configuration file:

Connect to a Provider

Use the --provider flag followed by an nprofile entity to discover and register all tools from a specific provider:

bun run start --provider nprofile1...

Connect to a Server

Use the --server flag followed by an naddr entity to register only the tools from a specific server:

bun run start --server naddr1...

This is useful when you want to work with a specific subset of tools rather than discovering all tools from a provider.

Debug

You can enable debug mode by setting the DEBUG environment variable to *:

DEBUG=* npx @dvmcp/discovery

Testing

Run the test suite:

bun test