npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mambalabsdev/mcp-open-tender-rfp-finder

v1.0.1

Published

MCP server for Open Tender and RFP Finder. Find open public tenders and RFPs by keyword, CPV code, and country from UK Contracts Finder, UK Find a Tender, EU TED, and CanadaBuys: one row per notice with buyer, deadline, value, codes, and link. Runs on Api

Readme

Open Tender and RFP Finder MCP Server

Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server for the Mamba Labs Open Tender and RFP Finder actor on Apify. Give it keywords, CPV codes, or buyer countries. Each run reads four official public notice portals and returns one row per open tender or RFP notice.

What's Inside

What it does

The actor reads UK Contracts Finder, UK Find a Tender, EU TED (Tenders Electronic Daily), and the CanadaBuys open tender file, all official open data with no key. It keeps the notices that match your keywords and filters and returns one flat row per notice: buyer, buyer country, publication day, response deadline, days to deadline, estimated value and currency, CPV or UNSPSC codes, contract type, procedure, the buyer contact email the notice publishes, and a link. Filtered notices are never billed, and when nothing matches one free row says why.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-open-tender-rfp-finder": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-open-tender-rfp-finder"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The find_open_tenders tool appears.

Prerequisites

Example prompts

  • "Find open UK and Irish public tenders for software published this week."
  • "Which German and Dutch public bodies are buying IT services worth more than 100,000 EUR right now?"
  • "List open CanadaBuys RFPs for marketing services with their deadlines."

Tool

find_open_tenders. One tool. Example arguments:

{
  "keywords": [
    "software"
  ],
  "countries": [
    "GB"
  ],
  "published_within_days": "7"
}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

| Input | Type | Description | |---|---|---| | keywords | array | Words or phrases to find in the notice title or description, any case. A notice matches any of them. EU TED matches over the full notice text in every language. Empty: every open notice in the window. Up to 25. | | exclude_keywords | array | Drop a notice whose title or description contains any of these. | | cpv_prefixes | array | Keep notices with a CPV code that starts with one of these, for example 72 or 48000000. CanadaBuys uses UNSPSC codes, so a CPV filter leaves it out. | | countries | array | Two letter buyer country codes, for example GB, DE, CA. A portal that covers none of them is skipped. | | portals | array | Portals to read. Default all four. | | published_within_days | string | Publication window in days, 1 to 90, today included. Default 14. | | only_open | string | Drop notices whose deadline has passed. Default true. | | min_value | string | Drop notices valued below this number, in the notice currency. Notices with no value are kept. | | max_notices | string | Notice rows per run, newest first, up to 5000. Each notice row is billed. Default 100. | | only_new | string | Skip notices an earlier run with the same state_key returned. Default false. | | state_key | string | Names the seen list for only_new. | | max_charge_usd | string | Optional. The run stops before any row that would take its charges over this amount. |

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

| Event | Free plan | Bronze | Silver | Gold | |---|---|---|---|---| | notice-row, per notice row | $0.003 | $0.00285 | $0.0027 | $0.00255 | | apify-actor-start, per run start | $0.002 | $0.002 | $0.002 | $0.002 |

The no results row and notices skipped by only_new are free.

Your keys

The actor needs no key. Every portal is an official open data API or file, read directly, and the actor holds no key of any kind. Mamba Labs pays the platform and proxy costs of the run.

Full actor documentation

apify.com/mambalabs/open-tender-rfp-finder

License

MIT. See LICENSE.