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
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:
- Descubre lo que es posible.
gd_list_field_types— ve cada tipo de campo, agrupado por categoría. - Diseña un esquema.
gd_design_schema(prompt="E-commerce customers with name, email, and signup date")— propone un arrayfieldsa partir de inglés simple. - Genera los datos.
gd_generate_dataset(fields=..., num_rows=10, format="csv")— devuelve las filas. - Refina si es necesario. Llama a
gd_design_schemade nuevo, esta vez pasandomessages(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_data→gd_generate_datasetlist_field_types→gd_list_field_typesget_field_options→gd_get_field_type_optionspropose_schema→gd_design_schema(primera llamada, sinmessages/current_schema)refine_schema→gd_design_schema(pasamessages+current_schemajuntos)get_api_usage→gd_get_usagelist_projects→gd_list_projects(ahora paginado:limit/offset)generate_project→gd_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, ozip(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_typedebe 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)
| Capacidad | Gratis | Premium |
|---|---|---|
| Máx. filas / solicitud | 100 | 100,000 |
| Máx. columnas | 10 | 50 |
| Formatos | CSV | CSV, JSON, XML, Parquet |
| Llamadas API diarias | 10 | 1,000 |
Los límites son aplicados por la API de Django, no por este servidor MCP.
Configuración
| Variable | Requerido | Predeterminado |
|---|---|---|
GENERATE_DATA_API_KEY | Sí | — |
GENERATE_DATA_API_BASE_URL | No | https://api.generate-data.com |
Solución de problemas
| Síntoma | Solución |
|---|---|
GENERATE_DATA_API_KEY is required | Establece la variable de entorno antes de iniciar el servidor |
HTTP 401 / auth_failed | Clave inválida o desactivada |
HTTP 429 / rate_limited | Se alcanzó el límite por minuto o diario; espera o mejora de nivel |
HTTP 403 / tier_forbidden | El nivel gratuito no tiene acceso; mejora de plan |
unsupported_format | format debe ser uno de csv, json, xml, parquet, zip |
invalid_input en un tipo de campo o ID de proyecto | El 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.