Sell to State

com.selltostatePublished by selltostate.comOfficial publisherv0.4.1Updated Nov 4, 2026

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

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Sell to State gives an assistant searchable government tender and contract-award data from 60+ countries, plus saved lists and saved searches.

What you can do
  • Search and page through awarded tenders by country and filters, and export a filtered set as CSV
  • Look up a single tender, a supplier, an agency or a sector, with spend trends, sector breakdowns and top partners
  • List top buyers and suppliers by spend, and browse the curated sector taxonomy
  • Check the caller's identity, plan, scopes and export allowance
  • Create, rename, delete and fill personal saved award lists, and save, rename or delete saved searches
When to use it
Useful when you want an assistant to research public procurement: finding who bought what, which suppliers and agencies dominate a sector, or building shortlists of tenders to track. The saved-list and saved-search tools need a paid account with an API key.
Requirements
A remote endpoint at app.selltostate.com, reachable over streamable HTTP; clients that only run local servers can use the npm package selltostate-mcp as a stdio proxy. Remote use signs in with OAuth; the proxy needs an STS_API_KEY environment variable. Saved lists and saved searches require a user API key.
Before you install
The server asks for an API key (STS_API_KEY) that identifies your account and workspace; keep it out of shared configs. List and saved-search tools create, rename and delete data, and deleting a list also removes its items. Some tools are gated on an active plan, so check whoami before relying on them.

Installation

In SourceWeft

  1. Open Sell to State in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.selltostate%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sell-to-state": {
      "type": "http",
      "url": "https://app.selltostate.com/api/mcp"
    }
  }
}

README

Sell to State MCP server

[Sell to State. Search government awards. selltostate.com]

Stdio proxy. It forwards JSON-RPC to https://app.selltostate.com/api/mcp. It does not keep a tool catalog and it does not talk to a database.

Set STS_API_KEY. A missing key fails tools/call before the network call.

json
{  "mcpServers": {    "selltostate": {      "command": "npx",      "args": ["-y", "selltostate-mcp"],      "env": { "STS_API_KEY": "sts_..." }    }  }}

Use this server for a client that runs only local (stdio) servers, or when you prefer an API key to OAuth. A client that supports remote servers (Claude, ChatGPT, Cursor, VS Code, Gemini CLI) can connect to https://app.selltostate.com/api/mcp directly and sign in with OAuth. Setup per client: https://www.selltostate.com/mcp/

Transport: stdio, one JSON-RPC message per line. STS_MCP_URL changes the upstream URL.

Also

npm: selltostate-mcp. The other clients in the list are not published to a package registry.

Source: README.md at commit 1462021

Tools

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.

Takes no parameters.

search_awards

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}.

Parametersqpageyearagencycountrycategorysupplierdate_dayspage_sizeamount_maxamount_minagency_slug+3 more

get_supplier

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

Parameterssupplierrequired

get_agency

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

Parametersagencyrequired

export

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

Parametersqyearagencycountrycategorysupplieramount_maxamount_min

get_buyer

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

Parametersslugrequiredsup_page

get_buyer_detail

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

Parametersslugrequiredsup_page

get_supplier_detail

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

Parametersslugrequiredbuyer_page

get_tender

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

Parametersidrequired

get_sector

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

Parameterskindpageslugrequired

list_buyers

Top buyers (agencies) by total spend.

Parameterslimit

list_suppliers

Top suppliers by total awarded.

Parameterslimit

list_sectors

The curated sector taxonomy (slug + name).

Takes no parameters.

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.

Takes no parameters.

create_list

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

Parametersnamerequired

get_list

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

Parametersidrequiredpagepage_size

rename_list

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

Parametersidrequirednamerequired

delete_list

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

Parametersidrequired

add_to_list

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

Parametersidrequiredaward_idtender_no

remove_from_list

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

Parametersidrequiredtender_norequired

get_saved_searches

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

Takes no parameters.

Version history

1
  1. v0.4.1LatestOct 21, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts