DCAP Disco

DCAP Disco

Connects to the DCAP intelligence stream to discover and cache tools in real time, and enables autonomous tool acquisition by allowing agents to call any discovered tool without manual configuration, including automatic x402 payment handling.

Category
访问服务器

README

DCAP Disco - Real-Time Tool Discovery MCP Server

This project implements a DCAP (Dynamic Capability Acquisition Protocol) MCP server that connects to the DCAP intelligence stream and provides real-time access to tool discovery data.

Features

  • DCAP Stream Connection: Connects to ws://159.89.110.236:10191 for real-time tool intelligence
  • FIFO Cache: Maintains up to 100 most recently discovered tools with deduplication
  • MCP Tools: Exposes 7 tools for querying AND CALLING discovered tools
  • Autonomous Tool Acquisition: Call ANY discovered tool at runtime without manual configuration
  • x402 Payment Support: Automatic payment creation for paid tools using pipe402
  • Multi-Transport Support: SSE, HTTP streaming for remote MCP servers
  • Auto-Reconnect: Automatically reconnects if the DCAP stream connection drops
  • Real-time Updates: Processes semantic_discover, perf_update, observed_sequence, and error_pattern messages

Installation

  1. Clone this repository:

    git clone https://github.com/boorich/dcap_disco.git
    cd dcap_disco
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure environment (optional, for x402 payments):

    # Create .env file
    echo "X402_PRIVATE_KEY=0x..." > .env
    
    # Or export directly
    export X402_PRIVATE_KEY=0x...
    
  4. Ensure pipe402 is installed (for x402 payment support):

    which pipe402  # Should return path to pipe402 binary
    

Usage

Running the DCAP Disco MCP Server

python server.py

The server will:

  • Connect to the DCAP intelligence stream
  • Start caching tool discoveries and performance data
  • Expose MCP tools for querying the cached data

Configuring in Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "dcap-disco": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

Configuring in Cursor

Add to your MCP settings:

