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.
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.
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.
https://entityenricher.ai/api/mcp/.Para clientes configurados através de um ficheiro JSON em vez de um início de sessão interativo (Claude Desktop, Continue, Zed).
ent_… — só é mostrado uma vez.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.
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.
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.
| Categoria | Ferramenta | Descrição |
|---|---|---|
| Descoberta | list_models | Listar os modelos LLM disponíveis + os profile_limits do seu plano para que o Claude se autolimite antes de atingir o HTTP 402. |
| Esquemas | list_schemas | Listar os schemas JSON guardados na sua organização, os fixados primeiro. |
| Esquemas | get_schema | Obtenha o conteúdo completo de um esquema por UUID. |
| Esquemas | generate_sample | Gere 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. |
| Esquemas | create_schema_from_sample | Gere 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. |
| Esquemas | edit_schema | Modificação de um schema existente em linguagem natural. Devolve o novo conteúdo + 5 sugestões de acompanhamento. |
| Esquemas | save_schema | Guarde um esquema criado diretamente pelo Claude — sem chamada a LLM, sem custo, validado no lado do servidor. |
| Esquemas | update_schema | Renomeie, substitua conteúdo, altere etiquetas ou fixe um esquema guardado sem uma chamada a LLM. |
| Esquemas | delete_schema | Elimine (soft delete) um esquema guardado por UUID. |
| Enriquecimento | enrich_entity | Enriquecimento 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. |
| Enriquecimento | start_batch_enrichment | Enriqueç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. |
| Enriquecimento | fetch_entities | Obtenha 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. |
| Enriquecimento | retry_expertises | Reexecute 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. |
| Enriquecimento | merge_records | Combine 2 ou mais registos existentes num único resultado fundido — baseado em regras ou com um modelo de arbitragem LLM. |
| Trabalhos | get_job_status | Consulte qualquer trabalho assíncrono (lote, geração de amostras, execução de benchmark): contadores de progresso, resumos finais e perguntas de esclarecimento pendentes. |
| Trabalhos | cancel_job | Cancele um trabalho pendente, em execução ou em pausa. |
| Trabalhos | answer_job_question | Responda às perguntas de esclarecimento de um trabalho em pausa e retome-o — a metade interativa do generate_sample. |
| Benchmarks | list_benchmark_scenarios | Liste os seus cenários de benchmark guardados (testes de enriquecimento reutilizáveis). |
| Benchmarks | get_benchmark_scenario | Um cenário com os respetivos resultados pontuados por modelo (qualidade / custo / velocidade). |
| Benchmarks | create_benchmark_scenario | Crie um cenário: esquema + entidade fixa + estratégia + avaliador de pontuação. Exige a função de proprietário + um plano com benchmarks. |
| Benchmarks | update_benchmark_scenario | Atualize a definição de teste ou a configuração de pontuação de um cenário; os resultados existentes são marcados como desatualizados. |
| Benchmarks | set_benchmark_reference | Guarde o resultado de referência de ouro e marque-o como verificado — obrigatório antes de uma execução. |
| Benchmarks | delete_benchmark_scenario | Elimine um cenário e os seus resultados. |
| Benchmarks | run_benchmark | Execute 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. |
| Registos | list_records | Percorra registos anteriores com filtros por tipo, êxito, modelo, tarefa e pesquisa de texto livre. |
| Registos | get_record | Saída estruturada completa + erros de validação para um registo. |
| Registos | get_stats | Estatísticas agregadas da organização: totais, taxa de sucesso, tokens, custo. |
| Anexos | upload_attachment | Carregar um ficheiro base64 (filename, content_base64, media_type?) e devolver o respetivo ID de anexo para utilização em enrich_entity. |
| Anexos | delete_attachment | Eliminar um anexo por ID — um passo prático de limpeza pós-enriquecimento. |
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 URI | Descriçã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. |
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.
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_code | Quando |
|---|---|
| invalid_request | UUID malformado, argumentos mutuamente exclusivos (schema_id + target_schema) ou falha na validação do corpo do pedido. |
| prompt_limit_reached | Quota de prompts diária / semanal / mensal esgotada (HTTP 402). O corpo inclui período, limite, utilizado e necessário. |
| insufficient_credits | A 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_exceeded | Foram pedidos mais modelos do que o plano permite (HTTP 402). Devolve o limite + o solicitado. |
| language_limit_exceeded | Foram pedidos mais idiomas do que o plano permite (HTTP 402). |
| concurrent_job_limit_reached | Demasiadas 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_plan | As ferramentas de benchmark exigem a função de proprietário e um plano que inclua Model Benchmarks (HTTP 403). |
| enrichment_timeout | A tarefa excedeu timeout_seconds. Sugira menos models ou dividir a entity. |
| schema_generation_timeout | A geração de esquemas excedeu o timeout_seconds. |
| schema_generation_failed | Erro do LLM a montante durante a geração do schema (HTTP 502). |
| cancelled | A tarefa foi cancelada a meio da execução (HTTP 499). |
| not_found | O ID do esquema ou do registo não existe na sua organização. |
| http_error | Genérico para erros HTTP sem um corpo de detalhe estruturado. |
get_stats abrange os resumos do lado do chat; os painéis completos permanecem na aplicação.