# tw.tobid/tenders

> Taiwan government tenders: 14M+ notices, vendor/agency intel, forecasts, committees, debarment list.

- name: tw.tobid/tenders
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tw.tobid%2Ftenders
- tools: https://api.protogrid.dev/v1/servers/tw.tobid%2Ftenders/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "tenders": {
      "type": "http",
      "url": "https://api.tobid.tw/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% ~updated-45d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: vendor_report (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); compare_vendors (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); find_entity (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,859 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 4 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 22, about 2,859 tokens to load them all
- tool set hash: cb6fef0d287b1d29b765457b7bd926f7
- tools last changed: 2026-10-05T12:59:04.687Z
- badge: [![protogrid quality](https://protogrid.dev/badge/tw.tobid/tenders.svg)](https://protogrid.dev/servers/tw.tobid/tenders)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-05 `get_tender` changed (description)
  - before: 單一標案的完整歷程：招標→決標的每則公告、預算與決標金額、得標廠商、 競爭態勢（幾家投標／是否單一投標）、是否為續約案、政府電子採購網的 招標文件領取頁與公告詳細內容頁網址，以及**開標實況**——決標公告揭露的 每一家投標廠商、各自標價、底價、未得標原因。 開標實況是別處查不到的：可以看出出價最低的為什麼沒得標。 unit_id 與 job_number 來自 search_tenders 的結果列。
  - after: 單一標案的完整歷程：招標→決標的每則公告、預算與決標金額、得標廠商、 競爭態勢（幾家投標／是否單一投標）、是否為續約案、政府電子採購網的 招標文件領取頁與公告詳細內容頁網址，以及**開標實況**——決標公告揭露的 每一家投標廠商、各自標價、底價、未得標原因。 開標實況是別處查不到的：可以看出出價最低的為什麼沒得標。 另有 official_details：政府電子採購網公告的明細——招標方式、決標方式、是否訂有底價、截止投標、 開標時間與地點、押標金、是否電子投標、收受投標文件地點、履約地點與期限、後續擴充、廠商資格摘要、 是否受機關補助、聯絡窗口。日期為民國年。還在招標的案子第一次查可能要幾秒； 拿不到時看 official_details_note 的說明。 unit_id 與 job_number 來自 search_tenders 的結果列。
- 2026-09-24 `bid_strategy` changed (description)
  - before: 還沒決標的案子：投標策略。回答「我該報多少、有多少機會贏」「這案勝負在價格還是評選」。 最低標：回報價占預算的百分比 → 預估勝率（會是最低價的機率），以及七成／五成勝算的報價與換算金額、 主要對手習慣的報價、預估來投家數、偏低風險門檻（施行細則第 79 條：低於底價 80% 機關可要求說明或擔保）。 勝率用「對手模擬」：可能投標廠商的來投機率 × 各自近 3 年同類最低標的報價分布＋名單外廠商； 回測 2026-08～09 已決標 300 件最低標案，預測 60% 的價位實際六成是最低價。 最有利標：回得標價中位數、報價最低的廠商有幾成拿到案子（通常不到一半，勝負在評選）。 **這是依歷史資料的估計，不保證結果**；回答時要說明，並提醒使用者依自身成本評估，不要說成保證得標。 unit_id 與 job_number 來自 search_tenders 的結果列；已決標的案子改用 get_tender。
  - after: 還沒決標的案子：投標行情與對手習慣。回答「這類案子通常成交在預算的幾成」「主要對手習慣報多少」「勝負在價格還是評選」。 最低標：參考案得標價占預算的 10%／中位數／90% 分位、主要對手近 3 年同類最低標的報價中位數（附樣本數）、 這個機關同類案過去平均幾家投標、預估底價與偏低門檻（施行細則第 79 條：低於底價 80% 機關可要求說明或擔保）。 最有利標：得標價中位數、報價最低的廠商有幾成拿到案子（通常不到一半，勝負在評選）。 **不提供勝率或建議報價**（回測顯示估計不穩、還輸給簡單規則）；回答時用行情區間與對手習慣說明，提醒使用者依自身成本評估。 unit_id 與 job_number 來自 search_tenders 的結果列；已決標的案子改用 get_tender。
- 2026-09-24 `bid_strategy` added
  - 還沒決標的案子：投標策略。回答「我該報多少、有多少機會贏」「這案勝負在價格還是評選」。 最低標：回報價占預算的百分比 → 預估勝率（會是最低價的機率），以及七成／五成勝算的報價與換算金額、 主要對手習慣的報價、預估來投家數、偏低風險門檻（施行細則第 79 條：低於底價 80% 機關可要求說明或擔保）。 勝率用「對手模擬」：可能投標廠商的來投機率 × 各自近 3 年同類最低標的報價分布＋名單外廠商； 回測 2026-08～09 已決標 300 件最低標案，預測 60% 的價位實際六成是最低價。 最有利標：回得標價中位數、報價最低的廠商有幾成拿到案子（通常不到一半，勝負在評選）。 **這是依歷史資料的估計，不保證結果**；回答時要說明，並提醒使用者依自身成本評估，不要說成保證得標。 unit_id 與 job_number 來自 search_tenders 的結果列；已決標的案子改用 get_tender。
- 2026-09-23 `likely_bidders` added
  - 還沒決標的案子：依過去 3 年**公開決標紀錄**推估「可能會投標的廠商」（最多 10 家，依可能性排序）， 附每家對手的輪廓：是不是既有廠商、全國勝率、得標時通常拿預算幾成（出價多兇）、最近 90 天活不活躍。 綜合這個機關同名案歷年的投標者、機關常客、全國類似案與同縣市同類別的廠商，用歷史案子訓練的模型排序。 **這是推估，不是機關的領標或投標名單**（採購法第 34 條規定開標前保密，本站拿不到也不使用）； 回答時務必說明是依公開資料推估、實際投標廠商以決標公告為準，不要說成「預測得標」。 tier：history＝這個機關有同名案紀錄（最準）；similar＝只有類似案（參考）；null＝資料不足，不提供名單。 backtest 是這一類案子的回測準確度。已決標的案子請改用 get_tender 看實際投標廠商。 unit_id 與 job_number 來自 search_tenders 的結果列。

Full history: https://api.protogrid.dev/v1/servers/tw.tobid%2Ftenders/changes

## Remotes

- https://api.tobid.tw/mcp (streamable-http, auth none, reachable true, uptime30d 0.974359)

## Packages

_none_

## Tools (22)

- `asset_sales`: 公家機關財物變賣（kind=sell）或出租（kind=rent）公告：車輛、設備、廢料、場地、攤位等；
    以及國有財產署（國產署）的國有土地標租（kind=nps_rent）與標售（kind=nps_sale）——這兩類不在政府電子採購網。
    q 篩財物名稱或機關（國產署類：地號、縣市、鄉鎮、使用分區、租約類別）；語法：空白＝且、OR＝或、-詞＝排除，台／臺互通。
    open_only 只列還沒截止／還沒開標的，設 False 時國產署類會改列開標結果（得標金額、超出底價％、投標數）。
    **open_only 查到 0 筆時會自動附上近期已結束的**：一般財物附 recently_closed（最近 90 天截止的，沒有再放寬到一年，
    status＝已截止）；國產署附 recent_results（最近的開標結果，含得標金額）。可看行情與哪些機關常釋出，下一批通常類似。
    回傳公告日、截止日或開標日、底價、保證金、面積、標的所在地與官網連結。
- `bid_strategy`: 還沒決標的案子：投標行情與對手習慣。回答「這類案子通常成交在預算的幾成」「主要對手習慣報多少」「勝負在價格還是評選」。
    最低標：參考案得標價占預算的 10%／中位數／90% 分位、主要對手近 3 年同類最低標的報價中位數（附樣本數）、
    這個機關同類案過去平均幾家投標、預估底價與偏低門檻（施行細則第 79 條：低於底價 80% 機關可要求說明或擔保）。
    最有利標：得標價中位數、報價最低的廠商有幾成拿到案子（通常不到一半，勝負在評選）。
    **不提供勝率或建議報價**（回測顯示估計不穩、還輸給簡單規則）；回答時用行情區間與對手習慣說明，提醒使用者依自身成本評估。
    unit_id 與 job_number 來自 search_tenders 的結果列；已決標的案子改用 get_tender。
- `committee_member`: 採購評選委員個人紀錄：評選案數、資料期間、現職版本、常評選的機關、類別比例、
    常一起出現的委員、評選案的得標廠商彙整、決標／預算比（基準為全部評選案）與最近案件。
    姓名要完整；不確定時先用 search_committee_members。回答時請附合議制聲明。
- `compare_vendors`: 兩家廠商的同場對戰紀錄：交手幾次、各贏幾次。
    兩個名稱都要是正式全名（先用 find_entity 查）。
    適合回答「A 跟 B 誰比較強」「我常輸給誰」。
- `evaluation_committee`: 某一案的採購評選委員名單（機關公開者）：姓名、現職、與本案相關學經歷。
    未公開時回傳機關的說明。回答時請附上合議制聲明。
- `find_entity`: 用不完整的名稱找機關或廠商的正式名稱與代碼。
    例：輸入「台電」找台灣電力公司相關、「北市府」找臺北市政府相關。
    vendor_report / unit_report / compare_vendors 需要正式名稱，先用這個查。
- `framework_contracts`: 共同供應契約：機關不用另外招標、可直接下單的品項與廠商。
    mode="awards"（預設）：共契決標公告，一案一列，附品項（名稱、決標金額）與得標廠商；q 逐詞比對案名、機關、品項、廠商，
    vendor 給廠商正式全名，year 西元或民國年。
    mode="catalog"：現行共契品項目錄（工程會開放資料，限具環保標章品項），一列一個品項×廠牌型號×立約商，涵蓋台銀集中採購的
    電腦主機、螢幕、印表機、耗材、投影機、冷氣、影印機租賃等 18 個契約與各醫院衛材藥品（附決標單價）；筆電、軟體等不在內。
    q 比對品項、型號、廠商、分類，vendor 可給統編。
    mode="series"：契約系列——同一機關同一系列（如台銀「電腦設備用品」）的歷期歸在一起，回每系列期數、慣例決標月份、
    最近一期金額與得標家數、下一期預估年月（依歷期間隔推算）；q 比對系列名／機關，vendor 不適用。
    mode="series_detail"：某一系列的每期明細與立約商進出（新進／退出／連續在榜），q 給系列名、unit_id 給機關代碼（從 series 結果取）。
    mode="vendor"：一家廠商的共契版圖——歷年共契決標、現行目錄裡的品項數／分類／廠牌、同品項的競爭者；vendor 給正式全名。
    問「某型號／某類商品共契由哪些廠商供應」用 catalog；問「哪家廠商拿過共契、金額多少」用 awards；
    問「這個共契多久招一次、下一輪大概什麼時候、誰進誰出」用 series／series_detail。
- `get_tender`: 單一標案的完整歷程：招標→決標的每則公告、預算與決標金額、得標廠商、
    競爭態勢（幾家投標／是否單一投標）、是否為續約案、政府電子採購網的
    招標文件領取頁與公告詳細內容頁網址，以及**開標實況**——決標公告揭露的
    每一家投標廠商、各自標價、底價、未得標原因。
    開標實況是別處查不到的：可以看出出價最低的為什麼沒得標。
    另有 official_details：政府電子採購網公告的明細——招標方式、決標方式、是否訂有底價、截止投標、
    開標時間與地點、押標金、是否電子投標、收受投標文件地點、履約地點與期限、後續擴充、廠商資格摘要、
    是否受機關補助、聯絡窗口。日期為民國年。還在招標的案子第一次查可能要幾秒；
    拿不到時看 official_details_note 的說明。
    unit_id 與 job_number 來自 search_tenders 的結果列。
- `hot_opportunities`: 流標機會：反覆流標、至今未決標的案子——競爭者少、機關急著發包，
    是新廠商切入的好標的。回傳最新 10 筆。
- `likely_bidders`: 還沒決標的案子：依過去 3 年**公開決標紀錄**推估「可能會投標的廠商」（最多 10 家，依可能性排序），
    附每家對手的輪廓：是不是既有廠商、全國勝率、得標時通常拿預算幾成（出價多兇）、最近 90 天活不活躍。
    綜合這個機關同名案歷年的投標者、機關常客、全國類似案與同縣市同類別的廠商，用歷史案子訓練的模型排序。
    **這是推估，不是機關的領標或投標名單**（採購法第 34 條規定開標前保密，本站拿不到也不使用）；
    回答時務必說明是依公開資料推估、實際投標廠商以決標公告為準，不要說成「預測得標」。
    tier：history＝這個機關有同名案紀錄（最準）；similar＝只有類似案（參考）；null＝資料不足，不提供名單。
    backtest 是這一類案子的回測準確度。已決標的案子請改用 get_tender 看實際投標廠商。
    unit_id 與 job_number 來自 search_tenders 的結果列。
- `price_analysis`: 底價分析：這個案子大概會以多少錢成交。
    依歷史「決標／預算比」給三檔出價建議（保守／典型／積極），
    比較基準依樣本充足度自動選：相似案（標題關鍵詞比對）＞同機關＞同細類＞同大類＞全庫。
    另外回傳 **reserve**：從已決標案子回推的真實底價分布——機關把底價訂在預算的幾成、
    決標價又落在底價的幾成。底價在開標前保密，這是同類已決標案的統計，
    依決標方式分開（評選類的價格由機關訂定，決標價通常等於底價）。
    適合在使用者問「這案該報多少」「值不值得投」時使用。
- `procurement_forecast`: 採購預告：機關在正式招標前公布的「幾月要招、預算多少」，通常早 1～3 個月，
    是唯一能搶在公告前準備的來源。q 篩標案名稱或機關（空白＝且，台／臺互通），unit 給機關代碼（含下級機關）。
    注意：官網只公布未來 1～3 個月的預告，全庫通常只有一百多件，很多主題本來就沒有。
    **官方預告 0 筆時，會自動改回傳 recurring_estimates**：同一機關每年重複發包的案子（出現 3 年以上），
    依歷年招標月份推估下次約在哪個月——這是推估、不是官方預告，引用時請講清楚。
    include_past=True 連已經到期的舊預告一起列。
    回傳預定招標年月、預定預算、招標方式、履約地點與官網連結。
- `public_reading`: 公開閱覽：招標文件草案公開徵求廠商意見的案件，廠商可在意見截止日前向機關提出規格或資格意見。
    預設只列「閱覽期內」的案（通常只有幾十件）；include_closed=True 連閱覽期已過的一起列（有三千多件，適合看某類案的規格草案）。
    **閱覽期內 0 筆時，會自動附上 recently_closed**：最近 90 天內已結束的同類公開閱覽（已截止、不能再提意見），
    可以看這類案有哪些機關在辦、規格草案長怎樣，通常不久後就會正式招標。
    q 篩標案或機關（空白＝且，台／臺互通），unit 給機關代碼。
- `search_committee_members`: 用姓名、現職或機關名稱找採購評選委員；回傳評選案數最多的前幾位。
- `search_tenders`: 搜尋政府標案公告。

    q: 關鍵字（比對標題與機關名，例「冷氣」「智慧路燈」）。空白＝且（「路燈 監視器」兩個都要有）、
       OR＝或（「路燈 OR 監視器」）、-詞＝排除（「路燈 -維護」）；OR 優先序最低，不支援括號。
    kind: tender=招標中 / award=已決標 / failed=流標，空=全部。
    region: 縣市（例「台北市」「高雄市」，「臺」寫成「台」）。
    year: 公告日期的西元年。只有使用者明確指定年份時才填；不確定就留空——
          填了會把跨年度的案子排除（去年底公告、今年才截標的案子就看不到）。
    unit_id: 機關代碼（用 find_entity 取得）——查「某機關發的案」用這個，
             比 q 精確（q 是全文比對）。
    unit_name: 機關名稱片段（例「臺中市政府」，含所屬機關）；沒有代碼時用這個。
    vendor: 廠商名稱（正式全名）——查該廠商投標／得標過的案。
    budget_min/budget_max: 預算金額範圍（新台幣元）。
    回傳最新 10 筆與總數；需要更多用 page 翻頁。
    
- `subcontract_opportunities`: 分包機會：大型企業得標後，決標公告會登記「預估分包予中小企業之金額」（採購法第 67 條允許分包，第 65 條禁止轉包）。
    中小企業可以用來找上游：哪些大廠剛標到大案、預計要分多少出來，附得標廠商在決標公告登記的電話地址。
    mode="list"（預設）：有預估分包的決標案，q 比對案名／機關／得標廠商（空白＝且、OR＝或、-詞＝排除），region 縣市、
    category 工程類／財物類／勞務類，sort=date（新到舊）／amount（分包金額）／rate（分包比例）。
    mode="leaders"：常分包的大廠排行（期間內預估分包總額）；mode="units"：大廠得標案分包最多的機關；
    mode="vendor"：一家廠商（vendor 給正式全名）的分包紀錄。days 期間，預設 365。
    注意：這是決標時的預估值，實際分包以契約為準；只記大型企業分給中小企業的部分。
- `unit_committee`: 機關常找的評選委員：席次數、占比與前 5 位集中度（40% 以上代表委員圈子相對固定）。
    unit 為機關代碼（先用 find_entity 查）。
- `unit_report`: 機關情報報告：發包規模與金額、主要供應商、供應商集中度、
    競爭程度（平均投標家數／單一投標率／流標率）、發案旺月、
    **peer_comparison**：這些指標在同類型、同規模機關裡的百分位（pct 80＝比 80% 同類高），
    判斷「算高還是低」要看這個，不要拿不同類型的機關直接比數字、
    「固定週期標案」——每年重複招標的案與**預估下次發案時間**，
    以及 **reserve_profile**：這個機關把底價訂在預算的幾成、決標價落在底價的幾成
    （依決標方式分開，同樣是最低標，各機關鬆緊差很多）。
    unit 可以是機關代碼（如 3.76.54）或機關全名（會自動查代碼）。
    適合回答「這個機關好不好投」「它什麼時候會再發案」。
- `vendor_awards`: 某一家廠商的歷年得標清單（一案一列、新到舊），附逐年件數與金額。
    name 必須是正式全名（先用 find_entity 查）；year 可用西元或民國年篩選單一年度；
    unit_id 只看某個機關發給它的案；limit 最多 100，需要更多用 page 翻頁。
    award_amount 是這家自己拿到的決標金額：複數決標（同案多家得標或分品項）時不是全案總額，
    那種列會另附 winners（得標家數）與 case_total（全案總額）。
    要看得標率、對手、往來機關等分析用 vendor_report；要看單一案的開標實況用 get_tender。
- `vendor_committee`: 廠商投過且有公開名單的案子裡最常遇到的評選委員：同案次數、其中得標次數，
    並附該廠商整體得標率作為基準。name 必須是正式全名。回答時請附合議制聲明，
    不要推論委員與廠商之間的關係。
- `vendor_compliance`: 廠商的政府採購法第 101 條相關紀錄：拒絕往來（生效中／期滿）、註銷拒絕往來、
    停權案例（含申訴結果）。name 必須是正式全名。全部為政府電子採購網公告的事實，
    請附來源並註明「停權案例含申訴審議中或已撤銷者，以官網記載的救濟結果為準」。
    拒絕往來期間依第 103 條不得參加投標或作為決標對象或分包廠商。
- `vendor_report`: 廠商情報報告：得標率、已知得標總額、最大客戶、單一投標比例
    （開標時只有它一家的案子占比，全庫平均 50.1%）、最常交手的對手與相對勝率、
    近期得標與「近期輸給誰」。name 必須是正式全名（先用 find_entity 查）。
    適合分析競爭對手或盡職調查。
