{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_g44q835fakxe","handle":"sell-to-state","url":"https://wellknown.network/agents/sell-to-state","links":{"self":"https://wellknown.network/agents/sell-to-state/record.json","html":"https://wellknown.network/agents/sell-to-state","markdown":"https://wellknown.network/agents/sell-to-state/record.md","api":"https://wellknown.network/api/v1/agents/sell-to-state","status":"https://wellknown.network/api/v1/agents/sell-to-state/status","claim":"https://wellknown.network/agents/sell-to-state/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sell-to-state/claim.json","badge":"https://wellknown.network/agents/sell-to-state/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sell-to-state/history","tools":"https://wellknown.network/api/v1/agents/sell-to-state/tools"},"ard":{"identifier":"urn:air:app.selltostate.com:server:sell-to-state","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Sell to State","summary":"Government tenders, contract awards, buyers and suppliers from official sources in 60+ countries.","description":"Government tenders, contract awards, buyers and suppliers from official sources in 60+ countries.","publisher":{"name":"com.selltostate","url":null},"homepage":"https://www.selltostate.com/mcp/","repository":"https://github.com/getbeton/selltostate-mcp","version":"0.4.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://app.selltostate.com/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-21T09:34:29.500136Z","publishedAt":"2026-10-21T09:34:29.500136Z","registryName":"com.selltostate/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","data","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-27T01:26:57.506Z","lastProbedAt":"2026-10-27T01:26:57.506Z","statusComputedAt":"2026-10-27T01:28:41.846Z","reliability30d":{"probes":18,"successRate":1,"p50Ms":72,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":18,"ok":18,"authBoundaryOk":0,"serviceOk":18,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T01:26:57.506Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":41,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works when the acco"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export 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"},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"79a6be62dc742ba1c6711900e0f779d523c99196a3ee31b1c0869a2db1c0ac68","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T19:23:54.712Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":102,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works when the acco"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export 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"},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"79a6be62dc742ba1c6711900e0f779d523c99196a3ee31b1c0869a2db1c0ac68","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T11:29:30.051Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":111,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works when the acco"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export 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"},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"79a6be62dc742ba1c6711900e0f779d523c99196a3ee31b1c0869a2db1c0ac68","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T04:25:56.879Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T21:30:27.268Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T13:33:36.731Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":73,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T06:26:32.001Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T23:27:57.217Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T16:23:40.578Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T09:27:21.486Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":67,"error":null,"detail":{"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works even when ina"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export a filtered award set as CSV. country omitted means singapore. A bad country is an error, not a Singapore file."},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"toolCount":26,"toolsHash":"ce6d3b38432f40806e01e8c15f8582da9d3416581170232fbd99f6d8fcabf4fa","serverName":"Sell to State","capabilities":["tools"],"serverVersion":"0.4.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"whoami","description":"Self-introspection: resolve the caller's identity + entitlement + granted scopes. Returns {subject, type, active, plan, scopes, export_cap}. Works when the acco"},{"name":"search_awards","description":"Search awarded tenders in one country (Postgres), largest amount first, stable paging. Every filter is a property of this schema; country omitted means singapor"},{"name":"get_supplier","description":"All awards for one supplier (by display-name match)."},{"name":"get_agency","description":"All awards for one agency (by slug or display-name match)."},{"name":"export","description":"Export 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"},{"name":"get_buyer","description":"Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_buyer_detail","description":"Alias of get_buyer (back-compat). Buyer (agency) detail by slug: summary stats, yearly spend trend, sector breakdown, and top suppliers."},{"name":"get_supplier_detail","description":"Supplier detail by slug: summary stats, yearly awarded trend, sector breakdown, and top buyers."},{"name":"get_tender","description":"Single tender (award) detail by numeric award_id OR public tender page id, with related awards (same tender / same buyer)."},{"name":"get_sector","description":"Sector detail by slug: summary stats, yearly trend, and active partners (kind=buyers|suppliers)."},{"name":"search","description":"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 l"},{"name":"list_buyers","description":"Top buyers (agencies) by total spend."},{"name":"list_suppliers","description":"Top suppliers by total awarded."},{"name":"list_sectors","description":"The curated sector taxonomy (slug + name)."},{"name":"get_lists","description":"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 ite"},{"name":"create_list","description":"Create a new saved award list (personal). Body: name. Requires a user API key."},{"name":"get_list","description":"One saved list with paginated items joined to award data (description/buyer/supplier/amount/date). Requires a user API key."},{"name":"rename_list","description":"Rename a saved list. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_list","description":"Delete a saved list (and its items). Body: id. Requires a user API key (creator or workspace owner)."},{"name":"add_to_list","description":"Add a tender to a saved list. Body: id (list id) + tender_no OR award_id. Idempotent. Requires a user API key."},{"name":"remove_from_list","description":"Remove a tender from a saved list. Body: id (list id) + tender_no. Requires a user API key."},{"name":"get_saved_searches","description":"List every saved search the caller (x-api-key owner) can see (personal + shared workspace). Requires a user API key."},{"name":"save_search","description":"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."},{"name":"get_saved_search","description":"One saved search by id (visible to the caller, else not_found). Requires a user API key."},{"name":"rename_saved_search","description":"Rename a saved search. Body: id, name. Requires a user API key (creator or workspace owner)."},{"name":"delete_saved_search","description":"Delete a saved search. Body: id. Requires a user API key (creator or workspace owner)."}],"package":null,"toolSurface":{"id":"ts_jhmsvcm4bcsm","endpointId":"ep_phsw5fw25cq3","hash":"79a6be62dc742ba1c6711900e0f779d523c99196a3ee31b1c0869a2db1c0ac68","toolCount":26,"serverName":"Sell to State","serverVersion":"0.4.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-26T11:29:30.059Z","lastSeenAt":"2026-10-27T01:26:57.513Z","observations":3,"toolNames":["whoami","search_awards","get_supplier","get_agency","export","get_buyer","get_buyer_detail","get_supplier_detail","get_tender","get_sector","search","list_buyers","list_suppliers","list_sectors","get_lists","create_list","get_list","rename_list","delete_list","add_to_list","remove_from_list","get_saved_searches","save_search","get_saved_search","rename_saved_search","delete_saved_search"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_phsw5fw25cq3","url":"https://app.selltostate.com/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-26T19:23:54.737Z","auth":{"observedAt":"2026-10-26T19:23:54.877Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://app.selltostate.com/.well-known/oauth-protected-resource/api/mcp","resource":"https://app.selltostate.com/api/mcp","authorizationServers":["https://app.selltostate.com"],"scopesSupported":["data:read","data:export","data:bulk"]},"authorizationServer":{"url":"https://app.selltostate.com/.well-known/oauth-authorization-server","issuer":"https://app.selltostate.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_basic","client_secret_post"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-26T19:23:54.917Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"selltostate.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-11T10:13:08.000Z","validTo":"2026-12-10T11:13:05.000Z","daysToExpiry":44,"sanCount":2,"fingerprint256":"DF:0F:E5:51:F3:88:F6:B2:EA:01:C9:13:29:07:9B:48:32:36:2C:BE:6A:AB:EC:EC:45:BF:8F:6A:D3:AD:45:9A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.selltostate/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/com.selltostate%2Fmcp","firstSeenAt":"2026-10-22T01:23:06.714Z","fetchedAt":"2026-10-25T10:20:28.367Z","normalizedAt":"2026-10-25T10:20:28.367Z"}]},"firstSeenAt":"2026-10-22T01:23:06.714Z","updatedAt":"2026-10-27T01:29:30.421Z"}