Cursor Admin

Monitorea la productividad, el uso y el gasto del equipo para asistentes de IA utilizando la API de Cursor Admin.

Documentación

Cursor Admin MCP Server

Utlyze Logo

por Utlyze.com

npm version npm downloads License: MIT Build Status Test Coverage

🎮 El Potenciador de Análisis de Equipo para tu Asistente de IA

Presentado por Utlyze - Operaciones de Cero Latencia a través de Empleados de IA

🚀 Instalación Rápida

npx -y cursor-admin-mcp

Eso es todo. Tu asistente de IA acaba de subir de nivel.

🎯 Lo Que Obtienes

Piensa en esto como equipar a tu IA con visión de rayos X para tu equipo de desarrollo:

  • 🏢 Directorio del Equipo - Conoce al instante quién está en el equipo y sus roles
  • 📊 Análisis de Uso - Ve quién está realmente programando vs. quién está en reuniones
  • 💰 Seguimiento de Créditos - Sabes exactamente a dónde van tus créditos de IA
  • 📈 Métricas de Productividad - Líneas añadidas, tasas de aceptación de IA, modelos favoritos
  • 🔍 Información Profunda - Qué desarrollador usa qué herramientas, cuándo están más activos

💪 Por Qué Importa

Deja de pedir actualizaciones de estado a tu equipo. Tu IA ahora puede decirte:

  • "¿Quién escribió más código esta semana?"
  • "¿Cuál es nuestra tendencia de gasto en IA?"
  • "¿Qué miembro del equipo tiene la tasa de aceptación de IA más alta?"
  • "Muéstrame los patrones de uso del último mes"

📸 Míralo en Acción

You: "Show me team usage for this week"

AI: Here's your team's activity for the last 7 days:

👥 TEAM MEMBERS
1. James Brady (Owner) - james@jamesbrady.org
2. Cody Vincent - vincent.cody298@gmail.com
3. 2 other members

📊 USAGE STATISTICS
• Most Active: Cody Vincent (641 AI requests)
• Most Productive: Cody Vincent (29,477 lines added)
• Top Models: claude-4-opus, gpt-4, claude-sonnet
• Active Days: 2/4 members coding daily

💰 SPENDING: $1,957.32 total
• James Brady: $1,848.57 (94.4%)
• Cody Vincent: $73.76 (3.8%)
• Others: $34.99 (1.8%)

Instalación

Requisitos Previos

  • Node.js 16+
  • Una clave API de administrador de equipo de Cursor (obténla desde la configuración de tu equipo)

Instalar desde npm

npm install -g cursor-admin-mcp

Instalar desde el código fuente

git clone https://github.com/h3ro-dev/cursor-admin-mcp.git
cd cursor-admin-mcp
npm install
npm run build

Configuración

1. Configura tu clave API

Crea un archivo .env en la raíz del proyecto (o establece la variable de entorno):

