{"schemaVersion":"2025-12-11","name":"licita","description":"Public procurement intelligence for AI agents: EU tenders, renewal signals, company opportunities and buyer activity. Pay per call with USDC via x402.","url":"https://api.eutendersai.com/mcp","transports":["sse"],"tools":[{"name":"search_tenders","description":"Search Spanish public-sector IT/software/cyber procurement: awards, tenders and contracts. Filters: q (full-text), cpv (prefix), buyer, company, region (NUTS), from/to (YYYY-MM-DD), type=award|tender|contract. Returns compact rows with ids for the other tools.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"q":{"type":"string","maxLength":200},"cpv":{"type":"string","description":"CPV code or prefix, e.g. \"72\""},"buyer":{"type":"string","minLength":2,"maxLength":200},"company":{"type":"string","minLength":2,"maxLength":200},"region":{"type":"string","description":"NUTS code or prefix, e.g. \"ES61\""},"from":{"type":"string","description":"YYYY-MM-DD"},"to":{"type":"string","description":"YYYY-MM-DD"},"type":{"type":"string","enum":["award","tender","contract"]},"page":{"type":"integer"},"size":{"type":"integer"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}}}},{"name":"get_tender","description":"Full tender detail by id: buyer, CPVs, deadline, estimated value, all awards/lots with winners, plus provenance (source + TED url).","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"numeric id from search results"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}},"required":["id"]}},{"name":"get_company","description":"Company profile by id: name, country, NIF, aliases and source identifiers (cross-source identity), plus aggregate stats (wins, total awarded value, top CPVs, top buyers).","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"numeric id from search results"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}},"required":["id"]}},{"name":"get_company_awards","description":"Paginated award history for a company: dates, lots, values, tender + buyer context.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"numeric id from search results"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."},"page":{"type":"integer"},"size":{"type":"integer"}},"required":["id"]}},{"name":"get_company_opportunities","description":"Active/recent tenders matching a company's historical CPV/buyer profile, with a deterministic similarity score (explained in score_explanation).","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"numeric id from search results"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."},"page":{"type":"integer"},"size":{"type":"integer"}},"required":["id"]}},{"name":"get_buyer_history","description":"Buyer profile by id: award history, supplier concentration (top-supplier share) and per-CPV-division recurrence (median months between awards).","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"numeric id from search results"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}},"required":["id"]}},{"name":"get_renewals","description":"Forecast signals for likely re-tenders: contracts/frameworks approaching renewal. Filters: cpv (prefix), buyer, window_months (default 12, max 36), min_confidence=low|medium|high.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"cpv":{"type":"string"},"buyer":{"type":"string","minLength":2,"maxLength":200},"window_months":{"type":"integer","minimum":1,"maximum":36},"min_confidence":{"type":"string","enum":["low","medium","high"]},"page":{"type":"integer"},"size":{"type":"integer"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}}}},{"name":"get_pricing","description":"Machine-readable price ladder for all endpoints/tools plus the payment flow. Always free.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"}}}},{"name":"research","description":"High-level EU public procurement intelligence for a topic: recent tenders, relevant renewal signals, company opportunities and active buyers, each with evidence and an evidence-strength confidence label. Deterministic over the licita database (no LLM). Costs $0.50 USDC per call (x402). Use when an agent needs a research brief on a topic rather than raw rows from search_tenders/get_renewals.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"topic to research (matches tender full-text, company/buyer names, renewal signals)"},"limit":{"type":"integer","description":"max findings to return"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"},"client_key":{"type":"string","description":"Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof."}},"required":["query"]}},{"name":"billing_get_balance","description":"Check the prepaid credit balance for a client key (in cents and USD). Always free. Returns not_found when no account exists yet — buy credits via billing_purchase_credits to create one.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"client_key":{"type":"string","description":"prepaid credit account key (must match the key used when buying credits)"}},"required":["client_key"]}},{"name":"billing_purchase_credits","description":"Buy a prepaid credit bundle (5, 10 or 25 USD) paid per-endpoint via x402 (mirrors REST POST /v1/billing/credits/:amount). Set amount to the bundle you pay for with payment_token; the proof is verified against that exact bundle, then the account is credited and the balance returned. Afterwards send client_key on every paid tool to pay from balance instead of per-call proofs.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"client_key":{"type":"string","description":"prepaid credit account key to credit"},"amount":{"anyOf":[{"type":"string","enum":["5","10","25"]},{"type":"integer","enum":[5,10,25]}],"description":"bundle amount in USD: 5, 10 or 25"},"payment_token":{"type":"string","description":"Payment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)"}},"required":["client_key","amount"]}}]}