Servidor MCP (claude.ai / Claude Desktop / Code / Cursor) - Documentação do Entity Enricher

Servidor MCP (Claude Desktop / Code / Cursor)

O Entity Enricher disponibiliza um servidor Model Context Protocol incorporado em /api/mcp — liste os seus esquemas, enriqueça uma entidade, inspecione o resultado e resolva um aviso de classificação tudo a partir de um único chat do Claude. Sem necessidade de editor de fluxos de trabalho.

Porquê MCP, se já existe n8n + Make?

Formato diferente, caso de uso diferente. Os conectores n8n e Make encapsulam a API para automação de fluxos de trabalho: acionadores, execuções agendadas, pipelines com vários passos, estado persistente. O MCP encapsula-a para chat interativo: perguntas pontuais, enrichments exploratórios, esclarecimentos de seguimento. Os fluxos de trabalho têm formato de batch, os chats têm formato de conversa — a superfície difere e a experiência de utilização também.

A funcionalidade indispensável que só o MCP desbloqueia: retoma interativa da classificação. Quando o classificador de pré-verificação rejeita a sua entidade (por exemplo, pediu para enriquecer "Titan" contra um esquema de Planeta, mas Titan é uma lua), o n8n/Make têm de cancelar automaticamente porque não são interativos. O MCP apresenta o aviso ao Claude, o Claude pede-lhe para confirmar e, ao responder "sim", a ferramenta é executada novamente sem o classificador. Sem falhas a meio do pipeline, sem ter de recomeçar do zero.

Início rápido

Opção 1 — OAuth (recomendado)

Para claude.ai, Claude Code, Cursor e qualquer cliente MCP que suporte o fluxo OAuth padrão. Sem chave de API para criar ou colar — o cliente deteta o servidor de autorização automaticamente.

  1. Adicione o Entity Enricher como conector (em claude.ai: Definições → Conectores → Adicionar conector personalizado ou selecione-o no diretório) com o URL https://entityenricher.ai/api/mcp/.
  2. O seu navegador abre o ecrã de consentimento do Entity Enricher — inicie sessão se necessário e clique em Autorizar. A ligação atua em seu nome com a sua própria função.
  3. Faça a gestão ou revogue a ligação a qualquer momento em Chaves de API → Aplicações Ligadas — a revogação corta o acesso de imediato.

Opção 2 — chave de API (configuração JSON estática)

Para clientes configurados através de um ficheiro JSON em vez de um início de sessão interativo (Claude Desktop, Continue, Zed).

  1. 1. Criar uma chave de API
    Na interface web do Entity Enricher: Definições → Chaves de API → Nova chave de acesso da organização. Escolha um papel (operator para leitura na maioria dos casos, editor para criar/editar schemas, owner para controlo total). Copie o valor ent_… — só é mostrado uma vez.
  2. 2. Registe-se no seu cliente MCP

    Para Claude Desktop, edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

    {
      "mcpServers": {
        "entityenricher": {
          "url": "https://entityenricher.ai/api/mcp/",
          "headers": { "X-API-Key": "ent_your_key_here" }
        }
      }
    }

    Reinicie o Claude Desktop. O mesmo excerto funciona para o Claude Code, Cursor, Continue e Zed — qualquer cliente compatível com MCP.

Experimente

Numa nova conversa: "Lista os meus schemas do Entity Enricher e, depois, enriquece a Sanofi face ao schema de empresa farmacêutica usando o Claude Sonnet." O Claude descobre as ferramentas automaticamente, escolhe a certa, pede-lhe para confirmar a escolha de model e schema e transmite o resultado inline.

Ferramentas

As 29 ferramentas cobrem toda a superfície de enriquecimento e de criação de esquemas. O comportamento é idêntico ao dos endpoints REST que encapsulam (mesma validação, faturação e limites de plano) — quando a interface web recebe uma correção, o MCP recebe-a também. O trabalho de longa duração (enriquecimento em lote, geração de amostras, execuções de benchmark) é assíncrono: a ferramenta de início devolve um job_id, o Claude consulta get_job_status e obtém os resultados persistidos dos seus registos assim que o trabalho termina.