{
  "mcpServers": {
    "dcap-disco": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

Available MCP Tools

list_discovered_tools

Get all tools currently in the cache (up to 100 most recent).

Returns: List of tool discovery messages with capabilities, endpoints, and stats.

search_tools_by_capability

Search for tools by keyword in their capabilities.

Parameters:

  • query (string): Search keywords

Returns: Matching tools

get_tool_details

Get detailed information about a specific tool.

Parameters:

  • tool_name (string): Name of the tool

Returns: Tool metadata with performance history

get_recent_activity

Get recent performance updates from all tools.

Parameters:

  • limit (number, optional): Max results (default: 20, max: 100)
  • tool_name (string, optional): Filter by specific tool

Returns: Recent performance updates

get_tool_sequences

Get observed tool execution sequences (chains).

Parameters:

  • limit (number, optional): Max sequences (default: 10)

Returns: Tool usage patterns

get_stream_status

Get DCAP stream connection status.

Returns: Connection stats and cache size

call_discovered_tool ⭐ NEW

Call a discovered tool at runtime - enables autonomous tool acquisition!

This is the killer feature: you can invoke ANY tool discovered via DCAP without manual configuration. The server:

  1. Looks up the tool in cache (from semantic_discover messages)
  2. Creates x402 payment if needed (using pipe402)
  3. Establishes MCP connection (SSE/HTTP)
  4. Calls the remote tool
  5. Returns result

Parameters:

  • tool_identifier (string): Format "tool_name@server_id" (e.g., "validate_daml_business_logic@canton-mcp") or just "tool_name"
  • arguments (object): Tool-specific arguments

Returns: Tool execution result

Example:

{
  "tool_identifier": "validate_daml_business_logic@canton-mcp",
  "arguments": {
    "daml_code": "template MyContract with ..."
  }
}

Demo Flow:

1. Canton MCP broadcasts semantic_discover
   → DCAP Disco caches: validate_daml_business_logic@canton-mcp

2. Agent queries: list_discovered_tools
   → Sees: validate_daml_business_logic@canton-mcp

3. Agent calls: call_discovered_tool
   → DCAP Disco:
     - Creates x402 payment (pipe402)
     - Connects to Canton MCP (SSE)
     - Calls validate_daml_business_logic
     - Returns result

4. Agent gets result - no manual configuration needed!

Environment Variables

Required for x402 Payment

  • X402_PRIVATE_KEY: Private key for creating x402 payments (hex string starting with 0x)

Optional Bearer Tokens

For tools requiring bearer token auth, set:

  • <SERVER_ID>_TOKEN: Token for specific server (e.g., ROBONET_MCP_TOKEN)

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                    DCAP Disco MCP Server                        │
│                                                                 │
│  ┌──────────────┐      ┌─────────────┐      ┌───────────────┐ │
│  │ DCAP Stream  │─────▶│   Cache     │─────▶│  MCP Tools    │ │
│  │   Client     │      │ (Discover)  │      │ (Query/List)  │ │
│  └──────────────┘      └─────────────┘      └───────────────┘ │
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │           Tool Connection Manager (NEW!)                  │  │
│  │                                                           │  │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────────────────┐  │  │
│  │  │  x402    │  │   MCP    │  │  Dynamic Tool Call   │  │  │
│  │  │ Payment  │─▶│  Client  │─▶│  (SSE/HTTP/stdio)    │  │  │
│  │  │ (pipe402)│  │ (httpx)  │  │                      │  │  │
│  │  └──────────┘  └──────────┘  └──────────────────────┘  │  │
│  └──────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
           │                                    ▲
           │ discovers                          │ invokes
           ▼                                    │
  ┌──────────────────┐                 ┌──────────────────┐
  │  Canton MCP      │                 │  Canton MCP      │
  │  (broadcasts)    │                 │  (executes)      │
  └──────────────────┘                 └──────────────────┘

What Makes This Special?

Traditional MCP Setup:

// You must manually configure EVERY tool server:
{
  "mcpServers": {
    "canton-mcp": { "command": "...", "args": [...] },
    "robonet-mcp": { "command": "...", "args": [...] },
    "workbench-mcp": { "command": "...", "args": [...] }
    // ... manually add 100 more ...
  }
}

With DCAP Disco:

// You configure ONLY the dcap-disco server:
{
  "mcpServers": {
    "dcap-disco": { "command": "python", "args": ["server.py"] }
  }
}

// Now you can call ANY tool discovered on the network!
// No manual configuration. Just discovery + acquisition.

This is "Google for AI agents" - autonomous capability acquisition at runtime.

Use Cases

1. Zero-Config Tool Access

Agent: "What DAML validation tools are available?"
DCAP Disco: "validate_daml_business_logic@canton-mcp"

Agent: "Call it with this code..."
DCAP Disco: 
  - Creates x402 payment automatically
  - Connects to Canton MCP
  - Calls tool
  - Returns result

NO MANUAL CONFIGURATION!

2. Multi-Server Orchestration

Agent task: "Build a DAML contract AND test a trading strategy"

Agent:
1. Calls validate_daml_business_logic@canton-mcp
   → DCAP Disco connects to Canton MCP (first time)
   
2. Calls get_strategy_code@robonet-mcp
   → DCAP Disco connects to Robonet MCP (first time)

All automatic. All paid via x402. All discovered via DCAP.

3. Real-Time Network Intelligence

Show VC:
- Stream of tools being discovered (semantic_discover)
- Agent querying available tools (list_discovered_tools)
- Agent calling tools dynamically (call_discovered_tool)
- x402 payments flowing
- Intelligence emerging from usage patterns

THIS IS THE FUTURE OF MCP.

License

MIT License

Contributing

Pull requests welcome! For major changes, please open an issue first.

Contact

Questions? Reach out via [empeamtk@googlemail.com]


Ready to show VCs the future of autonomous agents? 🚀

This is what happens when you combine:

  • DCAP (the open protocol for tool discovery)
  • x402 (streaming micropayments for tool usage)
  • MCP (the standard for agent-tool communication)

Result: Agents that can discover and use tools autonomously, with no manual configuration.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选