Grovs
Servidor MCP para gestionar enlaces profundos, análisis y configuración de aplicaciones en Grovs.io. Funciona con Claude Code, Cursor, Windsurf y cualquier cliente compatible con MCP.
Documentación
Servidor MCP para gestionar enlaces profundos, analíticas y configuración de aplicaciones en Grovs.
Funciona con Claude Code, Cursor, Windsurf y cualquier cliente compatible con MCP.
Sitio web · Documentación · Problemas
¿Qué es Grovs?
Grovs es una plataforma de crecimiento de código abierto y centrada en la privacidad para aplicaciones móviles: una alternativa autoalojable a Branch.io y AppsFlyer. Proporciona:
- Enlaces profundos — un enlace que dirige a los usuarios al contenido correcto en iOS, Android y web. Los enlaces profundos diferidos sobreviven al flujo de instalación para que los usuarios lleguen a la pantalla correcta en la primera apertura.
- Atribución — atribución determinista de instalaciones y eventos de primera parte. Sin huellas digitales, sin compartir datos con redes publicitarias.
- Analíticas de ingresos — compras dentro de la aplicación, suscripciones y eventos de ingresos personalizados vinculados a la campaña que impulsó la instalación.
- Campañas — agrupa enlaces, realiza un seguimiento del rendimiento y compara resultados entre canales.
Alojado en la UE, SDKs de código abierto, más de 20 millones de usuarios activos diarios en producción. Consulta el repositorio backend para autoalojamiento.
¿Qué es este servidor MCP?
Este es un servidor MCP (Model Context Protocol) que permite a los asistentes de IA gestionar tu plataforma Grovs mediante lenguaje natural. Crea enlaces profundos, consulta analíticas, configura redirecciones, ejecuta campañas, todo sin salir de tu editor.
Inicio rápido
Claude Code
/plugin marketplace add grovs-io/mcp
/plugin install grovs@grovs
Instala el servidor MCP y las habilidades que enseñan a Claude a usar Grovs. En el primer uso, se abre una ventana del navegador para OAuth: no se necesitan claves API.
Cursor
Abre Configuración > MCP y añade un nuevo servidor:
{
"mcpServers": {
"grovs": {
"url": "https://mcp.grovs.io/mcp"
}
}
}
Windsurf
Añade a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"grovs": {
"serverUrl": "https://mcp.grovs.io/mcp"
}
}
}
VS Code (GitHub Copilot)
Añade a tu .vscode/mcp.json:
{
"servers": {
"grovs": {
"type": "http",
"url": "https://mcp.grovs.io/mcp"
}
}
}
ChatGPT Desktop
Abre Configuración > Servidores MCP > Añadir servidor e introduce:
https://mcp.grovs.io/mcp
Autoalojado
Si estás ejecutando tu propio backend de Grovs, ejecuta el servidor MCP localmente y apunta tu cliente a él:
git clone https://github.com/grovs-io/mcp.git
cd mcp
npm install && npm run build
npm start
O con Docker:
docker build -t grovs-mcp .
docker run -p 8080:8080 grovs-mcp
Luego usa http://localhost:8080/mcp como URL del servidor en cualquiera de las configuraciones de cliente anteriores.
Todos los clientes activarán un flujo OAuth en el primer uso: se abre una ventana del navegador para autenticarte con tu cuenta de Grovs.
Configuración
| Variable | Predeterminado | Descripción |
|---|---|---|
PORT | 8080 | Puerto del servidor |
GROVS_API_URL | https://mcp.grovs.io | URL del backend de Grovs (anular para autoalojado) |
PUBLIC_URL | http://localhost:8080 | URL pública de este servidor MCP (usada para devoluciones de llamada OAuth) |
Copia .env.example a .env para desarrollo local.
Herramientas
| Herramienta | Descripción |
|---|---|
get_status | Información de cuenta, instancias, proyectos y dominios |
get_usage | Métricas de uso y estado de suscripción de una instancia |
create_project | Crea una nueva instancia con proyectos de producción y prueba |
create_link | Crea un enlace profundo con metadatos, etiquetas y datos personalizados |
get_link | Obtén detalles completos de un enlace por ruta |
update_link | Actualiza los metadatos, etiquetas o redirecciones de un enlace |
archive_link | Desactiva un enlace (irreversible) |
search_links | Busca y lista enlaces con paginación y filtros |
get_analytics_overview | Métricas a nivel de proyecto: vistas, instalaciones, aperturas, ingresos |
get_link_analytics | Métricas diarias por enlace |
get_top_links | Enlaces con mejor rendimiento clasificados por vistas |
create_campaign | Crea una campaña para agrupar enlaces relacionados |
list_campaigns | Lista campañas con métricas agregadas |
archive_campaign | Archiva una campaña y desactiva sus enlaces |
configure_redirects | Configura el comportamiento de redirección por plataforma (App Store, Play Store, web) |
configure_sdk | Configura los ajustes del SDK de iOS/Android (ID de paquete, ID de equipo, etc.) |
Arquitectura
MCP Client (Claude Code, Cursor, etc.)
│
│ MCP protocol over HTTP
▼
Express app (src/app.ts)
│
├── OAuth flow (/authorize, /callback, /register)
│
└── MCP endpoint (/mcp)
│
├── Tool registration (src/server.ts)
│ Zod schema validation + runWithAuth error boundary
│
├── Handlers (src/tools/handlers.ts)
│ Business logic, plain functions, throw on error
│
├── Formatters (src/tools/formatters.ts)
│ Convert API JSON to human-readable text
│
└── API client (src/api-client.ts)
HTTP calls to Grovs backend
Desarrollo
npm run dev # start with auto-reload
npm run build # compile TypeScript
npm test # run tests (186 tests)
npm run test:watch # run tests in watch mode
npm run lint # ESLint
npm run format # Prettier
Consulta CONTRIBUTING.md para la estructura del proyecto y las pautas de PR.
SDKs
| Plataforma | Repositorio |
|---|---|
| iOS | grovs-io/grovs-ios |
| Android | grovs-io/grovs-android |
| React Native | grovs-io/grovs-react-native |
| Flutter | grovs-io/grovs-flutter |