Sell to State

Government tenders, contract awards, buyers and suppliers from official sources in 60+ countries.

我該用這個嗎

品質與安全性

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

發現項目(4)

  • LOWTool 'get_tender' description lacks action verb在 get_tender 中
  • LOWTool 'list_buyers' description lacks action verb在 list_buyers 中
  • LOWTool 'list_suppliers' description lacks action verb在 list_suppliers 中
  • LOWTool 'list_sectors' description lacks action verb在 list_sectors 中

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

上下文成本

~2,595Token(工具定義)
~691 B典型回應大小
顯著的注意力影響(128k 上下文的 2.03%)

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

安裝

一鍵安裝

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

{
  "mcpServers": {
    "mcp": {
      "url": "https://app.selltostate.com/api/mcp"
    }
  }
}

遠端端點

https://app.selltostate.com/api/mcpstreamable-http

它能做什麼

工具清單

工具(26)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
⚪whoami

Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when inactive (active:false) so an agent can verify auth and decide whether to pay before doing work.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢search_awards(country, q, agency, agency_slug, supplier, ...)

Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapore. A bad value or an unknown argument is an invalid-params error whose data lists every problem (errors[]). Returns {rows, total, page, pageSize}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "Country slug. Omitted means singapore."
    },
    "q": {
      "type": "string",
      "description": "Text in the tender description (substring)."
    },
    "agency": {
      "type": "string",
      "description": "Buyer slug, or text in the buyer name (substring)."
    },
    "agency_slug": {
      "type": "string",
      "description": "Buyer slug, exact match."
    },
    "supplier": {
      "type": "string",
      "description": "Text in the supplier name (substring)."
    },
    "supplier_slug": {
      "type": "string",
      "description": "Supplier slug, exact match."
    },
    "category": {
      "type": "string",
      "description": "Sector slug, for example it-software."
    },
    "year": {
      "type": "integer",
      "description": "Award year (publication year when the award date is missing)."
    },
    "amount_min": {
      "type": "number",
      "description": "Minimum awarded amount."
    },
    "amount_max": {
      "type": "number",
      "description": "Maximum awarded amount."
    },
    "published_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published in the last N days (UTC days)."
    },
    "awarded_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Awarded in the last N days (UTC days)."
    },
    "date_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published or awarded in the last N days (UTC days)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number, from 1."
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows per page, from 1. Default 100; the plan cap and 1,000 apply."
    }
  }
}
🟢get_supplier(supplier)

All awards for one supplier (by display-name match).

輸入結構描述

{
  "type": "object",
  "properties": {
    "supplier": {
      "type": "string"
    }
  },
  "required": [
    "supplier"
  ]
}
🟢get_agency(agency)

All awards for one agency (by slug or display-name match).

輸入結構描述

{
  "type": "object",
  "properties": {
    "agency": {
      "type": "string"
    }
  },
  "required": [
    "agency"
  ]
}
🟡export(country, q, agency, supplier, category, ...)

Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string"
    },
    "q": {
      "type": "string"
    },
    "agency": {
      "type": "string"
    },
    "supplier": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "year": {
      "type": "integer"
    },
    "amount_min": {
      "type": "integer"
    },
    "amount_max": {
      "type": "integer"
    }
  }
}
🟢get_buyer(slug, sup_page)

Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "sup_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_buyer_detail(slug, sup_page)

Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "sup_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_supplier_detail(slug, buyer_page)

Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "buyer_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_tender(id)

Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer).

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_sector(slug, kind, page)

Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers).

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "buyers",
        "suppliers"
      ]
    },
    "page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢search(q, scope, country, sector, type, ...)

