Sell to State

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
92%
Vollständigkeit des Schemas
72%
Qualität der Benennung
98%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

  • LOWTool 'get_tender' description lacks action verbin get_tender
  • LOWTool 'list_buyers' description lacks action verbin list_buyers
  • LOWTool 'list_suppliers' description lacks action verbin list_suppliers
  • LOWTool 'list_sectors' description lacks action verbin list_sectors

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,595Tokens (Tool-Definitionen)
~691 BTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.03% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "mcp": {
      "url": "https://app.selltostate.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://app.selltostate.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (26)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
⚪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.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}
🟢search_awards(country, q, agency, agency_slug, supplier, ...)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "Country slug. Omitted means singapore."
    },
    "q": {
      "type": "string",
      "description": "Text in the tender description (substring)."
    },
    "agency": {
      "type": "string",
      "description": "Buyer slug, or text in the buyer name (substring)."
    },
    "agency_slug": {
      "type": "string",
      "description": "Buyer slug, exact match."
    },
    "supplier": {
      "type": "string",
      "description": "Text in the supplier name (substring)."
    },
    "supplier_slug": {
      "type": "string",
      "description": "Supplier slug, exact match."
    },
    "category": {
      "type": "string",
      "description": "Sector slug, for example it-software."
    },
    "year": {
      "type": "integer",
      "description": "Award year (publication year when the award date is missing)."
    },
    "amount_min": {
      "type": "number",
      "description": "Minimum awarded amount."
    },
    "amount_max": {
      "type": "number",
      "description": "Maximum awarded amount."
    },
    "published_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published in the last N days (UTC days)."
    },
    "awarded_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Awarded in the last N days (UTC days)."
    },
    "date_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published or awarded in the last N days (UTC days)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number, from 1."
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows per page, from 1. Default 100; the plan cap and 1,000 apply."
    }
  }
}
🟢get_supplier(supplier)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "supplier": {
      "type": "string"
    }
  },
  "required": [
    "supplier"
  ]
}
🟢get_agency(agency)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "agency": {
      "type": "string"
    }
  },
  "required": [
    "agency"
  ]
}
🟡export(country, q, agency, supplier, category, ...)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string"
    },
    "q": {
      "type": "string"
    },
    "agency": {
      "type": "string"
    },
    "supplier": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "year": {
      "type": "integer"
    },
    "amount_min": {
      "type": "integer"
    },
    "amount_max": {
      "type": "integer"
    }
  }
}
🟢get_buyer(slug, sup_page)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "sup_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_buyer_detail(slug, sup_page)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "sup_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_supplier_detail(slug, buyer_page)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "buyer_page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_tender(id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_sector(slug, kind, page)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "buyers",
        "suppliers"
      ]
    },
    "page": {
      "type": "integer"
    }
  },
  "required": [
    "slug"
  ]
}
🟢search(q, scope, country, sector, type, ...)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Free text, at most 120 characters."
    },
    "scope": {
      "type": "string",
      "enum": [
        "suppliers",
        "tenders",
        "buyers",
        "sectors",
        "countries"
      ],
      "description": "The collection to search. Default tenders."
    },
    "country": {
      "type": "string",
      "description": "Country slug, or comma-separated slugs (OR)."
    },
    "sector": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sector slugs (OR), for example it-software."
    },
    "type": {
      "type": "string",
      "description": "Procurement type, for example works, goods or services. Only some countries have it."
    },
    "status": {
      "type": "string",
      "enum": [
        "data",
        "coming_soon"
      ],
      "description": "Countries scope only: data (the country has data) or coming_soon."
    },
    "year_min": {
      "type": "integer",
      "description": "Earliest year (award year, else publication year)."
    },
    "year_max": {
      "type": "integer",
      "description": "Latest year (award year, else publication year)."
    },
    "amount_min": {
      "type": "number",
      "description": "Minimum amount."
    },
    "amount_max": {
      "type": "number",
      "description": "Maximum amount."
    },
    "lifecycle": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "open",
          "awarded",
          "cancelled",
          "planned"
        ]
      },
      "description": "Tender lifecycle values (OR)."
    },
    "lifecycle_mode": {
      "type": "string",
      "enum": [
        "is",
        "is_not"
      ],
      "description": "is (default) keeps the lifecycle values; is_not leaves them out."
    },
    "has_amount": {
      "type": "boolean",
      "description": "true: only rows with an amount. false: only rows without one."
    },
    "published_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published in the last N days (UTC days)."
    },
    "awarded_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Awarded in the last N days (UTC days)."
    },
    "date_days": {
      "type": "integer",
      "enum": [
        7,
        30,
        90,
        365
      ],
      "description": "Published or awarded in the last N days (UTC days)."
    },
    "accepts_bids": {
      "type": "boolean",
      "description": "true: only open tenders whose bid deadline is still ahead."
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "deadline"
      ],
      "description": "relevance (default) or deadline (the nearest bid deadline first)."
    },
    "match": {
      "type": "string",
      "enum": [
        "awards",
        "name"
      ],
      "description": "Text match mode for the suppliers and buyers scopes."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number, from 1."
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Results per page, 1 to 50. Default 25."
    }
  }
}
🟢list_buyers(limit)

Top buyers (agencies) by total spend.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer"
    }
  }
}
🟢list_suppliers(limit)

Top suppliers by total awarded.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer"
    }
  }
}
🟢list_sectors

The curated sector taxonomy (slug + name).

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}
🟢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.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}
🟡create_list(name)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ]
}
🟢get_list(id, page, page_size)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    },
    "page_size": {
      "type": "integer"
    }
  },
  "required": [
    "id"
  ]
}
🟢rename_list(id, name)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
🔴delete_list(id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟡add_to_list(id, tender_no, award_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tender_no": {
      "type": "string"
    },
    "award_id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🔴remove_from_list(id, tender_no)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tender_no": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "tender_no"
  ]
}
🟢get_saved_searches

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

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}
🟡save_search(name, query, kind)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "query": {
      "type": "object"
    },
    "kind": {
      "type": "string",
      "enum": [
        "atlas"
      ]
    }
  },
  "required": [
    "query"
  ]
}
🟢get_saved_search(id)

One saved search by id (visible to the caller, else not_found). Requires a user API key.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢rename_saved_search(id, name)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
🔴delete_saved_search(id)

Delete a saved search. Body: id. Requires a user API key (creator or workspace owner).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet26 Tools