disvr
为什么选择 Disvr?
AI 智能体生态系统正在爆发式增长。支付协议(Stripe MPP、OpenAI ACP、x402)解决了如何支付的问题。目录网站(Smithery、Composio)解决了存在什么的问题。
但没有人解决最关键的问题:哪个工具真正值得使用?
🤖 “将中文法律合同翻译成泰语” → Smithery 上有 50 个翻译服务。哪一个性价比最高?
🤖 “从电商网站抓取产品价格” → 30 个抓取工具。哪一个成功率最高且延迟最低?
🤖 “生成产品图片” → 20 个图像生成服务。哪一个在保证质量的同时最便宜?
目前,智能体只能盲目选择。错误的选择意味着浪费金钱、浪费时间以及任务失败。
Disvr 解决了这个问题。
Disvr 不仅仅返回一个列表,而是基于 4 维价值评分返回排名推荐:
维度 | 权重 | 衡量指标 |
🎯 语义匹配 | 0.30 | 服务与需求的匹配程度 |
⭐ 质量 | 0.25 | 历史成功率、声誉 |
💰 成本效率 | 0.25 | 单次调用成本、性价比 |
🔒 可靠性 | 0.20 | 延迟、重试率、正常运行时间 |
你的智能体不再需要猜测,而是开始选择最适合该工作的工具。
✅ 开始之前
💰 免费使用 | 免费层级:每天 1,000 次查询,无需信用卡 |
🔌 原生 MCP | 为 Claude Code、Cursor 或任何 MCP 客户端提供一行配置 |
🔄 闭环反馈 | 智能体报告调用结果 → 排名随时间推移变得更智能 |
☁️ 全球边缘 | 部署在 Cloudflare Workers 上,全球低延迟 |
📡 实时数据 | 每小时从 Smithery 抓取,保持服务数据新鲜 |
快速开始
选项 1:MCP 服务器(推荐)
在你的 .mcp.json 中添加一行:
{
"mcpServers": {
"disvr": {
"type": "url",
"url": "https://api.disvr.top/mcp"
}
}
}重启 Claude Code / Cursor —— 你的智能体现在拥有了 discover_services 工具。
尝试告诉你的智能体:
“找到翻译中文法律文档到泰语的最佳工具”
“推荐成功率高且最便宜的网页抓取服务”
“哪个图像生成 API 的性价比最高?”
选项 2:REST API
curl -X POST https://api.disvr.top/discover \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"need": "translate Chinese legal contract to Thai"}'返回按 value_score 排序的前 3 名推荐:
{
"recommendations": [
{
"service": "deepl-mcp-server",
"platform": "smithery",
"match_confidence": 0.92,
"reputation": 4.2,
"price_usd": 0.002,
"reason": "Best cost/quality ratio for legal document translation"
}
]
}在线演示
页面 | 链接 | 描述 |
🏠 首页 | 产品概览 | |
🔍 探索器 | 交互式查询操场 —— 在线尝试 API | |
📋 注册表 | 浏览所有已索引的服务 | |
📊 分析 | 系统架构与评分可视化 |
API 参考
POST /discover — 服务发现
描述你的智能体需要什么,获取排名前 3 的推荐。
POST https://api.disvr.top/discover
Authorization: Bearer <api-key>
Content-Type: application/json
{
"need": "scrape product prices from e-commerce websites",
"max_price_per_call": 0.01,
"max_latency_ms": 5000,
"min_reputation": 3.0
}参数 | 必填 | 描述 |
| ✅ | 你需要什么(≥5 个字符) |
| ❌ | 单次调用最高价格(美元) |
| ❌ | 可接受的最大延迟(毫秒) |
| ❌ | 最低声誉评分(0-5) |
POST /report — 反馈循环
在使用工具后报告调用结果 —— 关闭反馈循环并改进排名。
POST https://api.disvr.top/report
Authorization: Bearer <api-key>
Content-Type: application/json
{
"service_id": "deepl-mcp-server",
"query_id": "q_abc123",
"success": true,
"latency_ms": 1200,
"cost_usd": 0.002
}GET /health — 健康检查
curl https://api.disvr.top/health
# {"status": "ok", "services_indexed": 330}MCP 工具
通过 MCP 服务器暴露的工具:
工具 | 描述 |
| 语义搜索 + 4 维价值排名 |
| 已索引服务的总数 |
| 报告调用结果(反馈循环) |
SDK
具有完整类型安全的 TypeScript/JavaScript SDK:
npm install @sylar_yan/disvrimport { Disvr } from "@sylar_yan/disvr";
const client = new Disvr("dsvr_your_api_key");
const result = await client.discover({
need: "translate Chinese legal contract to Thai",
max_latency_ms: 3000,
min_reputation: 3.5,
});
console.log(result.recommendations);架构
Agent Query ("I need X")
│
▼
┌─────────────────────────────────────────┐
│ Disvr API (Cloudflare Workers + Hono) │
├─────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ Embed │───▶│ CF Vectorize │ │
│ │ (OpenAI) │ │ (1536-dim cosine)│ │
│ └──────────┘ └────────┬─────────┘ │
│ │ │
│ ┌─────── 50 candidates ──────┐ │
│ ▼ │ │
│ ┌──────────────┐ ┌────────────┐ │ │
│ │ D1 Database │ │ FTS5 │ │ │
│ │ (services, │ │ (fallback) │ │ │
│ │ call_reports)│ └────────────┘ │ │
│ └──────┬───────┘ │ │
│ │ │ │
│ ▼ │ │
│ ┌──────────────────────────────┐ │ │
│ │ 4-Dim Value Ranking │ │ │
│ │ semantic × 0.30 │ │ │
│ │ quality × 0.25 │ │ │
│ │ cost_eff × 0.25 │ │ │
│ │ reliable × 0.20 │ │ │
│ └──────────┬───────────────────┘ │ │
│ ▼ │ │
│ Top 3 Recommendations │ │
│ │ │
├──────────────────────────────────────┤ │
│ MCP Server (Streamable HTTP) │ │
│ via CF Agents SDK + Durable Objects │ │
└──────────────────────────────────────┘ │
│
┌──────────────────────────────────┘
▼
┌─────────────┐
│ Cron Trigger │ ← Hourly: crawl (Smithery + GitHub + MCP Registry)
│ (4-phase) │ → enrich GitHub Stars → health checks
└─────────────┘ → aggregate daily stats
│
┌────▼────────────┐
│ POST /report │ ← Agent feedback
│ refreshStats() │ success_rate, latency → ranking improvement
└─────────────────┘技术栈
组件 | 技术 |
运行时 | Cloudflare Workers |
框架 | Hono |
数据库 | Cloudflare D1 (SQLite) |
向量搜索 | CF Vectorize (1536 维,余弦相似度) |
文本搜索 | FTS5 (OR + 前缀,回退路径) |
嵌入 | OpenAI text-embedding-3-small |
MCP 服务器 | CF Agents SDK (McpAgent + Durable Objects) |
数据源 | Smithery, GitHub awesome-mcp, MCP 官方注册表 (~2000 个服务) |
定时任务 | CF Cron Trigger (每小时) |
语言 | TypeScript |
项目结构
disvr/
├── wrangler.toml # CF Workers config
├── schema.sql # D1 database schema
├── src/
│ ├── index.ts # Hono entry + REST routes
│ ├── discover.ts # Core: semantic search + 4-dim ranking
│ ├── db.ts # D1 CRUD + feedback stats
│ ├── crawl.ts # Multi-source crawlers + embedAndIndex
│ ├── mcp.ts # MCP Server (Streamable HTTP)
│ ├── types.ts # TypeScript type definitions
│ ├── landing.ts # Landing page HTML
│ └── pages/
│ ├── registry.ts # Provider Registry page
│ ├── explorer.ts # Agent Query Explorer page
│ └── analytics.ts # Analytics Dashboard page
├── test/
│ ├── types.test.ts # Type conversion tests
│ ├── discover.test.ts # Matching engine tests
│ ├── db.test.ts # D1 operations tests
│ ├── api.test.ts # REST API integration tests
│ └── crawl.test.ts # Crawler tests
└── .mcp.json # MCP config example本地开发
# Prerequisites: Node.js 22+
nvm use 22
# Install dependencies
npm install
# Local dev server
npx wrangler dev
# Run tests
npx vitest run
# Deploy
npx wrangler deploy环境变量
# Set OpenAI API Key (for embeddings)
wrangler secret put OPENAI_API_KEY数据库设置
# Create D1 database
wrangler d1 create disvr-db
# Run schema
wrangler d1 execute disvr-db --file=./schema.sql
# Create Vectorize index
wrangler vectorize create disvr-mcp-index --dimensions=1536 --metric=cosine设计理念
支出智能,不仅仅是搜索
Disvr 不是一个目录,也不是一个市场。它是一个决策层。
传统的目录返回一个列表让你自己挑选。Disvr 返回一个推荐并告诉你:
为什么这个工具值得使用
如何对比其性价比
什么让它比替代品更好
闭环反馈是护城河
每当智能体报告调用结果(成功/失败、延迟、成本)时,它都会反馈到排名算法中。使用越多 → 推荐越智能。这不是一个静态数据库 —— 这是一个活的智能系统。
双路径搜索保证召回率
主要路径:OpenAI 嵌入 → CF Vectorize 向量搜索(语义匹配)
回退路径:FTS5 全文搜索(OR + 前缀通配符)
当嵌入失败或向量搜索返回空时自动降级 —— 始终返回结果
路线图
[x] 核心 API (发现 + 报告 + 健康检查)
[x] MCP 服务器 (可流式传输 HTTP)
[x] Smithery 爬虫 (330+ 服务)
[x] GitHub awesome-mcp 爬虫 + Stars 丰富数据
[x] MCP 官方注册表爬虫 (1000+ 服务)
[x] 落地页 + 4 个前端页面
[x] 自定义域名 (www.disvr.top + api.disvr.top)
[x] npm SDK (@sylar_yan/disvr)
[x] 90 个单元测试 (类型、发现、数据库、API、爬虫)
[x] 请求日志 + 分析 API
[x] 每日统计 Cron 聚合
[x] 健康检查 + 多信号声誉评分
[x] 用户注册 + API 密钥管理 UI
[ ] 智能体集成验证 (MCP 真实世界测试)
[ ] 成本跟踪仪表板
[ ] 支付协议集成 (Stripe MPP / x402)
贡献
欢迎提交 PR 和 Issue!
🐛 错误报告 → GitHub Issues
💡 功能请求 → GitHub Issues
🔧 代码贡献 → Fork & PR
致谢
Cloudflare Workers — 全球边缘计算
Hono — 轻量级 Web 框架
Smithery — MCP 服务注册表
OpenAI — text-embedding-3-small
CF Agents SDK — MCP 服务器实现
许可证
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Svanik-yan/disvr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server