Skip to content
Back to search
100
MCP live MCP 2025-06-18 streamable-http

com.editalmd/editalmd

com.editalmd/editalmd

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

Watch this dependency Share evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1897ms
last probe
Tools
78
callable
Resources
0
readable
Prompts
5
available
Score: 100/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
78 tools, 0 resources, 5 prompts returned.
pass 3 or more catalogue items 10/10
83 items in total; 3 or more earns these points.
pass Describes itself 10/10
92 characters; more than 30 earns these points.

Tools · 78

evaluation_quota

Individual allowance: one premium and 100 basic documents, with an expiry date.

evaluation_premium

Uses your only sponsored premium on a document of up to 50 pages. Keep evaluation.access_code as avaliacao_codigo and follow it with generation_status and agent_pass. A repeat returns the same access.…

evaluation_basic

Basic native or OCR text of a PDF of up to 50 pages / 32 MiB, without review or structured tables. Up to 100 documents per agent. It does not open premium. Allowance per credential, until the earlier …

evaluation_basic_result

Follows the basic reading after retry_after_s and returns the text per page with the hash of the source. Allowance per credential, until the earlier date of the agent's 30 days and the end of the pilo…

company_documents

Lists the private PDFs of the company. Binary downloads use the authenticated HTTP GET /documentos/:arquivo.

attach_company_document

Sends a PDF proof of the company. It does not start OCR. Requires a session; for large files, prefer HTTP. Returns 201. JSON up to 11,200,000 bytes; PDF up to 8 MiB; 20 documents, 80 MiB and 50 pages …

remove_company_document

Removes a proof from your own company; the analyses that used it become out of date.

analyze_participation

Starts or resumes the analysis with the company record, the attachments and the tender. Call it only when the user asks; follow it with get_participation. Returns 202 after it accepts and keeps the re…

get_participation

