ADF: EU Tenders, EU Funding, CVE KEV EPSS, EU CERT Advisories, Amsterdam Events

EU tenders and funding, CVEs with KEV and EPSS, EU CERT advisories, Amsterdam events. Pay per query.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
77%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,665Tokens (tool definitions)
~3.5 KBTypical response size
Moderate attention impact (1.30% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agentdatafeed": {
      "url": "https://agentdatafeed.com/mcp"
    }
  }
}

Remote endpoints

https://agentdatafeed.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_datasets

Free. Returns every agentdatafeed dataset with record count, last update, price per query, filters and links. Call it first to choose a dataset, then use get_sample to inspect records or query_dataset for filtered data. When to use each dataset: amsterdam-events: Use when a user asks what is on in Amsterdam on a date or in a district, plans travel, venues, staffing, security or deliveries around large events, or needs crowd sizes, road closures context or permit status before the event appears on ticket sites. security-advisories: Use when a user asks whether a CVE is actively exploited, which vulnerabilities in a vendor or product to patch first, whether it is used in ransomware campaigns, or needs CISA KEV due dates, required actions and FIRST EPSS exploit probability in one call. eu-tenders: Use when a user asks which public tenders or government contracts are open in an EU country or sector, wants bid opportunities by CPV code or keyword with a deadline, or needs to monitor what public buyers are procuring before the deadline passes. eu-funding: Use when a user asks which EU grants, subsidies or Horizon Europe calls are open or coming up for a topic, sector or organisation type, needs the deadline, budget and call link for an EU funding opportunity, or looks for small cascade funding calls for SMEs and start-ups. cert-advisories: Use when a user asks whether the Dutch, German or French national CERT or CERT-EU has warned about a CVE, vendor or product, needs the official European advisory ID and link for a patch or NIS2 report, or wants recent government advisories that cover known exploited (CISA KEV) vulnerabilities. eu-medicines: Use when a user asks whether a medicine or active substance is authorised in the EU, who holds the marketing authorisation, what it is indicated for, whether there is a current EMA-monitored shortage, or which safety communications and referral procedures concern it.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "datasets": {
      "type": "array",
      "description": "One entry per dataset.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Dataset id to pass to get_sample or query_dataset."
          },
          "title": {
            "type": "string",
            "description": "Display name."
          },
          "description": {
            "type": "string",
            "description": "Coverage, sources and fields."
          },
          "records": {
            "type": "integer",
            "description": "Records in the current snapshot."
          },
          "updated": {
            "type": "string",
            "description": "Snapshot time, ISO 8601 UTC."
          },
          "price_usd_per_query": {
            "type": "string",
            "description": "Price in USD per paid query."
          },
          "payment": {
            "type": "string",
            "description": "Payment method."
          },
          "query": {
            "type": "string",
            "description": "Paid HTTPS query endpoint."
          },
          "sample": {
            "type": "string",
            "description": "Free sample endpoint."
          },
          "schema": {
            "type": "string",
            "description": "JSON Schema URL for the records."
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Filter name to meaning; pass these as query_dataset filters."
          },
          "fields_always_present": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields every record carries."
          }
        },
        "required": [
          "id",
          "price_usd_per_query",
          "query",
          "parameters"
        ]
      }
    }
  },
  "required": [
    "datasets"
  ]
}
🟢get_sample(dataset)

Free. Returns 5 real, current records from one dataset so you can check fields and quality before paying. Takes no filters: for records matching a date, place, vendor, country or keyword, use query_dataset.

Input Schema

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "enum": [
        "amsterdam-events",
        "security-advisories",
        "eu-tenders",
        "eu-funding",
        "cert-advisories",
        "eu-medicines"
      ],
      "description": "Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA)."
    }
  },
  "required": [
    "dataset"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset id."
    },
    "paid_placement_note": {
      "type": "string",
      "description": "Meaning of the paid_placement field."
    },
    "sample": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Up to 5 records; fields follow the dataset JSON Schema linked in list_datasets. Every record has verification and paid_placement."
    }
  },
  "required": [
    "dataset",
    "sample"
  ]
}
🟢query_dataset(dataset, filters)

Paid data access. Returns no records itself: it builds the HTTPS query URL for your filters and returns the x402 payment terms (USDC on Base; amsterdam-events $0.005, security-advisories $0.003, eu-tenders $0.01, eu-funding $0.005, cert-advisories $0.003, eu-medicines $0.005 per call). Send a GET to http_endpoint with an x402 client (v2 PAYMENT-SIGNATURE or v1 X-PAYMENT header) to receive up to 100 matching records; no account or API key. Filters per dataset: amsterdam-events: from, to, district, q, min_visitors, limit, offset; security-advisories: cve, vendor, product, q, added_since, ransomware, min_epss, limit, offset; eu-tenders: country, cpv, q, deadline_after, deadline_before, published_since, min_value, nature, limit, offset; eu-funding: q, programme, status, type, deadline_after, deadline_before, min_budget, limit, offset; cert-advisories: cve, vendor, product, q, cert, country, type, updated_since, kev, limit, offset; eu-medicines: q, type, category, substance, atc, area, holder, status, flag, shortage, updated_since, limit, offset. For free records without filters use get_sample.

Input Schema

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "enum": [
        "amsterdam-events",
        "security-advisories",
        "eu-tenders",
        "eu-funding",
        "cert-advisories",
        "eu-medicines"
      ],
      "description": "Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA)."
    },
    "filters": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Optional filters as name to string value, for example {\"country\":\"NLD\",\"cpv\":\"72\",\"limit\":\"5\"}. Allowed names per dataset are listed in this description and in list_datasets."
    }
  },
  "required": [
    "dataset"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "payment_required": {
      "type": "boolean",
      "description": "Always true: the endpoint needs an x402 payment."
    },
    "http_endpoint": {
      "type": "string",
      "description": "GET this URL with an x402 payment to receive the records."
    },
    "price_usd": {
      "type": "string",
      "description": "Price per call in USD."
    },
    "x402": {
      "type": [
        "object",
        "string"
      ],
      "description": "x402 v1 payment requirements (scheme, network, asset, amount, payTo); v2 terms come in the PAYMENT-REQUIRED header of the endpoint."
    }
  },
  "required": [
    "payment_required",
    "http_endpoint",
    "price_usd"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools