TenderScope

io.github.MarutMarutyanPublished by GitHub account MarutMarutyanv1.4.0Updated Oct 26, 2026

Public tenders (EU TED, Armenia) for AI agents: search, details, watchlists, alerts.

The publisher's own server: Scope (AEC) - Preview

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for searching live public procurement tenders from EU TED and Armenia ARMEPS, with tender details, watchlists and deadline alerts.

What you can do
  • Search open tenders from EU TED and Armenia ARMEPS by free text in English, Russian or Armenian, with filters for country, CPV/OKPD2 codes, budget and deadline
  • Read a full tender card: status, deadline, budget, subject, lots with prices and CPV codes, and links to documents
  • Save a query and its filters as a watchlist for ongoing monitoring, with email digests and, on the Pro plan, signed HTTPS webhooks
  • List deadline alerts from your watchlists for the last 30 days, nearest deadline first
When to use it
Useful when an assistant needs current tender, bid or procurement-deadline information for EU or Armenian buyers, where ordinary web search does not see fresh portal notices. Also suited to ongoing monitoring of a search query through watchlists and alerts.
Requirements
Remote streamable HTTP endpoint at tenderscope.app. A TenderScope MCP key is required, sent as an Authorization bearer token (format Bearer tsk_mcp_…), created in the TenderScope dashboard. A TenderScope account and plan apply; webhooks are Pro only.
Before you install
The bearer token is a secret and must be kept private. add_to_watchlist creates a new watchlist on every call and triggers email or webhook notifications, so repeated calls can pile up watchlists. On the Free plan, CPV codes, lots and document links are omitted from tender cards. Russia (zakupki.gov.ru) is not currently covered, and budgets may be null when the buyer did not publish one.

Installation

In SourceWeft

  1. Open TenderScope in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.MarutMarutyan%2Ftenderscope/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tenderscope": {
      "type": "http",
      "url": "https://tenderscope.app/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

tenderscope-lite

A tiny MCP server that lets your AI agent search open EU public tenders live from the official TED Search API.

  • One tool: search_tenders
  • Runs locally over stdio, no database, no account, no API key
  • Returns structured cards (title, buyer, country, budget, deadline, link), not web pages
  • Only tenders whose deadline is still in the future

Want Armenian tenders (ARMEPS) with budgets read from the invitation documents, watchlists, deadline alerts and a hosted API? That is the hosted TenderScope service (free plan included). This package is its open-source thin version.

Install

Requires Node.js 22 or newer.

bash
npx -y github:MarutMarutyan/tenderscope-lite

Or from a clone (the repository already contains the built dist/):

bash
git clone https://github.com/MarutMarutyan/tenderscope-lite.gitnode tenderscope-lite/dist/tenderscope-lite.mjs

Connect to Claude Desktop

Open the config file (Settings, Developer, Edit Config) and add:

json
{  "mcpServers": {    "tenderscope-lite": {      "command": "npx",      "args": ["-y", "github:MarutMarutyan/tenderscope-lite"]    }  }}

Restart Claude Desktop, then ask: "Find open IT tenders in Germany with a deadline next month."

Connect to Cursor

Add the same block to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

json
{  "mcpServers": {    "tenderscope-lite": {      "command": "npx",      "args": ["-y", "github:MarutMarutyan/tenderscope-lite"]    }  }}

Tool: search_tenders

ArgumentTypeMeaning
qstringKeywords, e.g. software development. May be empty.
countriesstring[]Buyer countries, ISO 3166-1 alpha-2 (EU/EEA), e.g. ["DE","FR"]
cpvstring[]CPV code prefixes, e.g. ["72"] for IT services
daysintegerLook at notices published in the last N days (1-90, default 30)
limitintegerCards to return (1-20, default 10)

Response: { "results": [ { id, title, buyer, country, budget, currency, deadline, publishedAt, cpv, url } ] }. An empty result comes with a hint on how to widen the query. Budget is a string ("125000.00"), dates are ISO 8601 UTC; either may be null when the notice does not state them.

Notes

  • Data comes straight from the TED Search API v3 (no HTML scraping). Be polite: every tool call is one request.
  • Only notice metadata and links are returned, never document texts.

Development

bash
npm installnpm run build   # bundles into dist/tenderscope-lite.mjsnpm test        # tests with a stubbed fetch, no network

The TED notice parser in src/vendor/ is shared with the hosted service and copied from its repository on every release; send fixes as issues or pull requests here and they are carried over.

License

MIT

Source: README.md at commit 8fd7f40

Tools

4

search_tenders

Search public tenders

Search open public procurement tenders (government tenders, госзакупки, тендеры) from official portals: EU TED and Armenia ARMEPS (armeps.am, gnumner.am). Free text in English, Russian or Armenian, optional filters: country, CPV/OKPD2 codes, budget, deadline. Returns up to 20 short cards; "subject" lists the lot names when the title alone does not say what is procured. Words are matched in the title, lot names and buyer. Budgets are in each tender's own currency (Armenia: AMD, from the invitation document); to compare budgets across countries, set budgetCurrency (e.g. "EUR") with minBudget/maxBudget.

ParametersqrequiredcpvlimitcountriesmaxBudgetminBudgetdeadlineAfterbudgetCurrency

get_tender

Get tender details

Get the full card of one tender: status, deadline, budget, what is procured (subject), lots with prices and CPV codes, links to tender documents. Use the id from search_tenders results. On the Free plan, CPV codes, lots and document links are omitted.

Parametersidrequired

add_to_watchlist

Add tender watchlist

Save a query and filters as a watchlist for ongoing monitoring; new, amended and closing-soon matching tenders are then sent by email (Free plan: daily digest) and/or a signed HTTPS webhook (Pro plan). Returns watchlistId and how many open tenders match right now. Each call creates a new watchlist (the number per plan is limited); manage or delete watchlists in the dashboard.

Parametersnamerequiredfiltersrequiredchannels

get_deadline_alerts

Get deadline alerts

List alerts from your watchlists for the last 30 days on tenders that are still open, nearest deadline first (up to 50). Does not mark alerts as read. Empty until you create a watchlist with add_to_watchlist.

Takes no parameters.

Version history

2
  1. v1.4.0LatestOct 26, 2026
  2. v1.3.0Oct 21, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Scope integrations