Government tenders, contract awards, buyers and suppliers from official sources in 60+ countries.
Connect Remote server
claude mcp add --transport http mcp https://app.selltostate.com/api/mcp
{
"mcpServers": {
"mcp": {
"url": "https://app.selltostate.com/api/mcp"
}
}
}
{
"servers": {
"mcp": {
"type": "http",
"url": "https://app.selltostate.com/api/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://app.selltostate.com/api/mcp
Tools 30 found in our last check
whoamiSelf-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works when the account has no active plan (active:false), so an agent can check access before it calls a data tool.
submit_onboardingSend the answers of a new account's onboarding form (whoami gives onboarding_required and the questions). Ask the user the questions and use the answers that the user gives. Show the user all answers and get a yes. Product files are optional: send the text only of files that the…
get_onboarding_searchThe state of the first search that submit_onboarding started. Returns the same body as submit_onboarding; status generating: call again in 15 seconds.
search_awardsSearch 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 {ro…
get_supplierAll awards for one supplier (by display-name match).
get_agencyAll awards for one agency (by slug or display-name match).
exportExport a filtered award set as CSV, at most 500 rows per call (use the REST /api/v1/awards.csv for larger files). country omitted means singapore. A bad country is an error, not a Singapore file.
get_buyerBuyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.
get_buyer_detailAlias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.
get_supplier_detailSupplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers.
get_tenderSingle tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer) and requirements: what a company needs to bid in the tender's country (registration, foreign companies, documents, bid and performance security, law, portal,…
get_sectorSector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers).
searchFaceted 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 probl…
plan_searchTurn a request in words into a Sell to State search: terms in the languages of the countries, and filters (scope, country, lifecycle, date window, amounts). Example text: 'body-worn cameras for police in Kenya and South Africa, open tenders'. Returns {summary, scope, q, filters,…
list_buyersTop buyers (agencies) by total spend.
list_suppliersTop suppliers by total awarded.
list_sectorsThe curated sector taxonomy (slug + name).
get_listsList 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.
create_listCreate a new saved award list (personal). Body: name. Requires a user API key.
get_listOne saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Without a plan, each item's award_id and title only. Requires a user API key.
rename_listRename a saved list. Body: id, name. Requires a user API key (creator or workspace owner).
delete_listDelete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner).
add_to_listAdd a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key.
remove_from_listRemove a tender from a saved list. Body: id (list id) + tender_no OR award_id. Requires a user API key.
get_saved_searchesList every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key.
save_searchSave a search under a name. Body: name, query (filter set), kind? ('atlas' → unified-search shape, else legacy Explorer filters). Requires a user API key. To watch new tenders of a saved tender search: subscribe to the MCP event saved_search.new_tenders when the client supports…
get_saved_searchOne saved search by id (visible to the caller, else not_found). Requires a user API key.
rename_saved_searchRename a saved search. Body: id, name. Requires a user API key (creator or workspace owner).
delete_saved_searchDelete a saved search. Body: id. Requires a user API key (creator or workspace owner).
get_new_tendersTender alerts for an agent: the tenders of one saved tender search that arrived after `cursor`. Returns {events: [] or [one digest: counts by status and country, top 20 tenders, search_url], cursor, truncated, next_check_after}. Keep the returned cursor and pass it on the next c…
Details
| Endpoint | https://app.selltostate.com/api/mcp (Streamable HTTP) |
| First published | 21 Oct 2026 |
| Last updated | 21 Oct 2026 |
| Registry name | com.selltostate/mcp |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
