disvr
¿Por qué Disvr?
El ecosistema de agentes de IA está explotando. Los protocolos de pago (Stripe MPP, OpenAI ACP, x402) resuelven cómo pagar. Los directorios (Smithery, Composio) resuelven qué existe.
Pero nadie resuelve la pregunta más crítica: ¿qué herramienta realmente vale la pena usar?
🤖 "Traducir un contrato legal chino al tailandés" → 50 servicios de traducción en Smithery. ¿Cuál tiene la mejor relación costo/calidad?
🤖 "Extraer precios de productos de sitios de comercio electrónico" → 30 herramientas de scraping. ¿Cuál tiene la mayor tasa de éxito y la menor latencia?
🤖 "Generar una imagen de producto" → 20 servicios de generación de imágenes. ¿Cuál es el más barato y a la vez lo suficientemente bueno?
En este momento, los agentes eligen a ciegas. Las elecciones incorrectas significan dinero desperdiciado, tiempo perdido y tareas fallidas.
Disvr soluciona esto.
En lugar de devolver una lista, Disvr devuelve una recomendación clasificada, basada en una puntuación de valor de 4 dimensiones:
Dimensión | Peso | Lo que mide |
🎯 Coincidencia semántica | 0.30 | Qué tan bien se ajusta el servicio a la necesidad |
⭐ Calidad | 0.25 | Tasa de éxito histórica, reputación |
💰 Eficiencia de costos | 0.25 | Costo por llamada, relación calidad-precio |
🔒 Confiabilidad | 0.20 | Latencia, tasa de reintento, tiempo de actividad |
Tu agente deja de adivinar y comienza a elegir la mejor herramienta para el trabajo.
✅ Antes de empezar
💰 Gratis de usar | Nivel gratuito: 1,000 consultas/día, no requiere tarjeta de crédito |
🔌 Nativo de MCP | Configuración de una línea para Claude Code, Cursor o cualquier cliente MCP |
🔄 Retroalimentación de ciclo cerrado | Los agentes informan los resultados de las llamadas → las clasificaciones mejoran con el tiempo |
☁️ Borde global | Desplegado en Cloudflare Workers, baja latencia en todo el mundo |
📡 Datos en tiempo real | Rastreos por hora desde Smithery mantienen los datos del servicio actualizados |
Inicio rápido
Opción 1: Servidor MCP (Recomendado)
Añade una línea a tu .mcp.json:
{
"mcpServers": {
"disvr": {
"type": "url",
"url": "https://api.disvr.top/mcp"
}
}
}Reinicia Claude Code / Cursor: tu agente ahora tiene la herramienta discover_services.
Intenta decirle a tu agente:
"Encuentra la mejor herramienta para traducir documentos legales chinos al tailandés"
"Recomienda el servicio de web scraping más barato con alta tasa de éxito"
"¿Qué API de generación de imágenes tiene la mejor relación precio/calidad?"
Opción 2: API REST
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"}'Devuelve las 3 mejores recomendaciones clasificadas por value_score:
{
"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"
}
]
}Demo en vivo
Página | Enlace | Descripción |
🏠 Inicio | Descripción general del producto | |
🔍 Explorador | Patio de juegos de consultas interactivas: prueba la API en vivo | |
📋 Registro | Explora todos los servicios indexados | |
📊 Analítica | Arquitectura del sistema y visualización de puntuación |
Referencia de la API
POST /discover — Descubrimiento de servicios
Describe lo que necesita tu agente, obtén las 3 mejores recomendaciones clasificadas.
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
}Parámetro | Requerido | Descripción |
| ✅ | Lo que necesitas (≥5 caracteres) |
| ❌ | Precio máximo por llamada (USD) |
| ❌ | Latencia máxima aceptable (ms) |
| ❌ | Puntuación mínima de reputación (0-5) |
POST /report — Bucle de retroalimentación
Informa los resultados de las llamadas después de usar una herramienta: cierra el bucle de retroalimentación y mejora las clasificaciones.
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 — Verificación de estado
curl https://api.disvr.top/health
# {"status": "ok", "services_indexed": 330}Herramientas MCP
Herramientas expuestas a través del servidor MCP:
Herramienta | Descripción |
| Búsqueda semántica + clasificación de valor de 4 dimensiones |
| Número total de servicios indexados |
| Informar resultados de llamadas (bucle de retroalimentación) |
SDK
SDK de TypeScript/JavaScript con seguridad de tipos completa:
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);Arquitectura
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
└─────────────────┘Stack tecnológico
Componente | Tecnología |
Entorno de ejecución | Cloudflare Workers |
Framework | Hono |
Base de datos | Cloudflare D1 (SQLite) |
Búsqueda vectorial | CF Vectorize (1536-dim, coseno) |
Búsqueda de texto | FTS5 (OR + prefijo, ruta de respaldo) |
Embedding | OpenAI text-embedding-3-small |
Servidor MCP | CF Agents SDK (McpAgent + Durable Objects) |
Fuentes de datos | Smithery, GitHub awesome-mcp, Registro oficial de MCP (~2000 servicios) |
Cron | CF Cron Trigger (cada hora) |
Lenguaje | TypeScript |
Estructura del proyecto
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 exampleDesarrollo local
# 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 deployVariables de entorno
# Set OpenAI API Key (for embeddings)
wrangler secret put OPENAI_API_KEYConfiguración de la base de datos
# 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=cosineFilosofía de diseño
Inteligencia de gasto, no solo búsqueda
Disvr no es un directorio. No es un mercado. Es una capa de decisión.
Los directorios tradicionales devuelven una lista y te dejan elegir. Disvr devuelve una recomendación y te dice:
Por qué vale la pena usar esta herramienta
Cómo se compara su relación costo/calidad
Qué la hace mejor que las alternativas
El bucle de retroalimentación es la ventaja competitiva
Cada vez que un agente informa un resultado de llamada (éxito/fallo, latencia, costo), se retroalimenta en el algoritmo de clasificación. Más uso → recomendaciones más inteligentes. Esta no es una base de datos estática, es un sistema de inteligencia vivo.
La búsqueda de doble ruta garantiza la recuperación
Primaria: Embedding de OpenAI → búsqueda vectorial CF Vectorize (coincidencia semántica)
Respaldo: Búsqueda de texto completo FTS5 (OR + comodines de prefijo)
Se degrada automáticamente cuando el embedding falla o la búsqueda vectorial devuelve resultados vacíos: siempre devuelve resultados
Hoja de ruta
[x] API principal (descubrir + informar + salud)
[x] Servidor MCP (HTTP transmitible)
[x] Rastreador de Smithery (más de 330 servicios)
[x] Rastreador de GitHub awesome-mcp + enriquecimiento de estrellas
[x] Rastreador del registro oficial de MCP (más de 1000 servicios)
[x] Página de destino + 4 páginas de frontend
[x] Dominios personalizados (www.disvr.top + api.disvr.top)
[x] SDK de npm (@sylar_yan/disvr)
[x] 90 pruebas unitarias (tipos, descubrir, db, api, rastreo)
[x] Registro de solicitudes + API de analítica
[x] Agregación de estadísticas diarias mediante cron
[x] Verificaciones de salud + puntuación de reputación multisignal
[x] Registro de usuario + UI de gestión de claves API
[ ] Verificación de integración de agentes (pruebas de MCP en el mundo real)
[ ] Panel de seguimiento de costos
[ ] Integración de protocolo de pago (Stripe MPP / x402)
Contribuciones
¡Los PRs y los Issues son bienvenidos!
🐛 Informes de errores → GitHub Issues
💡 Solicitudes de funciones → GitHub Issues
🔧 Contribuciones de código → Fork & PR
Agradecimientos
Cloudflare Workers — Computación de borde global
Hono — Framework web ligero
Smithery — Registro de servicios MCP
OpenAI — text-embedding-3-small
CF Agents SDK — Implementación del servidor MCP
Licencia
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