generate-data-mcp

Un servidor MCP para Generate-Data.com: genera conjuntos de datos sintéticos, diseña esquemas a partir de lenguaje natural y gestiona Projects, directamente desde tu agente.

Documentación

generate-data-mcp

PyPI

Un servidor MCP para Generate-Data.com — genera conjuntos de datos sintéticos, diseña esquemas a partir de lenguaje natural y gestiona Proyectos, directamente desde tu agente.

Wrapper HTTP ligero sobre la API de Generate-Data.com. No hay lógica de generación en este repositorio: es una interfaz curada y amigable para agentes sobre el servicio real: 7 herramientas, una forma de respuesta consistente, salida segura para binarios y validación en el servidor para cada entrada.

Instalación (configuración en 30 segundos)

Primero necesitas una clave API de Generate-Data.com: créala en Configuración → Acceso API en generate-data.com.

Claude Desktop / Cursor (recomendado)

Añade esto a la configuración de tu cliente MCP (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json):

{
  "mcpServers": {
    "generate-data": {
      "command": "uvx",
      "args": ["generate-data-mcp"],
      "env": {
        "GENERATE_DATA_API_KEY": "your-uuid-key-here"
      }
    }
  }
}

uvx obtiene y ejecuta la última versión publicada bajo demanda: no hay paso de instalación separado, nada que actualizar manualmente. Reinicia tu cliente y las 7 herramientas gd_* estarán disponibles.

No confirmes un archivo de configuración que contenga tu clave API real.

uv / uvx (cualquier cliente MCP)
# run once, ad hoc:
uvx generate-data-mcp

# or install it as a persistent CLI tool:
uv tool install generate-data-mcp
pip (alternativa)
pip install generate-data-mcp

Para desarrollo local contra este repositorio directamente:

git clone https://github.com/ns-3e/generate-data-mcp.git
cd generate-data-mcp
pip install -e ".[dev]"

Verifica que funciona

export GENERATE_DATA_API_KEY=your-key
generate-data-mcp

Desde tu cliente MCP, invoca gd_get_usage — debería devolver tu nivel y contadores de llamadas. Luego invoca gd_list_field_types — debería devolver el mapa de categorías.

¡Bam! — estás listo para generar datos.

Pídele a tu agente algo como "genera 50 filas de clientes falsos de comercio electrónico como CSV" y llamará a gd_design_schema y luego a gd_generate_dataset por su cuenta.

Inicio rápido

Una sesión típica se ve así: el agente encadena herramientas por su cuenta, tú solo describes el resultado:

  1. Descubre lo que es posible. gd_list_field_types — ve cada tipo de campo, agrupado por categoría.
  2. Diseña un esquema. gd_design_schema(prompt="E-commerce customers with name, email, and signup date") — propone un array fields a partir de inglés simple.
  3. Genera los datos. gd_generate_dataset(fields=..., num_rows=10, format="csv") — devuelve las filas.
  4. Refina si es necesario. Llama a gd_design_schema de nuevo, esta vez pasando messages (la conversación en curso) + current_schema (el resultado anterior) juntos — refina en lugar de proponer desde cero.

Cada herramienta devuelve el mismo envoltorio: {"ok": true, "summary": "...", "data": {...}} en éxito, o {"ok": false, "error": {"code": ..., "message": ...}} en fallo — los errores siempre te dicen qué hacer a continuación, nunca un traceback crudo.

Desarrollo local

{
  "env": { "GENERATE_DATA_API_BASE_URL": "http://localhost:8000" }
}

Apunta a un backend Django que se ejecute localmente en lugar de la API alojada.

Migración desde v1

v2.0.0 renombra cada herramienta (cambio disruptivo). Nombre antiguo → nombre nuevo:

  • generate_datagd_generate_dataset
  • list_field_typesgd_list_field_types
  • get_field_optionsgd_get_field_type_options
  • propose_schemagd_design_schema (primera llamada, sin messages/current_schema)
  • refine_schemagd_design_schema (pasa messages + current_schema juntos)
  • get_api_usagegd_get_usage
  • list_projectsgd_list_projects (ahora paginado: limit/offset)
  • generate_projectgd_generate_project (los formatos binarios ahora se devuelven codificados en base64, no utf-8 corrupto)

Referencia

Las 7 herramientas, divididas por nivel.

Nivel gratuito

  • gd_generate_dataset — Genera filas de conjuntos de datos sintéticos a partir de una lista de campos. format: csv, json, xml, parquet, o zip (los formatos binarios se devuelven codificados en base64).
  • gd_list_field_types — Lista todos los tipos de campo disponibles agrupados por categoría. No toma argumentos.
  • gd_get_field_type_options — Obtén el esquema de opciones de configuración para un tipo de campo. field_type debe coincidir con ^[a-z0-9_]+$.
  • gd_design_schema — Diseña un esquema de conjunto de datos a partir de lenguaje natural, o refina uno existente: una herramienta tanto para la primera propuesta como para los turnos de conversación posteriores.
  • gd_get_usage — Obtén estadísticas de uso actuales de la clave API: llamadas de hoy, nivel, límites. No toma argumentos.

Nivel premium

Requiere una clave API Premium: las claves del nivel gratuito reciben un error tier_forbidden.

  • gd_list_projects — Lista los Proyectos del usuario, paginados (limit/offset, por defecto 20/0).
  • gd_generate_project — Genera todas las tablas de un Proyecto y descarga el resultado. Mismas reglas de formato/binario que gd_generate_dataset.

Límites por nivel (clave API)

CapacidadGratisPremium
Máx. filas / solicitud100100,000
Máx. columnas1050
FormatosCSVCSV, JSON, XML, Parquet
Llamadas API diarias101,000

Los límites son aplicados por la API de Django, no por este servidor MCP.

Configuración

VariableRequeridoPredeterminado
GENERATE_DATA_API_KEY
GENERATE_DATA_API_BASE_URLNohttps://api.generate-data.com

Solución de problemas

SíntomaSolución
GENERATE_DATA_API_KEY is requiredEstablece la variable de entorno antes de iniciar el servidor
HTTP 401 / auth_failedClave inválida o desactivada
HTTP 429 / rate_limitedSe alcanzó el límite por minuto o diario; espera o mejora de nivel
HTTP 403 / tier_forbiddenEl nivel gratuito no tiene acceso; mejora de plan
unsupported_formatformat debe ser uno de csv, json, xml, parquet, zip
invalid_input en un tipo de campo o ID de proyectoEl valor falló la validación en el servidor antes de enviar cualquier solicitud: verifica ortografía/tipo

Desarrollo

git clone https://github.com/ns-3e/generate-data-mcp.git
cd generate-data-mcp
pip install -e ".[dev]"
pytest tests/ -v

Documentación de la API

La documentación está en generate-data.com. Consulta los docstrings de las herramientas de este repositorio (generate_data_mcp/server.py) para las formas autoritativas de solicitud/respuesta.