generate-data-mcp

Um servidor MCP para Generate-Data.com — gere conjuntos de dados sintéticos, projete schemas a partir de linguagem natural e gerencie Projects, diretamente do seu agente.

Documentação

generate-data-mcp

PyPI

Um servidor MCP para Generate-Data.com — gere conjuntos de dados sintéticos, projete esquemas a partir de linguagem natural e gerencie Projetos, diretamente do seu agente.

Wrapper HTTP leve sobre a API do Generate-Data.com. Nenhuma lógica de geração vive neste repositório — é uma interface curada e amigável para agentes sobre a coisa real: 7 ferramentas, um formato de resposta consistente, saída binária segura e validação no lado do servidor para cada entrada.

Instalação (configuração em 30 segundos)

Você precisa de uma chave de API do Generate-Data.com primeiro — crie uma em Configurações → Acesso à API em generate-data.com.

Claude Desktop / Cursor (recomendado)

Adicione isto à configuração do seu 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 busca e executa a versão publicada mais recente sob demanda — sem etapa de instalação separada, nada para atualizar manualmente. Reinicie seu cliente e as 7 ferramentas gd_* estarão disponíveis.

Não faça commit de um arquivo de configuração contendo sua chave de API real.

uv / uvx (qualquer 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 desenvolvimento local diretamente contra este repositório:

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

Verifique se funciona

export GENERATE_DATA_API_KEY=your-key
generate-data-mcp

Do seu cliente MCP, invoque gd_get_usage — deve retornar seu plano e contagens de chamadas. Em seguida, invoque gd_list_field_types — deve retornar o mapa de categorias.

Pronto — você está pronto para gerar dados.

Peça ao seu agente algo como "gere 50 linhas de clientes fictícios de e-commerce como CSV" e ele chamará gd_design_schema e depois gd_generate_dataset por conta própria.

Início rápido

Uma sessão típica se parece com isto — o agente encadeia ferramentas por conta própria, você apenas descreve o resultado:

  1. Descubra o que é possível. gd_list_field_types — veja cada tipo de campo, agrupado por categoria.
  2. Projete um esquema. gd_design_schema(prompt="E-commerce customers with name, email, and signup date") — propõe um array fields a partir de inglês simples.
  3. Gere os dados. gd_generate_dataset(fields=..., num_rows=10, format="csv") — retorna as linhas.
  4. Refine se necessário. Chame gd_design_schema novamente, desta vez passando messages (a conversa em andamento) + current_schema (o resultado anterior) juntos — ele refina em vez de propor do zero.

Cada ferramenta retorna o mesmo envelope: {"ok": true, "summary": "...", "data": {...}} em caso de sucesso, ou {"ok": false, "error": {"code": ..., "message": ...}} em caso de falha — erros sempre dizem o que fazer em seguida, nunca um stack trace bruto.

Desenvolvimento local

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

Aponte para um backend Django rodando localmente em vez da API hospedada.

Migrando da v1

A v2.0.0 renomeia todas as ferramentas (mudança que quebra compatibilidade). Nome antigo → nome novo:

  • generate_data → gd_generate_dataset
  • list_field_types → gd_list_field_types
  • get_field_options → gd_get_field_type_options
  • propose_schema → gd_design_schema (primeira chamada, sem messages/current_schema)
  • refine_schema → gd_design_schema (passe messages + current_schema juntos)
  • get_api_usage → gd_get_usage
  • list_projects → gd_list_projects (agora paginado: limit/offset)
  • generate_project → gd_generate_project (formatos binários agora retornados codificados em base64, não utf-8 corrompido)

Referência

Todas as 7 ferramentas, divididas por plano.

Plano gratuito

  • gd_generate_dataset — Gere linhas de conjunto de dados sintéticos a partir de uma lista de campos. format: csv, json, xml, parquet ou zip (formatos binários retornam codificados em base64).
  • gd_list_field_types — Liste todos os tipos de campo disponíveis agrupados por categoria. Não recebe argumentos.
  • gd_get_field_type_options — Obtenha o esquema de opções de configuração para um tipo de campo. field_type deve corresponder a ^[a-z0-9_]+$.
  • gd_design_schema — Projete um esquema de conjunto de dados a partir de linguagem natural, ou refine um existente — uma ferramenta para tanto a primeira proposta quanto as rodadas de conversa de acompanhamento.
  • gd_get_usage — Obtenha estatísticas de uso atuais da chave de API: chamadas hoje, plano, limites. Não recebe argumentos.

Plano premium

Requer uma chave de API Premium — chaves do plano gratuito recebem um erro tier_forbidden.

  • gd_list_projects — Liste os Projetos do usuário, paginado (limit/offset, padrão 20/0).
  • gd_generate_project — Gere todas as tabelas em um Projeto e baixe o resultado. Mesmas regras de formato/binário que gd_generate_dataset.

Limites por plano (chave de API)

CapacidadeGratuitoPremium
Máx. linhas / solicitação100100.000
Máx. colunas1050
FormatosCSVCSV, JSON, XML, Parquet
Chamadas diárias de API101.000

Os limites são aplicados pela API Django, não por este servidor MCP.

Configuração

VariávelObrigatóriaPadrão
GENERATE_DATA_API_KEYSim—
GENERATE_DATA_API_BASE_URLNãohttps://api.generate-data.com

Solução de problemas

SintomaCorreção
GENERATE_DATA_API_KEY is requiredDefina a variável de ambiente antes de iniciar o servidor
HTTP 401 / auth_failedChave inválida ou desativada
HTTP 429 / rate_limitedLimite por minuto ou diário atingido; aguarde ou faça upgrade do plano
HTTP 403 / tier_forbiddenPlano gratuito sem acesso; faça upgrade do plano
unsupported_formatformat deve ser um de csv, json, xml, parquet, zip
invalid_input em um tipo de campo ou ID de projetoO valor falhou na validação do lado do servidor antes de qualquer solicitação ser enviada — verifique ortografia/tipo

Desenvolvimento

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

Documentação da API

A documentação está em generate-data.com. Consulte os docstrings das ferramentas deste repositório (generate_data_mcp/server.py) para as formas autoritativas de solicitação/resposta.