DCAP Disco-实时工具发现MCP服务器
该项目实现了一个DCAP(动态能力获取协议)MCP服务器,该服务器连接到DCAP情报流,并提供对工具发现数据的实时访问。
特性
- DCAP流连接:连接到
ws://159.89.110.236:10191用于实时工具智能 - FIFO缓存:维护多达100个最近发现的具有重复数据消除功能的工具
- MCP工具:公开7个用于查询和调用已发现工具的工具
- 自主工具采集:在运行时调用任何发现的工具,无需手动配置
- x402支付支持:使用pipe402为付费工具自动创建付款
- 多运输支持:SSE,用于远程MCP服务器的HTTP流
- 自动重新连接:如果DCAP流连接中断,则自动重新连接
- 实时更新:处理semantic_discover、perf_update、observed_sequence和error_pattern消息
安装
- 克隆此存储库:
git clone https://github.com/boorich/dcap_disco.git
cd dcap_disco- 安装依赖项:
pip install -r requirements.txt- 配置环境(可选,适用于x402支付):
# Create .env file
echo "X402_PRIVATE_KEY=0x..." > .env
# Or export directly
export X402_PRIVATE_KEY=0x...- 确保管道402已安装(用于x402付款支持):
which pipe402 # Should return path to pipe402 binary用法
运行DCAP Disco MCP服务器
python server.py服务器将:
- 连接到DCAP情报流
- 开始缓存工具发现和性能数据
- 公开用于查询缓存数据的MCP工具
在Claude Desktop中配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"dcap-disco": {
"command": "python",
"args": ["/absolute/path/to/server.py"]
}
}
}在游标中配置
添加到MCP设置中:
{
"mcpServers": {
"dcap-disco": {
"command": "python",
"args": ["/absolute/path/to/server.py"]
}
}
}可用的MCP工具
list_discovered_tools
获取缓存中当前的所有工具(最多100个最新工具)。
退货: 包含功能、端点和统计信息的工具发现消息列表。
search_tools_by_capability
按功能中的关键字搜索工具。
参数:
query(string):搜索关键字
退货: 配套工具
get_tool_details
获取特定工具的详细信息。
参数:
tool_name(string):工具名称
退货: 具有性能历史记录的工具元数据
get_recent_activity
获取所有工具的最新性能更新。
参数:
limit(数字,可选):最大结果(默认值:20,最大值:100)tool_name(字符串,可选):按特定工具筛选
退货: 最近的性能更新
get_tool_sequences
获取观察到的工具执行序列(链)。
参数:
limit(数字,可选):最大序列数(默认值:10)
退货: 工具使用模式
get_stream_status
获取DCAP流连接状态。
退货: 连接统计信息和缓存大小
call_discovered_tool ⭐ 新
在运行时调用已发现的工具 -实现自主工具获取!
这是杀手级功能:您可以调用通过DCAP发现的任何工具,而无需手动配置。服务器:
- 在缓存中查找工具(来自semantic_discover消息)
- 如果需要,创建x402付款(使用pipe402)
- 建立MCP连接(SSE/HTTP)
- 调用远程工具
- 返回结果
参数:
tool_identifier(字符串):格式"tool_name@server_id"(例如。,"validate_daml_business_logic@canton-mcp")或者只是"tool_name"arguments(object):特定于工具的参数
退货: 工具执行结果
例子:
{
"tool_identifier": "validate_daml_business_logic@canton-mcp",
"arguments": {
"daml_code": "template MyContract with ..."
}
}演示流程:
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!环境变量
x402付款所需
X402_PRIVATE_KEY:用于创建x402支付的私钥(以十六进制开头的字符串0x)
可选的不记名代币
对于需要承载令牌身份验证的工具,请设置:
_TOKEN:特定服务器的令牌(例如。,ROBONET_MCP_TOKEN)
建筑
┌─────────────────────────────────────────────────────────────────┐
│ 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) │
└──────────────────┘ └──────────────────┘是什么让这个特别?
传统MCP设置:
// You must manually configure EVERY tool server:
{
"mcpServers": {
"canton-mcp": { "command": "...", "args": [...] },
"robonet-mcp": { "command": "...", "args": [...] },
"workbench-mcp": { "command": "...", "args": [...] }
// ... manually add 100 more ...
}
}使用DCAP迪斯科:
// 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.这是 “谷歌人工智能代理” -运行时自主能力获取。
用例
1.零配置工具访问
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.多服务器编排
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.实时网络智能
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.许可证
MIT许可证
贡献
欢迎拉取请求!对于重大更改,请先打开一个问题。
联系
问题?通过以下方式联系\[empeamtk@googlemail.com\]
______________________________________________________________________
准备好向风投展示自主代理的未来了吗? 🚀
这是当你组合时会发生的事情:
- DCAP (工具发现的开放协议)
- x402 (工具使用的流式小额支付)
- 主控程序 (代理工具通信标准)
结果: 可以自主发现和使用工具的代理,无需手动配置。