Faceted full-text search over one collection (scope). Every filter is a property of this schema, the same params as REST GET /api/v1/search; values of a fixed list are matched in any case. A bad value or an unknown argument is an invalid-params error whose data lists every problem (errors[]). Tender hits carry lifecycle, deadline_at, accepts_bids and source_url when the source gives them. Returns {hits, found, page, per_page, facets}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Free text, at most 120 characters."
    },
    "scope": {
      "type": "string",
      "enum": [
        "suppliers",
        "tenders",
        "buyers",
        "sectors",
        "countries"
      ],
      "description": "The collection to search. Default tenders."
    },
    "country": {
      "type": "string",
      "description": "Country slug, or comma-separated slugs (OR)."
    },
    "sector": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sector slugs (OR), for example it-software."
    },
    "type": {
      "type": "string",
      "description": "Procurement type, for example works, goods or services. Only some countries have it."
    },
    "status": {
      "type": "string",
      "enum": [
        "data",
        "coming_soon"
      ],
      "description": "Countries scope only: data (the country has data) or coming_soon."
    },
    "year_min": {
      "type": "integer",
      "description": "Earliest year (award year, else publication year)."
    },
    "year_max": {
      "type": "integer",
      "description": "Latest year (award year, else publication year)."
    },
    "amount_min": {
      "type": "number",
      "description": "Minimum amount."
    },
    "amount_max": {
      "type": "number",
      "description": "Maximum amount."
    },
    "lifecycle": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "open",
          "awarded",
          "cancelled",
          "planned"
        ]
      },
      "description": "Tender lifecycle values (OR)."
    },
    "lifecycle_mode": {
      "type": "string",
      "enum": [
        "is",
        "is_not"
      ],
      "description": "is (default) keeps the lifecycle values; is_not leaves them out."
    },
    "has_amount": {
      "type": "boolean",
      "description": "true: only rows with an amount. false: only rows without one."
    },
    "published_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published in the last N days (UTC days)."
    },
    "awarded_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Awarded in the last N days (UTC days)."
    },
    "date_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published or awarded in the last N days (UTC days)."
    },
    "accepts_bids": {
      "type": "boolean",
      "description": "true: only open tenders whose bid deadline is still ahead."
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "deadline"
      ],
      "description": "relevance (default) or deadline (the nearest bid deadline first)."
    },
    "match": {
      "type": "string",
      "enum": [
        "awards",
        "name"
      ],
      "description": "Text match mode for the suppliers and buyers scopes."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number, from 1."
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Results per page, 1 to 50. Default 25."
    }
  }
}
🟢list_buyers(limit)

Top buyers (agencies) by total spend.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer"
    }
  }
}
🟢list_suppliers(limit)

Top suppliers by total awarded.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer"
    }
  }
}
🟢list_sectors

The curated sector taxonomy (slug + name).

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢get_lists

List every saved award list the caller (x-api-key owner) can see. Each list has itemCount (tender items only), buyerCount, supplierCount and totalCount (all items). Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟡create_list(name)

Create a new saved award list (personal). Body: name. Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ]
}
🟢get_list(id, page, page_size)

One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    },
    "page_size": {
      "type": "integer"
    }
  },
  "required": [
    "id"
  ]
}
🟢rename_list(id, name)

Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner).

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
🔴delete_list(id)

Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner).

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟡add_to_list(id, tender_no, award_id)

Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tender_no": {
      "type": "string"
    },
    "award_id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🔴remove_from_list(id, tender_no)

Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tender_no": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "tender_no"
  ]
}
🟢get_saved_searches

List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟡save_search(name, query, kind)

Save a search under a name. Body: name, query (filter set), kind? ('atlas' → unified-search shape, else legacy Explorer filters). Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "query": {
      "type": "object"
    },
    "kind": {
      "type": "string",
      "enum": [
        "atlas"
      ]
    }
  },
  "required": [
    "query"
  ]
}
🟢get_saved_search(id)

One saved search by id (visible to the caller, else not_found). Requires a user API key.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢rename_saved_search(id, name)

Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner).

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
🔴delete_saved_search(id)

Delete a saved search. Body: id. Requires a user API key (creator or workspace owner).

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

社群

為此伺服器評分

證據

近期觀測

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