CategoriaFerramentaDescrição
Descobertalist_modelsListar os modelos LLM disponíveis + os profile_limits do seu plano para que o Claude se autolimite antes de atingir o HTTP 402.
Esquemaslist_schemasListar os schemas JSON guardados na sua organização, os fixados primeiro.
Esquemasget_schemaObtenha o conteúdo completo de um esquema por UUID.
Esquemasgenerate_sampleGere uma entidade de amostra realista a partir de uma descrição de tipo de entidade — o primeiro passo natural antes da geração de esquemas. Com anexos, um planeador interativo pode pausar com perguntas de esclarecimento.
Esquemascreate_schema_from_sampleGere um esquema JSON a partir de um dicionário de entidade de amostra através de um LLM, opcionalmente fundamentado em documentos de origem carregados (attachment_ids). O resultado é guardado automaticamente.
Esquemasedit_schemaModificação de um schema existente em linguagem natural. Devolve o novo conteúdo + 5 sugestões de acompanhamento.
Esquemassave_schemaGuarde um esquema criado diretamente pelo Claude — sem chamada a LLM, sem custo, validado no lado do servidor.
Esquemasupdate_schemaRenomeie, substitua conteúdo, altere etiquetas ou fixe um esquema guardado sem uma chamada a LLM.
Esquemasdelete_schemaElimine (soft delete) um esquema guardado por UUID.
Enriquecimentoenrich_entityEnriquecimento multi-modelo com auto-fusão opcional. Aceita uma lista opcional attachment_ids. As incompatibilidades de classificação devolvem uma resposta sem erro para que o Claude possa pedir ao utilizador que confirme e tente novamente.
Enriquecimentostart_batch_enrichmentEnriqueça até 100 entidades de forma assíncrona — pipeline completo por entidade com fusão automática. Devolve um job_id; os resultados são guardados nos seus registos.
Enriquecimentofetch_entitiesObtenha um array JSON de entidades a partir de uma API REST externa no lado do servidor (autenticação bearer / api_key / basic) — combina com o enriquecimento em lote.
Enriquecimentoretry_expertisesReexecute apenas os domínios de especialização falhados de um registo, incorporando os valores recuperados — sem voltar a pagar pelo que já foi bem-sucedido.
Enriquecimentomerge_recordsCombine 2 ou mais registos existentes num único resultado fundido — baseado em regras ou com um modelo de arbitragem LLM.
Trabalhosget_job_statusConsulte qualquer trabalho assíncrono (lote, geração de amostras, execução de benchmark): contadores de progresso, resumos finais e perguntas de esclarecimento pendentes.
Trabalhoscancel_jobCancele um trabalho pendente, em execução ou em pausa.
Trabalhosanswer_job_questionResponda às perguntas de esclarecimento de um trabalho em pausa e retome-o — a metade interativa do generate_sample.
Benchmarkslist_benchmark_scenariosListe os seus cenários de benchmark guardados (testes de enriquecimento reutilizáveis).
Benchmarksget_benchmark_scenarioUm cenário com os respetivos resultados pontuados por modelo (qualidade / custo / velocidade).
Benchmarkscreate_benchmark_scenarioCrie um cenário: esquema + entidade fixa + estratégia + avaliador de pontuação. Exige a função de proprietário + um plano com benchmarks.
Benchmarksupdate_benchmark_scenarioAtualize a definição de teste ou a configuração de pontuação de um cenário; os resultados existentes são marcados como desatualizados.
Benchmarksset_benchmark_referenceGuarde o resultado de referência de ouro e marque-o como verificado — obrigatório antes de uma execução.
Benchmarksdelete_benchmark_scenarioElimine um cenário e os seus resultados.
Benchmarksrun_benchmarkExecute um cenário numa lista explícita de modelos, em todos os modelos ativos de fornecedores selecionados, ou em todos os modelos ativos — cada resultado é pontuado automaticamente em relação à referência.
Registoslist_recordsPercorra registos anteriores com filtros por tipo, êxito, modelo, tarefa e pesquisa de texto livre.
Registosget_recordSaída estruturada completa + erros de validação para um registo.
Registosget_statsEstatísticas agregadas da organização: totais, taxa de sucesso, tokens, custo.
Anexosupload_attachmentCarregar um ficheiro base64 (filename, content_base64, media_type?) e devolver o respetivo ID de anexo para utilização em enrich_entity.
Anexosdelete_attachmentEliminar um anexo por ID — um passo prático de limpeza pós-enriquecimento.

