Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.editalmd/editalmd

REMOTE · EDITALMD.COM · SCANNED OCT 4

Brazilian public procurement (PNCP): search, deadlines, tender markdown, alerts and watches.

Available components

+6 this week 75 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability67
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 10121 tokens (~151/item across 67 items; 67 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the com.editalmd/editalmd MCP server?

com.editalmd/editalmd is a hosted endpoint at https://editalmd.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · editalmd.com

# add to Claude Code
claude mcp add --transport http com-editalmd-editalmd 'https://editalmd.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-editalmd-editalmd": {
      "url": "https://editalmd.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-editalmd-editalmd": {
      "type": "http",
      "url": "https://editalmd.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-editalmd-editalmd]
url = "https://editalmd.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-editalmd-editalmd": {
      "type": "remote",
      "url": "https://editalmd.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-editalmd-editalmd --url 'https://editalmd.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-editalmd-editalmd:
    url: "https://editalmd.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-editalmd-editalmd": {
      "Transport": "http",
      "Url": "https://editalmd.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-editalmd-editalmd -t streamable-http -u 'https://editalmd.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-editalmd-editalmd": {
      "type": "http",
      "url": "https://editalmd.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Oct 26 +1
    • Server version: 68434b96 → b356e3b4 functional
    • New tool “abertas_do_ramo” functional
  • 3 Oct 26 0
    • Server version: 13ee74ca → 68434b96 functional
  • 2 Oct 26 0
    • Tool “consulta_cnpj” rewrote its description, which is the text the model reads security
    • Server version: 5e27e414 → 13ee74ca functional
  • 1 Oct 26 +1
    • Tool “consulta_cnpj” rewrote its description, which is the text the model reads security
    • Server version: 62ebcf5c → 5e27e414 functional
    • New tool “atas_vigentes” functional
    • New tool “planos_de_compras” functional
  • 30 Sept 26 0
    • Tool “consulta_cnpj” rewrote its description, which is the text the model reads security
    • Server version: 20c4f6b2 → 62ebcf5c functional
  • 29 Sept 26 +1
    • Server version: 4f1d9997 → 20c4f6b2 functional
    • New tool “consulta_cep” functional
    • New tool “consulta_cnpj” functional
    • New tool “consulta_comprar” functional
    • New tool “consulta_planos” functional
  • 28 Sept 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 +1
    • Server version: 58cd1958 → 83f9a8e7 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 8 Oct 2026 · Probed https://editalmd.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=editalmd.com CN=YE2,O=Let's Encrypt,C=US 23 Sept 2026 22 Dec 2026 ECDSA 256 ECDSA-SHA384 5ba39eb699441d8eb5c73512ef94cd10fa1
SANs: editalmd.com, www.editalmd.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of editalmd.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
editalmd.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://editalmd.com/mcp Verified 200
http (plaintext) http://editalmd.com/mcp HTTPS enforced 301 https://editalmd.com/mcp
MCP tools · 67 exposed · ~10,150 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
abertas_do_ramo ~256

As licitações com proposta aberta, publicadas nos últimos 7 dias, na UF e nos CNAEs de quem fornece o mesmo que esta compra, as de maior valor primeiro, e o corpo do alerta que as entrega (para `criar_alerta`). Útil quando a compra consultada já encerrou. Grátis. As compras publicadas nos últimos 7 dias, com proposta ainda aberta, na UF da compra e nos 3 CNAEs que mais costumam vencer compras como ela (`GET /api/compra/:id/cnaes`); sem CNAE, pelos termos do objeto. É a mesma leitura da prévia do alerta (`POST /api/alertas/previa`), e `alerta` traz o corpo que cria esse alerta em `POST /api/alertas` (acrescente o `canal`). O resultado é do ramo e da UF, guardado por 30 minutos; com a casa ocupada ou a origem fora, `estado` diz isso e `itens` vem vazio. É o que a ficha de uma licitação encerrada mostra ao lado do campo do alerta grátis.

NameTypeReqDescription
idnumberyesid da compra (vem da busca)

No output schema declared.

No examples provided.

adicionar_empresa ~139

Importa o CNPJ numa organização nova ou na da chave de organização. Sem X-Organization-Id, cria a organização com a razão social e o EditalMD ligado, ou devolve a que a pessoa tirou da lista (201). Com X-Organization-Id ou chave de organização, a ficha vai para essa organização, se quem pede a gere e ela não tem empresa. 200 quando o CNPJ já está numa organização de quem pede. Até 100 empresas; sem sócios ou contatos; nenhuma análise é iniciada.

NameTypeReqDescription
cnpjstringyesCNPJ completo, 14 dígitos com verificação válida.

No output schema declared.

No examples provided.

alerta_por_cnpj ~445

Alertas de compra nova pelo CNPJ da empresa (precisa do token edm_…): as atividades (CNAE) viram famílias de termos e sai um alerta por família, principal primeiro, até max_familias. O que passa da franquia é cobrado numa vez só (x402 ou crédito). CNAE fora do dicionário vem listado na resposta com familia nula. Dois modos. Por `termos`: espaço exige todas as palavras, `|` aceita qualquer uma do grupo (`uniforme|fardamento escolar`). Por `cnpj`: o cadastro da empresa informa as atividades (CNAE), o dicionário (`GET /api/cnaes`) transforma cada CNAE numa família de termos e sai um alerta por família distinta, principal primeiro, até `max_familias`; CNAE fora do dicionário não vira alerta e é listado em `empresa.cnaes` com `familia: null`. O primeiro alerta ativo é grátis (`FRANQUIA_ALERTAS`); os seguintes custam `PRECO_ALERTA` por 30 dias cada — no modo CNPJ, numa cobrança só (N × preço), por x402 ou crédito. O cron confere a cada 30 minutos. Canal e-mail exige a sessão da conta — o aviso vai para o e-mail verificado dela, sem código de confirmação — e só existe com `EMAIL_ALERTAS=1`.

NameTypeReqDescription
canalstring–pull, webhook ou email (padrão pull)
cnpjstringyesCNPJ com 14 dígitos, com ou sem pontuação
destinostring–URL https (webhook); ignorado no pull e no email (vai para o e-mail da conta)
filtrosobject–Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.
max_familiasnumber–1 a 8 (padrão 8): quantas famílias viram alerta
ufstring–Sigla da UF (opcional)

No output schema declared.

No examples provided.

alertas_compras ~83

Compras que já casaram com um alerta (canal pull), com prazos e status de entrega. Precisa do token edm_….

NameTypeReqDescription
antes_compranumber–proximo_antes da página anterior
idstringyesid do alerta
limitenumber–1 a 100 (padrão 50)

No output schema declared.

No examples provided.

analisar_participacao ~200

Inicia/retoma análise com cadastro, anexos e edital. Só chame por solicitação do usuário; acompanhe por consultar_participacao. 202 após aceitar e preservar o pedido; 200 ao reaproveitar análise concluída. Usa perfil e anexos deste dono. Pedidos interrompidos podem ser retomados; falhas informam motivo e próxima ação. POST explícito retoma uma pausa. Até 2 mil fatos e 100 editais por empresa, sujeitos à capacidade e ao orçamento disponíveis. Não cobra nova compra nesta operação. Acompanhamento somente por GET. A análise oferece triagem com evidências, não decisão definitiva de habilitação nem consulta jurídica externa.

NameTypeReqDescription
cnpjstringyesCNPJ de 14 dígitos vinculado ao dono.
idintegeryesID do documento.
vstringyesSHA-256 do Markdown aberto, 64 hex minúsculos.

No output schema declared.

No examples provided.

anexar_documento_empresa ~160

Envia comprovante PDF da empresa. Não inicia OCR. Sessão necessária; prefira HTTP para arquivos grandes. 201. JSON até 11.200.000 bytes; PDF até 8 MiB, 20 documentos/80 MiB/50 páginas por empresa. Arquivo idêntico é reaproveitado. A leitura automática acontece somente ao solicitar a análise.

NameTypeReqDescription
arquivo_base64stringyesPDF em base64, até 8 MiB decodificado.
cnpjstringyesCNPJ de 14 dígitos vinculado ao dono.
nomestringyesNome do PDF.
tipostringyesatestado, certidao, licenca, contrato_social ou outro.

No output schema declared.

No examples provided.

api_access ~44

Monthly data package and private purchase status, without charging.

NameTypeReqDescription
api_passstring–Private pass: api_<32 random hex>_<64 random hex>. Save before buying.

No output schema declared.

No examples provided.

api_access_buy ~158

Buy 1,000 basic data reads for US$1, valid for 30 days. Requires explicit payment. Same pass in retries recovers the same purchase. No automatic renewal. OCR, AI, documents and delivery keep their own tariffs. Send X-API-Pass on eligible data reads; remaining credits come in X-API-Credits-Remaining.

NameTypeReqDescription
api_passstringyesPrivate pass: api_<32 random hex>_<64 random hex>. Save before buying.
credit_tokenstring–Existing prepaid credit token.
paymentstring–Signed x402 payload, after authorizing the quote.
transactionstring–Base transaction hash to reconcile an uncertain payment with the same pass and original payload.

No output schema declared.

No examples provided.

api_index ~26

Índice da API do EditalMD: rotas, regime de cobrança e preço.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

atas_vigentes ~227

Atas de registro de preço vigentes no PNCP pelo objeto, as mais relevantes primeiro: órgão gerenciador, vigência, se aceita adesão (carona) e o link da ata. Grátis. Busca as atas de registro de preço publicadas no PNCP que ainda valem (não canceladas, vigência até hoje ou depois), as mais relevantes para os termos primeiro: o órgão gerenciador, o objeto, a vigência, se aceita adesão (a carona) e o endereço da ata no PNCP. `adesao=1` traz só as que aceitam. A ficha da compra (`/api/compra/:id`) traz as atas que ela gerou. `Accept: text/html` abre a aba Atas vigentes com os termos.

NameTypeReqDescription
adesaostring–1 para só as que aceitam adesão (opcional)
paginanumber–0 a 49 (padrão 0)
qstringyesTermos do objeto, mínimo 3 letras

No output schema declared.

No examples provided.

avaliacao_basico ~188

Texto nativo/OCR básico de PDF até 50 páginas/32 MiB, sem revisão nem tabelas estruturadas. Até 100 documentos por agente. Não libera premium. Não cobra. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.

NameTypeReqDescription
agent_passstringyesCredencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.
idnumberyesID do documento do acervo.

No output schema declared.

No examples provided.

avaliacao_basico_resultado ~176

Acompanhe a leitura básica após retry_after_s e recupere texto por página com hash da fonte. Não cobra. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.

NameTypeReqDescription
agent_passstringyesCredencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.
idnumberyesID do documento do acervo.

No output schema declared.

No examples provided.

avaliacao_cotas ~62

Cota individual: um premium e 100 básicos, com validade. Não cobra.

NameTypeReqDescription
agent_passstringyesCredencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.

No output schema declared.

No examples provided.

avaliacao_premium ~194

Use seu único premium patrocinado em um documento de até 50 páginas. Guarde evaluation.access_code como avaliacao_codigo e acompanhe por estado_geracao com agent_pass. Repetir recupera o mesmo acesso. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.

NameTypeReqDescription
agent_passstringyesCredencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.
idnumberyesID do documento do acervo.

No output schema declared.

No examples provided.

billing ~19

Payment discovery and billing summary; does not create a charge.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

buscar_empresa ~45

Busca na base cadastral por CNPJ ou razão social; exige conta ou convidado.

NameTypeReqDescription
qstringyesCNPJ completo ou nome de 3 a 120 caracteres.

No output schema declared.

No examples provided.

buscar_licitacao ~100

Busca compras públicas por termo. Grátis. Devolve objeto, órgão, UF, modalidade e o id da compra.

NameTypeReqDescription
abertasstring–'1' para só compras com prazo de proposta aberto
limitenumber–1 a 50 (padrão 20)
qstringyesTermo de busca, mínimo 3 letras
ufstring–Sigla da UF (opcional)

No output schema declared.

No examples provided.

cnaes ~148

Sugestões de termos de busca por atividade econômica (CNAE), com descrição, família e indicadores de cobertura. Grátis. Sem `q`, lista atividades com mais fornecedores registrados. Com `q`, busca por prefixo do código (`1412`, `1412-6/01`) ou por palavra da descrição. `familia`/`termos` nulos dizem que o CNAE ainda não está no dicionário: um alerta por CNPJ não o usa.

NameTypeReqDescription
limitenumber–1 a 100 (padrão 20)
qstring–Prefixo do código (1412) ou palavra da descrição (opcional)

No output schema declared.

No examples provided.

compra ~124

Ficha da compra e seus documentos no acervo (até 50), com títulos, tipos, páginas e disponibilidade. Consulta grátis; o acesso ao conteúdo é comprado por documento. Servida do cache da borda por até 6 horas — a ficha raramente muda; prazos e preços são calculados a cada pedido. `Cache-Control: no-cache` no pedido lê a origem na hora. O cabeçalho `x-origem-cache` diz `hit`, `miss` ou `bypass`.

NameTypeReqDescription
idnumberyesid da compra (vem da busca)

No output schema declared.

No examples provided.

consulta_cep ~105

Endereços de um CEP com coordenada (CNEFE/IBGE) e as empresas registradas nele. 10 grátis por dia; depois, do saldo. Uma consulta, paga como a do CNPJ: franquia grátis do dia, depois o saldo. Devolve até 20 endereços e até 20 empresas; o total de endereços vem em `pontos_total`.

NameTypeReqDescription
cepstringyesCEP com 8 dígitos

No output schema declared.

No examples provided.

consulta_cnpj ~426

Ficha de empresa pelo CNPJ (Receita), com a situação especial quando há (falência, recuperação judicial, liquidação), as sanções dela (CEIS, CNEP, CEPIM, leniência, TCU e o CNIA do CNJ, conferido na hora), os sócios na lista de pessoas expostas politicamente (CGU), a situação fiscal (dívida ativa da União, parcelamentos, benefícios e obras), o risco socioambiental (lista suja do trabalho escravo, embargos e autos do Ibama), os contratos com o governo (PNCP, o federal desde 2013 e as vendas a prefeituras paulistas do TCE-SP) e os financiamentos do BNDES, os registros em órgãos reguladores e cadastros oficiais (CVM, Banco Central, ANS, ANTT, ANP, ANEEL, Anatel, Anvisa, CNES, Cadastur, Ibama, ANAC e SICAF), os fundos de investimento da CVM e o endereço no mapa (CNEFE/IBGE). 10 grátis por dia; depois, do saldo (plano ou pacote) da conta ou do crédito. Uma consulta: sai da franquia grátis do dia (10 por rede) e, depois dela, do saldo da conta ou do crédito (plano ou pacote). Sem franquia nem saldo, 402 com as ofertas. Aceita o CNPJ numérico e o alfanumérico. Não encontrado, fonte fora do ar ou limite por minuto não são cobrados. O dado pessoal da ficha vem mascarado. Em `sancoes`, o que os cadastros públicos registram contra a empresa inteira (a raiz do CNPJ): CEIS, CNEP, CEPIM e acordos de leniência da CGU e licitantes inidôneos do TCU, atualizados todo dia — serve para checar fornecedor em lote.

NameTypeReqDescription
cnpjstringyesCNPJ, com ou sem pontuação

No output schema declared.

No examples provided.

consulta_comprar ~223

Compra o pacote avulso ou um plano da consulta de CNPJ e endereço. Exige pagamento explícito: sem ele, devolve o 402 com o preço (crédito pré-pago ou x402). O saldo fica com a conta (cookie da sessão ou `X-Api-Key: mmk_…`) ou, sem conta, com a carteira do crédito que pagou (`X-Credito`). Sem pagamento, 402 com o preço e as portas: crédito pré-pago (comprado também por Pix) ou x402. Plano soma 30 dias e a quota dele ao que já existe; o pacote vale 90 dias. Sem renovação automática.

NameTypeReqDescription
comprastring–Marca desta compra (8 a 64 caracteres A-Za-z0-9_-)
credit_tokenstring–Token do crédito pré-pago (cred_…)
ofertastringyespacote, basico, profissional ou empresa
paymentstring–Pagamento x402 assinado, a partir da cotação

No output schema declared.

No examples provided.

consulta_planos ~108

A franquia grátis de hoje, o pacote avulso e os três planos da consulta de CNPJ e endereço, e o saldo de quem pede. Não cobra. Sem credencial mostra a franquia e as ofertas; com a conta (cookie ou `X-Api-Key: mmk_…`) ou o crédito (`X-Credito`), também o saldo, que vale em todos os portais da casa (Radar CNPJ, PontoFato, EditalMD).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

consultar_participacao ~247

Consulta estado, Pendências e Atendidos com motivos, ações e evidências. Nunca inicia análise. Pendências reúne precisa_comprovar (falta prova), divergente (evidência incompatível) e acompanhar (obrigação futura). Cadastro, anexos ou dossiê diferentes retornam outdated sem resultados atuais. A data de referência é conservada na retomada; dia anterior retorna data_atual=false. Os lotes validados continuam disponíveis durante falhas/processamento com parcial=true e processados/total; nunca representam conclusão das exigências ainda não comparadas. GET não executa a fila nem inicia IA.

NameTypeReqDescription
afterinteger–Último ID recebido; padrão 0.
cnpjstringyesCNPJ de 14 dígitos vinculado ao dono.
grupostring–pendencias, atendidos ou nao_aplicavel.
idintegeryesID do documento.
kindstring–requirement, attestation ou obligation.
limitinteger–1 a 30; padrão 30.
vstringyesSHA-256 do Markdown aberto, 64 hex minúsculos.

No output schema declared.

No examples provided.

conta_acompanhamento ~61

Confere que Salvas/Alertas/Vigias são da conta da sessão. As listas de um convidado edm_… passam para a conta em `POST /api/auth/claim`; o POST desta rota responde 410 com o caminho.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

conta_vincular_acompanhamento ~158

Traz para a conta da sessão o que o convidado edm_… criou (o claim do SDK): as Salvas, Alertas e Vigias que a conta ainda não tem e as compras dele. Exige bootstrap/CSRF deste navegador; a página faz isso logo depois de entrar. Só passa o que o convidado ainda tem, numa transação, e o que colide com o que a conta já tem fica com o convidado. O que o convidado comprou passa junto. Token antigo, sem assinatura, que não é dono de nada aqui é recusado. Repetir não faz mal (move zero).

NameTypeReqDescription
guest_tokenstringyesToken edm_… do convidado.

No output schema declared.

No examples provided.

credito_recarregar ~70

Recarrega crédito: paga uma vez com x402 (pacotes de 1, 5, 10 ou 25 dólares) e devolve o token que desconta em qualquer API da casa.

NameTypeReqDescription
usdnumberyes1, 5, 10 ou 25

No output schema declared.

No examples provided.

credito_saldo ~30

Saldo e extrato do crédito pré-pago (precisa do token `cred_…`).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

criar_alerta ~430

Alerta de compra nova por termos do objeto e UF (precisa do token edm_…). Canal pull (ler por alertas_compras), webhook (POST https assinado com o whsec_… do dono) ou email (só com a sessão da conta: vai para o e-mail verificado dela). O primeiro é grátis; os seguintes custam por 30 dias (x402 ou crédito). Dois modos. Por `termos`: espaço exige todas as palavras, `|` aceita qualquer uma do grupo (`uniforme|fardamento escolar`). Por `cnpj`: o cadastro da empresa informa as atividades (CNAE), o dicionário (`GET /api/cnaes`) transforma cada CNAE numa família de termos e sai um alerta por família distinta, principal primeiro, até `max_familias`; CNAE fora do dicionário não vira alerta e é listado em `empresa.cnaes` com `familia: null`. O primeiro alerta ativo é grátis (`FRANQUIA_ALERTAS`); os seguintes custam `PRECO_ALERTA` por 30 dias cada — no modo CNPJ, numa cobrança só (N × preço), por x402 ou crédito. O cron confere a cada 30 minutos. Canal e-mail exige a sessão da conta — o aviso vai para o e-mail verificado dela, sem código de confirmação — e só existe com `EMAIL_ALERTAS=1`.

NameTypeReqDescription
canalstring–pull, webhook ou email (padrão pull)
destinostring–URL https (webhook); ignorado no pull e no email (vai para o e-mail da conta)
filtrosobject–Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.
termosstringyesPalavras do objeto, 3 a 200 letras; espaço = todas, | = qualquer uma (uniforme|fardamento)
ufstring–Sigla da UF (opcional)

No output schema declared.

No examples provided.

criar_cobranca ~251

Reserva endereço USDC/Base para pagar US$ 0,02/página sem carteira no navegador. Confira cotacao antes, conserve cobranca_token. Não gera antes da confirmação real. Consulte GET /geracao e envie cotacao. Cada comprador paga, inclusive pronto. O serviço confirma USDC no bloco safe da Base; safe aguarda inclusão na L1, sem finalidade absoluta. Envie em até 30 min; observação por 24 h. Pagamento tardio, rede/moeda errada ou extração falha exige atendimento. Carteira/corretora pode cobrar taxa. Mesma X-Cobranca conserva cobrança/endereço. GET pago devolve acesso.codigo e cookie; para guardar na conta, POST /api/documento/:id/vincular com esse código (o site faz isso sozinho para quem está conectado). O pagamento simulado do ambiente de desenvolvimento não vale para depósito.

NameTypeReqDescription
cobranca_tokenstringyes32 bytes aleatórios em 64 hex minúsculos, gerados e guardados pelo cliente antes da criação.
cotacaoobjectyesCotação recebida em estado_geracao.
idnumberyesID do documento.

No output schema declared.

No examples provided.

criar_dono ~296

Cria o convidado (token edm_…, emitido pela biblioteca de conta) que abre alertas e vigias, e o segredo whsec_… que assina os webhooks. Sem cadastro; o token é mostrado uma única vez — guarde e mande em Authorization: Bearer nas tools de alerta e vigia. O token é emitido e assinado pela biblioteca de conta, com teto por rede e por hora, para a franquia grátis não virar infinita. Ele é mostrado uma única vez e não tem recuperação — entre na conta e traga as listas para ela (`POST /api/auth/claim`, que a página da conta faz sozinha ao entrar) para não depender dele. O `webhook_segredo` pode ser relido em `GET /api/dono`. Todo POST do webhook leva `webhook-id`, `webhook-timestamp` (segundos Unix) e `webhook-signature: v1,<base64>`: HMAC-SHA256 de `id.timestamp.corpo` com a chave do seu `whsec_…` (o base64 depois do prefixo). É o padrão Standard Webhooks — qualquer biblioteca dele confere; rejeite timestamp fora de 5 minutos. Depois de `POST /api/dono/segredo`, o anterior ainda assina por 24 h (duas partes `v1,` no cabeçalho).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

documento ~48

Consulta grátis do título, tipo, páginas e compra vinculada a um documento. Use compra para listar os documentos relacionados. Não abre conteúdo nem inicia OCR.

NameTypeReqDescription
idintegeryesID do documento

No output schema declared.

No examples provided.

documento_acesso ~43

Estado do acesso e código privado de recuperação, sem nova compra.

NameTypeReqDescription
acesso_codigostring–Código privado de acesso.
idnumberyesDocumento comprado.

No output schema declared.

No examples provided.

documento_arquivos ~200

Catálogo dos arquivos originais do documento, com links de download e páginas. Use /api/documento/{id}/original para baixar o original completo.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesid do documento retornado pela compra

No output schema declared.

No examples provided.

documento_dossie ~288

Itens, exigências, atestados, prazos e obrigações com condições, exceções e trechos/páginas. Usa o mesmo acesso_codigo da leitura. Não inicia IA. Dossiê incluído no acesso documental, sem nova análise ao consultar. Dados parciais informam cobertura; exportação exige versão concluída.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
afternumber–Cursor next anterior
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesID do documento
kindstring–identity, item, requirement, attestation, deadline ou obligation
limitnumber–1 a 30 fatos
vstring–SHA-256 do texto

No output schema declared.

No examples provided.

documento_leitura ~231

Manifesto do documento comprado: páginas, imagens, SHA-256 e versão. Envie acesso_codigo; exemplos são gratuitos. Não inicia OCR. A mesma autorização libera ZIP e imagens pela API. Somente recursos prontos. Não inicia OCR. `document_approved: false` identifica a extração automática e não impede sua leitura.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesid do documento

No output schema declared.

No examples provided.

documento_vincular ~92

Vincula aquisição à conta da sessão usando a autorização privada comprada. Exige sessão e prova privada da aquisição. Grava o direito global da conta pelo recibo do pagamento: idempotente para o mesmo dono, e outro dono não pode reivindicar. O código continua abrindo o documento sozinho.

NameTypeReqDescription
acesso_codigostring–Código privado de acesso.
idnumberyesDocumento comprado.

No output schema declared.

No examples provided.

documentos_empresa ~49

Lista os PDFs privados da empresa. Downloads binários usam GET HTTP autenticado /documentos/:arquivo.

NameTypeReqDescription
cnpjstringyesCNPJ de 14 dígitos vinculado ao dono.

No output schema declared.

No examples provided.

dono ~189

Estado do dono (precisa do token edm_… ou da sessão da conta): conta ou convidado, e-mail dos avisos, franquia e o segredo whsec_… que assina cada webhook (Standard Webhooks: webhook-id, webhook-timestamp, webhook-signature). Todo POST do webhook leva `webhook-id`, `webhook-timestamp` (segundos Unix) e `webhook-signature: v1,<base64>`: HMAC-SHA256 de `id.timestamp.corpo` com a chave do seu `whsec_…` (o base64 depois do prefixo). É o padrão Standard Webhooks — qualquer biblioteca dele confere; rejeite timestamp fora de 5 minutos. Depois de `POST /api/dono/segredo`, o anterior ainda assina por 24 h (duas partes `v1,` no cabeçalho).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

edital_markdown ~215

Lê Markdown com acesso_codigo comprado, ou avaliacao_codigo + agent_pass do premium patrocinado. Cinco exemplos livres. Além da avaliação, gerar_markdown compra por US$ 0,02/página, inclusive pronto.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesid do documento (vem de `compra`)

No output schema declared.

No examples provided.

editar_alerta ~198

Edita interesse ou pausa/reativa o alerta do dono. Reativação além da franquia exige pagamento. Filtros substituem o recorte inteiro.

NameTypeReqDescription
ativoboolean–`false` pausa sem apagar; `true` reativa.
canalstring–Novo canal: `pull`, `webhook` ou `email` (e-mail verificado da conta; exige sessão).
destinostring–Nova URL https na porta 443 (webhook). Ignorado no pull e no e-mail.
filtrosobject–Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.
idstringyesIdentificador do alerta.
termosstring–Termos do objeto; espaço exige todos, | aceita alternativas.
ufstring–Sigla da UF; vazio libera.

No output schema declared.

No examples provided.

estado_cobranca ~137

Consulta pagamento e liberação com o mesmo cobranca_token. Gratuito; intervalo mínimo 30 s; não inicia trabalho. Reutilize X-Cobranca e respeite Retry-After. Consulta não escreve nem faz RPC blockchain. Quando gerando, use GET /geracao para fases/páginas; pronto libera os links de leitura. Em revisao, conserve ID e transações para atendimento, sem pagar novamente.

NameTypeReqDescription
cobranca_tokenstringyes32 bytes aleatórios em 64 hex minúsculos, gerados e guardados pelo cliente antes da criação.
idnumberyesID do documento.

No output schema declared.

No examples provided.

estado_geracao ~180

Acompanha as fases reais e a conclusão gratuitamente, sem iniciar processamento.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesID do documento.

No output schema declared.

No examples provided.

exemplos ~28

Lista cinco provas reais gratuitas para conferir Markdown, PDF original e ZIP com imagens antes de gerar outro documento.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gerar_markdown ~485

Compra acesso individual por US$ 0,02/página (x402/crédito), inclusive ao texto pronto. Confira cotacao em estado_geracao. Guarde acesso.codigo para as tools de leitura; geração, se necessária, está incluída. Não use POST como polling. Cada comprador paga, inclusive pronto. Consulte GET ou 402, confira páginas/hash/total e envie cotacao. Sessão da conta (cookie + CSRF do navegador) grava a compra no direito global da conta antes da entrega, sem código avulso; com o convidado edm_… (Bearer), o direito é dele e o código sai junto; agente usa X-Credito. Sem conta, conserve acesso.codigo para reabrir ou vincular depois. Após vínculo somente a conta abre. Texto pronto reutiliza OCR; geração necessária incluída. Cotação desconhecida/alterada não cobra. 152 páginas = US$ 3,04. Corpo até 4096 bytes. Após 202 acompanhe por GET. Pagou e a gravação do direito falhou: 502 `pago_nao_registrado` com o `recibo` — guarde-o, o suporte entrega ou estorna.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
cotacaoobject–Cotação recebida no estado, confirmada antes de pagar.
credito_tokenstring–Token cred_… privado. Enviado em X-Credito, preservando a sessão Bearer do pedido MCP.
idnumberyesID do documento.
idempotenciastring–Chave da tentativa de crédito, até 80 caracteres; conserve ao repetir.

No output schema declared.

No examples provided.

habilitacao ~262

Lista de habilitação do edital, com trechos literais. Exige acesso_codigo do documento comprado, ou um dos cinco exemplos; nesta fase não há cobrança adicional pela lista. Condições, exceções e evidências por página da análise disponível. A consulta não inicia outra análise. Prazos, propostas e demais obrigações estão no dossie; esta lista cobre habilitação e atestados exigidos, sem afirmar o que a empresa possui.

NameTypeReqDescription
acesso_codigostring–Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito…
agent_passstring–Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.
avaliacao_codigostring–evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.
idnumberyesid do documento (vem de `compra`)

No output schema declared.

No examples provided.

health ~23

Saúde da origem e tamanho do acervo (compras e documentos com texto).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

meus_compras ~50

Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador).

NameTypeReqDescription
antesstring–proximo_antes da página anterior; hex, cursor exclusivo do cliente.

No output schema declared.

No examples provided.

meus_documentos ~50

Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador).

NameTypeReqDescription
antesstring–proximo_antes da página anterior; hex, cursor exclusivo do cliente.

No output schema declared.

No examples provided.

minha_conta ~80

Identidade e contadores privados da sessão da conta (cookie) enviada no pedido MCP. A conta global já é a pessoa no EditalMD: não há ativação por produto.

NameTypeReqDescription
locaisstring–Até 90 IDs positivos de documentos separados por vírgula para conferir quais já pertencem à conta; no máximo 1529 caracteres.

No output schema declared.

No examples provided.

Common questions

What is the com.editalmd/editalmd MCP server?

com.editalmd/editalmd is an MCP server listed in the public MCP registry as com.editalmd/editalmd. Brazilian public procurement (PNCP): search, deadlines, tender markdown, alerts and watches. This page covers its hosted endpoint (https://editalmd.com/mcp).

Is the com.editalmd/editalmd MCP server safe to use?

com.editalmd/editalmd scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.editalmd/editalmd MCP server expose?

com.editalmd/editalmd exposes 67 tools: avaliacao_cotas, avaliacao_premium, avaliacao_basico, avaliacao_basico_resultado, documentos_empresa, and 62 more. Their descriptions and schemas cost roughly 10,150 tokens of context every time the server is loaded.

Does the com.editalmd/editalmd MCP server require authentication?

No. We connected to com.editalmd/editalmd without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the com.editalmd/editalmd MCP server still maintained?

com.editalmd/editalmd is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.