Reads the state, the pending items and the met items, with reasons, actions and evidence. It never starts an analysis. Pending items group precisa_comprovar (proof missing), divergente (incompatible e…

list_my_companies

The companies are the account organizations with EditalMD; use the session or the organization key.

search_companies

Searches the company registry by CNPJ or company name; requires an account or a guest.

add_company

Imports the CNPJ into a new organization or into the organization of the organization key. Without X-Organization-Id, it creates the organization with the company name and EditalMD on, or returns the …

select_company

Selects a registered company; it does not run an analysis. Each person's choice is kept in the account. Repeating the current choice writes nothing.

remove_company

Removes the company from the list (owner or admin); the organization and the PDFs stay, and adding the CNPJ again brings it back.

awarded_prices

The price that wins for a similar item, as a free summary: how many prices, the median and the range (p25/p75) of the same catalog product in the same unit, without the extremes; the volume bought; th…

framework_agreements

The valid framework agreements (`ata de registro de preços`) on PNCP for the object, most relevant first: the managing agency, the validity, whether the agreement accepts joining (carona) and the link…

procurement_plans

What agencies plan to procure (annual procurement plans, PCA, on PNCP), before the tender opens: item, agency, quantity, estimated value and desired date. Free. Only the current version of each plan; …

tenders_outside_pncp

Tenders that agencies report to the state audit court, or publish on their own portal, and that are not on PNCP (today the TCE-RS LicitaCon, the TCE-PE and TCE-RN open data, the TCM-PA tender board, S…

my_account

The identity and the private counters of the account session (cookie) sent in the MCP request. The global account is already the person in EditalMD: there is no activation per product.

my_documents

The private collection of the account. Requires the account session (cookie and the browser CSRF).

my_procurements

The private collection of the account. Requires the account session (cookie and the browser CSRF).

documento_vincular

Links your anonymous purchase to the authenticated account, without a new charge. Requires a session and private proof of the purchase. It records the global right of the account by the payment receip…

documento_acesso

Checks the link and allows exporting the code of a purchase that is still anonymous. Returns: { documento_id, vinculado, recuperacao }

account_tracking

Checks that the Salvas, Alertas and Vigias belong to the account of the session. The lists of a guest edm_… move to the account with `POST /api/auth/claim`; a POST to this route answers 410 with the p…

claim_guest_tracking

Brings into the session account what the guest edm_… created (the SDK claim): the Salvas, Alertas and Vigias that the account does not have yet, and the documents that the guest bought. Requires the b…

lookup_reference

Search municipality names, activities and other Radar CNPJ reference data. Returns: { ok, results }

preview_alert

A free sample of procurements by terms and filters, or editable suggestions by CNPJ. It does not create alerts.

update_alert

Edits the interest, or pauses or turns on again an alert of the owner. The filters replace the whole filter.

list_saved

Lists up to 200 tenders saved by the owner, free.

save_procurement

Saves the procurement, up to 200 per owner. Saving does not create a watch or a notification. The client sends only the ID; the snapshot comes from the collection.

remove_saved

Removes the procurement from the personal list of the owner. Saving does not create a watch or a notification. The client sends only the ID; the snapshot comes from the collection.

gerar_markdown

Buys individual access to the document for US$ 0.02/page, through x402/credit. Each buyer pays, even when the text is ready. Check GET or the 402, confirm pages/hash/total and send cotacao. The accoun…

generation_status

Follows the real phases and the completion, free, without starting processing.

original_status

Reads the status of the original, free. It does not ask for a download or a generation. It returns only the file status: it does not deliver content, grant access, confirm pages or start a generation.…

request_original

When the person wants the document, downloads the pending original from PNCP now. Free and idempotent. It does not start OCR. Use it when the person opens the document. The body is empty or {} (two by…

criar_cobranca

Reserves an exclusive address/QR to buy your access with USDC on Base. Check GET /geracao and send cotacao. Each buyer pays, even when the text is ready. The service confirms USDC in the safe block of…

estado_cobranca

Reads the address, confirmation, receipt and release of your charge, free of charge. Reuse X-Cobranca and respect Retry-After. The lookup does not write or make a blockchain RPC. When it is gerando, u…

list_examples

Lists real free proofs to check the Markdown, the original PDF and the ZIP with images before you generate another document.

get_document

A free lookup of the title, type, pages and the procurement linked to a document. Use `get_procurement` to list the related documents. It does not open content or start OCR.

get_document_dossier

Items, requirements, attestations, deadlines and obligations, with conditions, exceptions and excerpts/pages. It uses the same acesso_codigo as the reading. It does not start AI. The dossier is includ…

list_document_files

The catalog of the original files of the document, with download links and pages. Use /api/documento/{id}/original to download the full original.

api_index

The EditalMD API index, with the routes.

health

Health of the origin and size of the collection (procurements and documents with text).

search_tenders

Searches public procurements by term. Free. Returns the object, the agency, the state (UF), the modality and the procurement id. The procurements that receive proposals now come first, then the most r…

get_deadlines

The deadlines of the procurement: the published end of proposals and the last day to challenge the tender (estimate: 3 business days before the session, Law 14.133 art. 164, national holidays). Free. …

get_procurement

The procurement record and its documents in the collection (up to 50), with titles, types, pages and availability. Free. Served from the edge cache for up to 6 hours: the record rarely changes. `Cache…

who_supplies

The CNAEs (activity codes) that usually win procurements like this one, most likely first, with the official description and, per CNAE, how many items and how much of the estimated value pointed to it…

open_tenders_in_field

The tenders with an open proposal period published in the last 7 days, in the state (UF) and in the CNAEs of the companies that supply the same as this procurement, highest value first, and the alert …

get_tender_markdown

Reads the Markdown with the acesso_codigo of the document, or with avaliacao_codigo and agent_pass of the sponsored premium. The examples are free.

get_qualification

The qualification list of the tender, with literal excerpts: conditions, exceptions and evidence by page of the available analysis. The lookup does not start another analysis. Deadlines, proposals and…

get_reading_manifest

The document manifest: pages, images, SHA-256 and version. Send acesso_codigo; the examples are free. It does not start OCR. The same authorization opens the ZIP and the images through the API. Only r…

create_owner

Creates the guest (token edm_…, issued by the account library) that opens alerts and watches, and the secret whsec_… that signs the webhooks. No sign-up. The token appears only once: keep it and send …

get_owner

The owner state (requires the token edm_… or the account session): account or guest, the notice e-mail, the allowance and the secret whsec_… that signs each webhook (Standard Webhooks: webhook-id, web…

rotate_webhook_secret

Changes the secret that signs the webhooks (requires the token edm_…). The previous secret still signs for 24 h, so you can change it without a failure window. During the 24 h, the `webhook-signature`…

create_alert

An alert for new procurements by object terms and state (UF). Use the account session or guest token. Channels: pull, signed webhook or email. On webhook and email, it also delivers new tenders outsid…

create_alerts_by_cnpj

Alerts for new procurements by the company CNPJ (requires the token edm_…): the activities (CNAE) become families of terms, and there is one alert per family, main first, up to max_familias. A CNAE ou…

list_cnaes

Search term suggestions by economic activity (CNAE), with the description, the family and coverage indicators. Free. Without `q`, it lists the activities with the most registered suppliers. With `q`, …

list_alert_matches

The procurements that already matched an alert (pull channel), with deadlines and delivery status. Requires the token edm_….

watch_procurement

Watches a procurement (requires the token edm_…): takes a snapshot now and records the events of correction, new document, suspension, postponed deadline and value, plus deadline notices. The checks a…

list_watch_events

The events of a watched procurement (what changed, from what to what, and when) and the current snapshot. Requires the token edm_….

credito_saldo

Balance and statement with cred_…; wallet balance and up to 20 payments being recovered with mmw_…. Returns: { saldo_micros, saldo_usd, criado_em, movimentos, wallet, payments, proximo, onde_gastar }

credito_recarregar

Tops up prepaid credit: pay once with x402 and get the token that is charged in any API of the house. Returns: { token, saldo_usd, guarde, usar, usar_com_outra_credencial, saldo_em, onde_gastar }

recibo

Receipt of a delivery: the proof of what was delivered, how much it cost and with which hash. Returns: { recibo{id,recurso,documento_id,preco_usd,modo,sha256_entregue,bytes,criado_em} }

consulta_cadastro

Name, status, activity and address of a Brazilian company by CNPJ. It does not count against the daily free limit, does not show contacts or partners and runs no extra checks. The origin's protection …

consulta_endereco

Addresses and companies at a CEP (Brazilian postal code), without counting against the daily free limit. Up to 20 addresses and 20 companies; `pontos_total` has the total number of addresses. The orig…

consulta_sugerir

Suggests up to 8 Brazilian companies for a CNPJ, company name, partner, phone or e-mail, ordered by how well they match. It does not count against the daily free limit and does not show contacts. `inc…

consulta_cnpj

Additional CNPJ lookup with prepared public records and an attempted CNIA source check during the request. Set cnia_atual=true when that check is required: source failure returns 503 without charging …

consulta_cep

Addresses at a CEP (Brazilian postal code) with coordinates (CNEFE/IBGE) and the companies registered there. Returns up to 20 addresses and up to 20 companies; the total number of addresses is in `pon…

consulta_planos

The CNPJ and address lookup service: today's free allowance, the single package, the three plans and your balance. Without a credential, it shows the free allowance and the offers. With an account, cr…

consulta_comprar

Buys the single package or one of the three plans, with credit or x402, also without an account. Without payment, it returns 402 with the price in dollars and reais. The body uses x402 v1; PAYMENT-REQ…

api_access

Discover the monthly data package or inspect a private purchase. Returns: { offer{id,price_usd,credits,days,auto_renew,unit,products,purchase,method,status,header,payment_methods,prepaid_credit,instru…

api_access_buy

Buy 1000 basic data reads for US$1, valid for 30 days. 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…

list_plans

The plans for sale and the authenticated account or wallet's active plan. Pix and USDC pay 30 days with no automatic renewal; the card subscribes monthly and renews until you cancel. Without an accoun…

buy_plan

Buys a plan for the account or paying wallet. Pix and USDC pay 30 days with no automatic renewal; the card subscribes monthly and renews until you cancel. Without payment, the answer is 402 with the p…

cancel_plan

Cancels the active plan: nothing else is charged, and what you paid for stays active until the end of its period. Send `{ "accept_data_removal": true }`. The monthly card subscription stops. A purchas…

pricing

Current prices and free allowances. Returns: { product, quota{free,paid,how_to_pay,live,free_now?,charged_now?,trial?}, pricing, billing, api_index }

billing

Public discovery of payment and prepaid credit. Returns: { product, quota{free,paid,how_to_pay,live,free_now?,charged_now?,trial?}, pricing, billing, api_index, payment{provider,mode,network,chain_id,…

get_api_x402_precos

The short winning price for an agent, paid per call, with no account: the full summary and up to 10 items. Collecting procurement items and calculating the returned price summary. A text match does no…

Prompts · 5

find_tenders

Which open tenders in Distrito Federal need IT consulting?

tender_requirements

Which documents and certificates does my company need for this tender?

tender_deadlines

What are this tender's next deadlines and where are they stated?

awarded_prices

How much has the government recently paid for IT support services?

tender_alerts

Notify me when an IT consulting tender appears in Distrito Federal.

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://editalmd.com/mcp

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "com.editalmd/editalmd": {
      "url": "https://editalmd.com/mcp",
      "transport": "streamable-http"
    }
  }
}

Source: github.com/wrpbr/editalmd