CURSOR_API_KEY=key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. Configura en Claude Desktop

Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "cursor-admin": {
      "command": "npx",
      "args": ["cursor-admin-mcp"],
      "env": {
        "CURSOR_API_KEY": "key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

3. Configura en Cursor

Añade a tu configuración de Cursor:

{
  "mcpServers": {
    "cursor-admin": {
      "command": "node",
      "args": ["/path/to/cursor-admin-mcp/dist/index.js"],
      "env": {
        "CURSOR_API_KEY": "key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Herramientas Disponibles

1. get_team_members

Obtén una lista de todos los miembros del equipo con su información.

Ejemplo de uso en Claude/Cursor:

"Show me all team members"
"List everyone on the team with their roles"

Devuelve:

[
  {
    "name": "John Doe",
    "email": "john@example.com",
    "role": "admin"
  },
  {
    "name": "Jane Smith",
    "email": "jane@example.com",
    "role": "member"
  }
]

2. get_daily_usage_data

Recupera métricas de uso detalladas para un rango de fechas específico (máximo 90 días).

Parámetros:

  • startDate: Fecha de inicio en milisegundos de época
  • endDate: Fecha de fin en milisegundos de época

Ejemplo de uso en Claude/Cursor:

"Show me usage data for the last 7 days"
"What was our team's AI acceptance rate last month?"
"Which models did we use most this week?"

Devuelve:

[
  {
    "date": "2024-01-15",
    "linesAdded": 1523,
    "linesDeleted": 342,
    "acceptanceRate": 0.82,
    "requestTypes": {
      "completion": 234,
      "chat": 56,
      "edit": 23
    },
    "mostUsedModels": ["gpt-4", "claude-3"],
    "mostUsedExtensions": ["copilot", "cursor-tab"],
    "clientVersion": "0.42.0"
  }
]

3. get_spending_data

Obtén información de gastos del equipo con filtrado y paginación opcionales.

Parámetros Opcionales:

  • searchTerm: Filtrar por término de búsqueda
  • sortBy: Campo por el que ordenar
  • sortDirection: "asc" o "desc"
  • page: Número de página
  • pageSize: Elementos por página

Ejemplo de uso en Claude/Cursor:

"Show me team spending"
"Who are the top spenders this month?"
"Search for John's spending data"

Devuelve:

{
  "members": [
    {
      "email": "john@example.com",
      "name": "John Doe",
      "spending": 125.50
    }
  ],
  "total": 1250.00,
  "page": 1,
  "pageSize": 10
}

Desarrollo

Preparación

# Clone the repository
git clone https://github.com/h3ro-dev/cursor-admin-mcp.git
cd cursor-admin-mcp

# Install dependencies
npm install

# Copy environment file
cp .env.example .env
# Edit .env and add your CURSOR_API_KEY

# Run in development mode
npm run dev

Pruebas

# Run tests
npm test

# Run tests with coverage
npm test -- --coverage

# Run tests in watch mode
npm run test:watch

Compilación

# Build the project
npm run build

# Run the built version
npm start

Estructura del Proyecto

cursor-admin-mcp/
├── src/
│   ├── index.ts          # MCP server implementation
│   └── cursor-client.ts  # Cursor API client
├── tests/
│   └── cursor-client.test.ts  # Test suite
├── examples/
│   └── (example scripts)
├── docs/
│   └── (additional documentation)
├── package.json
├── tsconfig.json
├── jest.config.js
├── .env.example
├── .gitignore
└── README.md

Ejemplos

Uso Básico

// The MCP server handles all the communication
// Just use natural language in Claude/Cursor:

"Show me all team members and their roles"
"Get usage data for January 2024"
"What's our team's total spending this month?"
"Show me the AI acceptance rate trend for the last 30 days"

Consultas Avanzadas

// Complex date ranges
"Compare usage between last week and this week"

// Specific metrics
"Which team members have the highest AI suggestion acceptance rate?"

// Spending analysis
"Show me spending sorted by amount for team members whose name contains 'John'"

Manejo de Errores

El servidor incluye un manejo integral de errores:

  • Clave API Inválida: Mensaje de error claro si falla la autenticación
  • Límite de Velocidad: Respeta los límites de velocidad de la API de Cursor
  • Validación de Fechas: Asegura que los rangos de fechas no excedan 90 días
  • Errores de Red: Manejo elegante de problemas de conexión
  • Parámetros Inválidos: Mensajes de validación detallados

Seguridad

  • Las claves API nunca se registran ni se exponen
  • Toda la comunicación utiliza HTTPS
  • Autenticación básica según los requisitos de la API de Cursor
  • Variables de entorno para datos sensibles

Contribuciones

¡Las contribuciones son bienvenidas! Por favor:

  1. Haz un fork del repositorio
  2. Crea una rama de características (git checkout -b feature/amazing-feature)
  3. Realiza tus cambios (git commit -m 'Add amazing feature')
  4. Empuja a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción

Directrices de Desarrollo

  • Escribe pruebas para nuevas características
  • Actualiza la documentación
  • Sigue las mejores prácticas de TypeScript
  • Asegúrate de que todas las pruebas pasen
  • Añade ejemplos para nuevas funcionalidades

Solución de Problemas

Problemas con la Clave API

Si obtienes errores de autenticación:

  1. Verifica que tu clave API comience con key_
  2. Asegúrate de ser administrador del equipo
  3. Comprueba que la clave no haya sido revocada

Problemas de Conexión

Si el servidor no se conecta:

  1. Revisa tu conexión a internet
  2. Verifica que la API de Cursor sea accesible
  3. Comprueba si hay restricciones de firewall

Errores de Rango de Fechas

Si obtienes errores de rango de fechas:

  1. Asegúrate de que tu rango de fechas esté dentro de 90 días
  2. Usa milisegundos de época para las fechas
  3. Verifica que endDate > startDate

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles

Agradecimientos

Soporte


Construido por Utlyze

Utlyze - Operaciones de Cero Latencia a través de Empleados de IA

Estamos pioneros en el futuro del trabajo creando empleados de IA que se integran perfectamente con tus flujos de trabajo existentes. El Servidor MCP de Cursor Admin es solo un ejemplo de cómo estamos haciendo que los equipos sean más eficientes mediante la automatización inteligente.

Visita Utlyze.com | Contáctanos | LinkedIn

Hecho con ❤️ por el equipo de Utlyze para la comunidad de Cursor