TenderScope

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

我該用這個嗎

品質與安全性

A
說明品質
95%
結構描述完整度
82%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,843Token(工具定義)
~9.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.78%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "tenderscope": {
      "url": "https://tenderscope.app/mcp"
    }
  }
}

遠端端點

https://tenderscope.app/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search_tenders(q, countries, cpv, minBudget, maxBudget, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 500,
      "description": "Free-text query in English, Russian or Armenian, e.g. \"IT services, deadline > week\""
    },
    "countries": {
      "description": "Buyer countries, ISO 3166-1 alpha-2 (e.g. [\"DE\", \"AM\"])",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z]{2}$"
      }
    },
    "cpv": {
      "description": "CPV codes or prefixes (e.g. [\"72\", \"48\"])",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d{2,8}(-\\d)?$"
      }
    },
    "minBudget": {
      "description": "Minimum estimated budget, in the tender currency",
      "type": "number",
      "minimum": 0
    },
    "maxBudget": {
      "description": "Maximum estimated budget, in the tender currency",
      "type": "number",
      "minimum": 0
    },
    "deadlineAfter": {
      "description": "Only tenders whose deadline is after this ISO 8601 date/datetime",
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
        }
      ]
    },
    "budgetCurrency": {
      "description": "Currency of minBudget/maxBudget (ISO 4217). When set, each tender budget is converted at fixed reference rates (updated quarterly), so EU (EUR, PLN, SEK…), Armenian (AMD) and Russian (RUB) tenders compare fairly; tenders in other currencies are skipped. When omitted, budgets are compared in each tender's own currency.",
      "type": "string",
      "enum": [
        "EUR",
        "USD",
        "GBP",
        "CHF",
        "NOK",
        "ISK",
        "SEK",
        "DKK",
        "PLN",
        "CZK",
        "HUF",
        "RON",
        "BGN",
        "AMD",
        "RUB"
      ]
    },
    "limit": {
      "default": 10,
      "description": "Number of results, 1–20 (default 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "q"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "results": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "subject": {
            "description": "What is procured: lot names from the tender (for Armenian tenders, from the invitation document), in the original language (e.g. Armenian), separated by \"; \". Omitted when unknown or the same as the title.",
            "type": "string"
          },
          "buyer": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "description": "ISO 3166-1 alpha-2",
            "type": [
              "string",
              "null"
            ]
          },
          "budget": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Estimated budget as a decimal string, e.g. \"125000.00\""
          },
          "currency": {
            "description": "ISO 4217",
            "type": [
              "string",
              "null"
            ]
          },
          "deadline": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Submission deadline, ISO 8601 UTC"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "ted",
              "gnumner",
              "eaeu"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "buyer",
          "country",
          "budget",
          "currency",
          "deadline",
          "url",
          "source"
        ],
        "additionalProperties": false
      }
    },
    "hint": {
      "description": "How to broaden the query when there are few or no results",
      "type": "string"
    },
    "degradedSources": {
      "description": "Sources currently failing; data may be stale",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ted",
          "gnumner",
          "eaeu"
        ]
      }
    },
    "budgetNote": {
      "description": "Why some results have budget null (not published or not yet read); present only when some do",
      "type": "string"
    }
  },
  "required": [
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_tender(id)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Tender id from search_tenders results"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "subject": {
      "description": "What is procured: lot names from the tender (for Armenian tenders, from the invitation document), in the original language (e.g. Armenian), separated by \"; \". Omitted when unknown or the same as the title.",
      "type": "string"
    },
    "buyer": {
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "description": "ISO 3166-1 alpha-2",
      "type": [
        "string",
        "null"
      ]
    },
    "budget": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^-?\\d+(\\.\\d+)?$"
        },
        {
          "type": "null"
        }
      ],
      "description": "Estimated budget as a decimal string, e.g. \"125000.00\""
    },
    "currency": {
      "description": "ISO 4217",
      "type": [
        "string",
        "null"
      ]
    },
    "deadline": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
        },
        {
          "type": "null"
        }
      ],
      "description": "Submission deadline, ISO 8601 UTC"
    },
    "url": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "ted",
        "gnumner",
        "eaeu"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "amended",
        "cancelled",
        "closed"
      ]
    },
    "publishedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
        },
        {
          "type": "null"
        }
      ]
    },
    "region": {
      "type": [
        "string",
        "null"
      ]
    },
    "lotsCount": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
    },
    "cpvCodes": {
      "description": "Omitted on the Free plan",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "okpd2Codes": {
      "description": "OKPD2 codes (EAEU sources); omitted on the Free plan",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "lots": {
      "description": "Omitted on the Free plan",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "budget": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              {
                "type": "null"
              }
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "cpvCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "title",
          "budget",
          "currency",
          "cpvCodes"
        ],
        "additionalProperties": false
      }
    },
    "docsUrl": {
      "description": "Links to tender documents; omitted on the Free plan",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "budgetNote": {
      "description": "Why budget is null; present only when it is",
      "type": "string"
    },
    "hint": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "title",
    "buyer",
    "country",
    "budget",
    "currency",
    "deadline",
    "url",
    "source",
    "status",
    "publishedAt",
    "region",
    "lotsCount",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴add_to_watchlist(name, filters, channels)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Watchlist name"
    },
    "filters": {
      "type": "object",
      "properties": {
        "q": {
          "description": "Free-text query (any language), e.g. \"IT services, Armenia\"",
          "type": "string",
          "maxLength": 500
        },
        "countries": {
          "description": "Buyer countries, ISO 3166-1 alpha-2 (e.g. [\"DE\", \"AM\"])",
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$"
          }
        },
        "cpv": {
          "description": "CPV codes or prefixes (e.g. [\"72\", \"48\"])",
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\d{2,8}(-\\d)?$"
          }
        },
        "minBudget": {
          "description": "Minimum estimated budget, in the tender currency",
          "type": "number",
          "minimum": 0
        },
        "maxBudget": {
          "description": "Maximum estimated budget, in the tender currency",
          "type": "number",
          "minimum": 0
        },
        "deadlineAfter": {
          "description": "Only tenders whose deadline is after this ISO 8601 date/datetime",
          "anyOf": [
            {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            }
          ]
        },
        "budgetCurrency": {
          "description": "Currency of minBudget/maxBudget (ISO 4217). When set, each tender budget is converted at fixed reference rates (updated quarterly), so EU (EUR, PLN, SEK…), Armenian (AMD) and Russian (RUB) tenders compare fairly; tenders in other currencies are skipped. When omitted, budgets are compared in each tender's own currency.",
          "type": "string",
          "enum": [
            "EUR",
            "USD",
            "GBP",
            "CHF",
            "NOK",
            "ISK",
            "SEK",
            "DKK",
            "PLN",
            "CZK",
            "HUF",
            "RON",
            "BGN",
            "AMD",
            "RUB"
          ]
        }
      },
      "description": "Which tenders to watch: the same query and filters as search_tenders (q, countries, cpv, budget, deadlineAfter); filters that match every tender are rejected"
    },
    "channels": {
      "default": {
        "email": true
      },
      "description": "Where alerts go: email (default) and/or an HTTPS webhook; webhooks need the Pro plan, Free gets a daily email digest",
      "type": "object",
      "properties": {
        "email": {
          "default": true,
          "description": "Send alerts by email",
          "type": "boolean"
        },
        "webhook": {
          "description": "HTTPS endpoint for signed JSON alerts",
          "type": "string",
          "maxLength": 2048,
          "format": "uri"
        }
      }
    }
  },
  "required": [
    "name",
    "filters"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "watchlistId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "estimatedMatches": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Open tenders matching the filters right now"
    },
    "hint": {
      "description": "Note about the filters, e.g. which currency the budget range uses",
      "type": "string"
    }
  },
  "required": [
    "watchlistId",
    "estimatedMatches"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "alerts": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "watchlistId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "watchlistName": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "enum": [
              "new",
              "deadline-24h",
              "amended"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
          },
          "tender": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "subject": {
                "description": "What is procured: lot names from the tender (for Armenian tenders, from the invitation document), in the original language (e.g. Armenian), separated by \"; \". Omitted when unknown or the same as the title.",
                "type": "string"
              },
              "buyer": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "country": {
                "description": "ISO 3166-1 alpha-2",
                "type": [
                  "string",
                  "null"
                ]
              },
              "budget": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Estimated budget as a decimal string, e.g. \"125000.00\""
              },
              "currency": {
                "description": "ISO 4217",
                "type": [
                  "string",
                  "null"
                ]
              },
              "deadline": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Submission deadline, ISO 8601 UTC"
              },
              "url": {
                "type": "string"
              },
              "source": {
                "type": "string",
                "enum": [
                  "ted",
                  "gnumner",
                  "eaeu"
                ]
              }
            },
            "required": [
              "id",
              "title",
              "buyer",
              "country",
              "budget",
              "currency",
              "deadline",
              "url",
              "source"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "watchlistId",
          "watchlistName",
          "reason",
          "createdAt",
          "tender"
        ],
        "additionalProperties": false
      }
    },
    "hint": {
      "type": "string"
    }
  },
  "required": [
    "alerts"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具