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