Recursos

Os recursos permitem que o Claude navegue pelos dados sem gastar uma chamada de ferramenta — o cliente LLM trata-os como ficheiros. Ambos os tipos de recurso são apresentados como Markdown para uma exibição inline económica.

Modelo de URIDescrição
enricher://schemas/{schema_id}Um esquema guardado apresentado como Markdown — cabeçalho de metadados + o GeneratedJsonSchema como um bloco JSON delimitado.
enricher://records/{record_id}Um registo de enriquecimento anterior apresentado em Markdown — metadados + saída estruturada + erros de validação.

A funcionalidade indispensável: retoma interativa da classificação

Quando pede à enrich_entity para utilizar um classification model e a entity não corresponde ao tipo do schema, a ferramenta devolve uma resposta sem erro com detalhes estruturados. O Claude lê-a, apresenta-lhe o raciocínio e (após a sua confirmação) repete com force_after_classification_warning=true — o que remove o classificador na nova tentativa.

{
  "success": false,
  "error_code": "classification_warning",
  "message": "Pre-flight classification rejected the entity. ...",
  "classification": {
    "status": "mismatch",
    "reasoning": "Titan is a moon of Saturn, not a planet.",
    "confidence": 0.97
  },
  "job_id": "..."
}

O n8n e o Make cancelam automaticamente neste estado porque não conseguem perguntar ao utilizador a meio do pipeline. O MCP consegue, e é essa única diferença que justifica a existência do conector.

A mesma interatividade alimenta um segundo fluxo: quando o generate_sample é executado com documentos de origem, o seu planeador pode pausar com perguntas de esclarecimento estruturais. O Claude transmite-as e retoma o trabalho com answer_job_question — ronda após ronda, até a amostra ser gerada.

Códigos de erro

Os erros de ferramenta são projetados em dicionários estruturados com um campo error_code para que o Claude possa fazer correspondência de padrões em vez de analisar texto livre. A camada HTTP mapeia de forma clara: 402 → erro de quota ou de crédito, 422 → aviso de classificação, 504 → tempo limite, 502 → falha do LLM a montante.

error_codeQuando
invalid_requestUUID malformado, argumentos mutuamente exclusivos (schema_id + target_schema) ou falha na validação do corpo do pedido.
prompt_limit_reachedQuota de prompts diária / semanal / mensal esgotada (HTTP 402). O corpo inclui período, limite, utilizado e necessário.
insufficient_creditsA org tem a faturação ativada, mas o saldo de credits é demasiado baixo para iniciar o trabalho (HTTP 402). O corpo inclui o saldo e um URL de compra.
model_limit_exceededForam pedidos mais modelos do que o plano permite (HTTP 402). Devolve o limite + o solicitado.
language_limit_exceededForam pedidos mais idiomas do que o plano permite (HTTP 402).
concurrent_job_limit_reachedDemasiadas tarefas de enriquecimento ativas para esta organização. Aguarde ou atualize o plano.
classification_warning⚡ Não é um erro: o classificador de pré-verificação rejeitou a entidade. A resposta inclui o contexto da classificação para que o Claude possa pedir ao utilizador que confirme e tente novamente com force_after_classification_warning=true.
benchmarks_not_in_planAs ferramentas de benchmark exigem a função de proprietário e um plano que inclua Model Benchmarks (HTTP 403).
enrichment_timeoutA tarefa excedeu timeout_seconds. Sugira menos models ou dividir a entity.
schema_generation_timeoutA geração de esquemas excedeu o timeout_seconds.
schema_generation_failedErro do LLM a montante durante a geração do schema (HTTP 502).
cancelledA tarefa foi cancelada a meio da execução (HTTP 499).
not_foundO ID do esquema ou do registo não existe na sua organização.
http_errorGenérico para erros HTTP sem um corpo de detalhe estruturado.

Omissões deliberadas

Ver também