Server definition
- Hash
- sha256:cf147f84088b21b204af3fdcd1f43c2b0affd2e4fed7a4698d0f94533c88f1a8
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Spanish public procurement intelligence (TED award notices, IT/software/cyber CPV 72*/48*). Most tools are paid per call. If a tool returns {\"payment_required\": true, ...}, follow its how_to_pay steps: in x402 mode create the payment with an x402 client from the 402 PAYMENT-REQUIRED requirement (EIP-3009 transferWithAuthorization of USDC) and retry with payment_token — the same base64 payload a REST client sends as the PAYMENT-SIGNATURE header (legacy v1 X-PAYMENT still accepted). In dev mode the how_to_pay steps point to the local POST /v1/dev-faucet. Start with get_pricing (free) and search_tenders to discover ids.",
"tools": [
{
"description": "[GET /v1/billing — $0.00] 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "prepaid credit account key (must match the key used when buying credits)",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"payment_token": {
"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)",
"type": "string"
}
},
"required": [
"client_key"
],
"type": "object"
},
"name": "billing_get_balance",
"outputSchema": null
},
{
"description": "[POST /v1/billing/credits/5 — $5.00] 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount": {
"description": "bundle amount in USD: 5, 10 or 25",
"enum": [
5,
10,
25,
"5",
"10",
"25"
],
"type": [
"number",
"string"
]
},
"client_key": {
"description": "prepaid credit account key to credit",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"payment_token": {
"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)",
"type": "string"
}
},
"required": [
"client_key",
"amount"
],
"type": "object"
},
"name": "billing_purchase_credits",
"outputSchema": null
},
{
"description": "[GET /v1/buyers/:id/history — $0.05] Buyer profile by id: award history, supplier concentration (top-supplier share) and per-CPV-division recurrence (median months between awards).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"id": {
"description": "numeric id from search results",
"exclusiveMinimum": 0,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_buyer_history",
"outputSchema": null
},
{
"description": "[GET /v1/companies/:id — $0.05] 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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"id": {
"description": "numeric id from search results",
"exclusiveMinimum": 0,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_company",
"outputSchema": null
},
{
"description": "[GET /v1/companies/:id/awards — $0.05] Paginated award history for a company: dates, lots, values, tender + buyer context.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"id": {
"description": "numeric id from search results",
"exclusiveMinimum": 0,
"type": "integer"
},
"page": {
"default": 1,
"minimum": 1,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
},
"size": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_company_awards",
"outputSchema": null
},
{
"description": "[GET /v1/companies/:id/opportunities — $0.10] Active/recent tenders matching a company's historical CPV/buyer profile, with a deterministic similarity score (explained in score_explanation).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"id": {
"description": "numeric id from search results",
"exclusiveMinimum": 0,
"type": "integer"
},
"page": {
"default": 1,
"minimum": 1,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
},
"size": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_company_opportunities",
"outputSchema": null
},
{
"description": "[GET /v1/pricing — $0.00] Machine-readable price ladder for all endpoints/tools plus the payment flow. Always free.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"payment_token": {
"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)",
"type": "string"
}
},
"type": "object"
},
"name": "get_pricing",
"outputSchema": null
},
{
"description": "[GET /v1/renewals — $0.25] 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"buyer": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"cpv": {
"type": "string"
},
"min_confidence": {
"default": "low",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"page": {
"default": 1,
"minimum": 1,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
},
"size": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"window_months": {
"default": 12,
"maximum": 36,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "get_renewals",
"outputSchema": null
},
{
"description": "[GET /v1/tenders/:id — $0.02] Full tender detail by id: buyer, CPVs, deadline, estimated value, all awards/lots with winners, plus provenance (source + TED url).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"id": {
"description": "numeric id from search results",
"exclusiveMinimum": 0,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_tender",
"outputSchema": null
},
{
"description": "[POST /v1/research — $0.50] 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"limit": {
"default": 5,
"description": "max findings to return",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
},
"query": {
"description": "topic to research (matches tender full-text, company/buyer names, renewal signals)",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "research",
"outputSchema": null
},
{
"description": "[GET /v1/search — $0.02] 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"buyer": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"client_key": {
"description": "Prepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.",
"type": "string"
},
"company": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"cpv": {
"description": "CPV code or prefix, e.g. \"72\"",
"type": "string"
},
"from": {
"description": "YYYY-MM-DD",
"type": "string"
},
"page": {
"default": 1,
"minimum": 1,
"type": "integer"
},
"payment_token": {
"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)",
"type": "string"
},
"q": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"region": {
"description": "NUTS code or prefix, e.g. \"ES61\"",
"type": "string"
},
"size": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"to": {
"description": "YYYY-MM-DD",
"type": "string"
},
"type": {
"default": "award",
"enum": [
"award",
"tender",
"contract"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_tenders",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:cf147f84088b21b204af3fdcd1f43c2b0affd2e4fed7a4698d0f94533c88f1a8 | sha256sum