↑↓ navigate ↵ open esc close
MCP-over-HTTP · 26 tools

Procurement data your agent can use itself.

Point any MCP-capable client — Claude Desktop, Claude Code, Cursor, or your own agent — at our streamable-HTTP endpoint. It can search government tenders and contract awards from official sources, drill into buyers and suppliers, keep lists, and even self-register and pay for access with no human in the loop.

# Endpoint

https://staging-app.selltostate.com/api/mcp

# List the tools (open, no auth)

curl -s https://staging-app.selltostate.com/api/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,
       "method":"tools/list"}'

tools/list is open; tools/call resolves your credential and 402s if un-entitled.

Add it to your client.

Clients with a browser sign you in with OAuth. Other clients send an API key from your account. The server is in the official MCP Registry as com.selltostate/mcp.

Claude

Customize, then Connectors. Select + Add, then Add custom connector. Paste the URL and select Connect.

https://staging-app.selltostate.com/api/mcp
Step by step →

ChatGPT

On chatgpt.com/plugins, select + and Add custom MCP server. Paste the URL and choose OAuth.

https://staging-app.selltostate.com/api/mcp
Step by step →

Claude Code

Add the server, then run /mcp and choose Authenticate.

claude mcp add --transport http selltostate https://staging-app.selltostate.com/api/mcp
Step by step →

Gemini CLI

Install the extension. Gemini CLI opens your browser to sign in.

gemini extensions install https://github.com/getbeton/selltostate-skills
Step by step →

Cursor and other clients

Add the server to mcp.json with your API key in the x-api-key header.

{
  "mcpServers": {
    "selltostate": {
      "url": "https://staging-app.selltostate.com/api/mcp",
      "headers": { "x-api-key": "sts_..." }
    }
  }
}

The connect flow.

  1. 1

    Discover

    Spec-compliant clients read /.well-known/oauth-protected-resource (RFC 9728) and /.well-known/oauth-authorization-server (RFC 8414) to learn the resource, issuer, and scopes.

  2. 2

    Register

    With no pre-shared credential, the client self-registers via RFC 7591 DCR (POST /api/oidc/register) and gets a client_id with zero data scopes plus a payment_link.

  3. 3

    Authenticate

    Clients with a browser (Claude, ChatGPT, Cursor) run the OAuth 2.1 authorization-code flow with PKCE, and you sign in with your Sell to State account. An agent without a browser presents the issued client as Authorization: Bearer client:<client_id> on every tools/call.

  4. 4

    Subscribe

    Until the client's subject is entitled, every tools/call returns the same 402 body as REST — a human payment_link and the agent-native machine_payment affordance. The agent calls pay, is charged off-session, and its next call returns data.

26 tools, at REST parity.

Every tool mirrors a REST endpoint 1:1. Owner-scoped list / saved-search tools require a user API key; an OIDC client token gets a requires_user_key result. Full schemas in the reference.

whoami data:read Identity + entitlement + scopes (ungated — verify before you spend).
search data:read Faceted search over one scope: tenders | buyers | suppliers | sectors.
search_awards data:read Award explorer (q, agency, supplier, category, year, amount range).
get_buyer data:read Buyer detail (get_buyer_detail is a kept alias).
get_supplier_detail data:read Supplier detail with top buyers + sector split.
get_sector / get_tender data:read Sector profile · single award + related awards.
list_buyers / list_suppliers / list_sectors data:read Top-N agencies, suppliers, and the sector taxonomy.
get_lists / create_list / add_to_list … data:read Saved award lists CRUD — requires a user API key.
get_saved_searches / save_search … data:read Saved searches CRUD — requires a user API key.
export data:export Export a filtered award set as CSV.
pay billing:pay Pay autonomously with a Stripe token to unlock access — no checkout page.

Call a tool.

curl -s https://staging-app.selltostate.com/api/mcp \
  -H "Authorization: Bearer client:c_abc123" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search",
                 "arguments":{"scope":"tenders","q":"cloud","year_min":2024}}}'

Once connected, just ask

  • → "Search Sell to State for cybersecurity awards in 2024 and summarise the top 5 suppliers."
  • → "Pull every award the Ministry of Education made this year and export them as CSV."
  • → "Use get_buyer on the relevant agency — who does Singapore buy construction services from?"

Connect your agent.

Create an account, generate an API key, and point your MCP client at https://staging-app.selltostate.com/api/mcp. Agents can also self-register and pay without a dashboard. Full tool docs at docs.selltostate.com.

Start for free →
Sign Up