Sell to State
by selltostate.com · remote · no sign-in to list tools · v0.4.1 · published by com.selltostate
Government tenders, contract awards, buyers and suppliers from official sources in 60+ countries.
26 tools: 3 can delete or cancel things, 6 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http selltostate https://app.selltostate.com/api/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
26 tools
Deletes or cancels 3Claude Code: deny
delete_listDelete a saved list (and its items).No findings
Why it is in this group
- The name "delete_list" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner).
delete_saved_searchDelete a saved search.No findings
Why it is in this group
- The name "delete_saved_search" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a saved search. Body: id. Requires a user API key (creator or workspace owner).
remove_from_listRemove a tender from a saved list.No findings
Why it is in this group
- The name "remove_from_list" says "remove": a word for removing or ending something.
Description, as the server wrote it Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key.
Changes things 6Claude Code: ask
add_to_listAdd a tender to a saved list.No findings
Why it is in this group
- The name "add_to_list" says "add": a word for a change.
Description, as the server wrote it Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key.
create_listCreate a new saved award list (personal).No findings
Why it is in this group
- The name "create_list" says "create": a word for a change.
Description, as the server wrote it Create a new saved award list (personal). Body: name. Requires a user API key.
exportExport a filtered award set as CSV.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file.
rename_listRename a saved list.No findings
Why it is in this group
- The name "rename_list" says "rename": a word for a change.
Description, as the server wrote it Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner).
rename_saved_searchRename a saved search.No findings
Why it is in this group
- The name "rename_saved_search" says "rename": a word for a change.
Description, as the server wrote it Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner).
save_searchSave a search under a name.No findings
Why it is in this group
- The name "save_search" says "save": a word for a change.
Description, as the server wrote it 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.
Only reads 17Claude Code: allow
get_agencyAll awards for one agency (by slug or display-name match).No findings
Why it is in this group
- The name "get_agency" says "get": a word for reading.
Description, as the server wrote it All awards for one agency (by slug or display-name match).
get_buyerBuyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.No findings
Why it is in this group
- The name "get_buyer" says "get": a word for reading.
Description, as the server wrote it Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.
get_buyer_detailAlias of get_buyer (back-compat).No findings
Why it is in this group
- The name "get_buyer_detail" says "get": a word for reading.
Description, as the server wrote it Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers.
get_listOne saved list with paginated items joined to award data (description/buyer/supplier/amount/date).No findings
Why it is in this group
- The name "get_list" says "get": a word for reading.
Description, as the server wrote it One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key.
get_listsList every saved award list the caller (x-api-key owner) can see.No findings
Why it is in this group
- The name "get_lists" says "get": a word for reading.
Description, as the server wrote it 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.
get_saved_searchOne saved search by id (visible to the caller, else not_found).No findings
Why it is in this group
- The name "get_saved_search" says "get": a word for reading.
Description, as the server wrote it One saved search by id (visible to the caller, else not_found). Requires a user API key.
get_saved_searchesList every saved search the caller (x-api-key owner) can see (personal + shared workspace).No findings
Why it is in this group
- The name "get_saved_searches" says "get": a word for reading.
Description, as the server wrote it List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key.
get_sectorSector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers).No findings
Why it is in this group
- The name "get_sector" says "get": a word for reading.
Description, as the server wrote it Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers).
get_supplierAll awards for one supplier (by display-name match).No findings
Why it is in this group
- The name "get_supplier" says "get": a word for reading.
Description, as the server wrote it All awards for one supplier (by display-name match).
get_supplier_detailSupplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers.No findings
Why it is in this group
- The name "get_supplier_detail" says "get": a word for reading.
Description, as the server wrote it Supplier 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).No findings
Why it is in this group
- The name "get_tender" says "get": a word for reading.
Description, as the server wrote it Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer).
list_buyersTop buyers (agencies) by total spend.No findings
Why it is in this group
- The name "list_buyers" says "list": a word for reading.
Description, as the server wrote it Top buyers (agencies) by total spend.
list_sectorsThe curated sector taxonomy (slug + name).No findings
Why it is in this group
- The name "list_sectors" says "list": a word for reading.
Description, as the server wrote it The curated sector taxonomy (slug + name).
list_suppliersTop suppliers by total awarded.No findings
Why it is in this group
- The name "list_suppliers" says "list": a word for reading.
Description, as the server wrote it Top suppliers by total awarded.
searchFaceted full-text search over one collection (scope).No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it 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}.
search_awardsSearch awarded tenders in one country (Postgres), largest amount first, stable paging.No findings
Why it is in this group
- The name "search_awards" says "search": a word for reading.
Description, as the server wrote it 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}.
whoamiSelf-introspection: resolve the caller's identity + entitlement + granted scopes.No findings
Why it is in this group
- The name "whoami" says "whoami": a word for reading.
Description, as the server wrote it 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.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.4.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http selltostate https://app.selltostate.com/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__selltostate__whoami",
"mcp__selltostate__search_awards",
"mcp__selltostate__get_supplier",
"mcp__selltostate__get_agency",
"mcp__selltostate__get_buyer",
"mcp__selltostate__get_buyer_detail",
"mcp__selltostate__get_supplier_detail",
"mcp__selltostate__get_tender",
"mcp__selltostate__get_sector",
"mcp__selltostate__search",
"mcp__selltostate__list_buyers",
"mcp__selltostate__list_suppliers",
"mcp__selltostate__list_sectors",
"mcp__selltostate__get_lists",
"mcp__selltostate__get_list",
"mcp__selltostate__get_saved_searches",
"mcp__selltostate__get_saved_search"
],
"ask": [
"mcp__selltostate__export",
"mcp__selltostate__create_list",
"mcp__selltostate__rename_list",
"mcp__selltostate__add_to_list",
"mcp__selltostate__save_search",
"mcp__selltostate__rename_saved_search"
],
"deny": [
"mcp__selltostate__delete_list",
"mcp__selltostate__remove_from_list",
"mcp__selltostate__delete_saved_search"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as selltostate. Review it before you use it.