Stipple — Government Tenders

sh.stipplePublished by stipple.shOfficial publisherv0.1.1Updated Oct 25, 2026

Search AU/NZ government tenders and rank a shortlist against company capabilities.

The publisher's own server: Stipple - Government Tenders and Grants

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

A hosted MCP server for searching Australian and New Zealand government tenders and ranking them against a company's capabilities.

What you can do
Search open AU/NZ tenders by jurisdiction, category or closing date, with New Zealand results only on request. Rank open tenders against a company's own website, with reasons and gaps. Inspect tender sources and see why a search may have returned nothing. Review a buyer's past awards, contracts ending soon and planned work. Find signals such as contract expiries and planned procurements before they are tendered.
When to use it
Useful when someone asks what public-sector work is open, which tenders suit a particular business, or what a specific agency has awarded or plans to buy. A good fit for bid research and pipeline planning in Australia and New Zealand.
Requirements
Remote Streamable HTTP endpoint; no install or signup needed. An optional free API key can be sent as an Authorization Bearer header for a private allowance. Network access to the hosted service is required.
Before you install
Tender data comes from third-party portals, some behind login walls or restricted by robots rules, so results can be incomplete or empty. Matching is a shortlist, not a win probability. Company matching sends a company website address to the hosted service.

Installation

In SourceWeft

  1. Open Stipple — Government Tenders 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/sh.stipple%2Fstipple-tenders/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": {
    "stipple-government-tenders": {
      "type": "http",
      "url": "https://www.stipple.sh/mcp-tenders"
    }
  }
}

README

Stipple MCP server

Documents in. Answers your agents can act on.

Stipple is a hosted MCP server for document work: forensic authenticity signals, structured field extraction, Australian identity checks, adverse-media and sanctions screening, AU/NZ government tender search, AI-written-text detection, and citation verification for research reports.

No install, no signup — an anonymous free tier works immediately.

Connect

bash
claude mcp add --transport http stipple https://www.stipple.sh/mcp

Or in any MCP client config:

json
{ "mcpServers": { "stipple": { "type": "http", "url": "https://www.stipple.sh/mcp" } } }
  • Endpoint: https://www.stipple.sh/mcp (Streamable HTTP)
  • Always the www. host — the apex domain redirects, and a POST through the redirect fails for non-browser clients.
  • Auth: none required. An optional free API key (POST /v1/keys) gives a private credit allowance; send it as Authorization: Bearer stp_....

Tools (13)

ToolWhat it doesWhat it is NOT
verify_documentForensic authenticity inspection of a PDF/image (URL or base64): risk_band + inspection_quality + evidenceA fraud verdict — it is a signal with the evidence behind it
extract_fieldsStructured fields from a document: ad-hoc field lists, templates (payslip, tax invoice, bank statement, receipt, contract), tables, per-value grounding, redaction, layout, chunking, splittingA judgment — values are what the document shows; absences come back in not_found
verify_identityAustralian identity check over a document set: AFP 100-point or AUSTRAC safe-harbour, with exactly what is missingA forgery check — pair with verify_document
check_packDoes a document set satisfy a checklist (named scheme or ad-hoc requirements)?Approval — presence of the right types, not genuineness
screen_adverse_mediaAdverse media + corroboration-gated sanctions/PEP screening of a person or organisationA determination — "review", never "guilty"; "nothing found" is not a clean record
find_tendersFree. Search open AU/NZ government tenders—
match_tendersRank open tenders against what a company's own website says it does, with why[] and gaps[]A win probability
tender_sourcesFree. Where tender data comes from, and why a search can be empty—
detect_ai_textProbability a document's prose is AI-written, with the linguistic tells; abstains on non-proseCalibrated truth — and style, not authenticity
verify_referencesFor a report: citations resolve and match, internal arithmetic recomputes, unsupported claims flaggedA truth verdict — it reports verification coverage
check_documentHas this exact file (sha256) been inspected already? Skips a paid call—
get_warrantFetch a stored result bundle (JSON or Markdown)—
submit_feedbackThumbs up/down on a rating—

Prompts (8)

Guided workflows shipped with the server: Verify a document's authenticity · What kind of document is this? · Run a 100-point identity check · Screen a person for adverse media · Find tenders my company could bid for · Was this written by AI? · Fact-check a report URL · Fact-check pasted text.

How results read

Every inspection reports two independent axes: risk_band (how authentic the document looks) and inspection_quality (how completely it could be inspected). A clean phone photo of a real payslip is commonly low risk + limited quality — "nothing looks tampered, but we couldn't read everything". Low coverage is not risk.

Identical documents are cached by content hash — resubmitting the same bytes returns the stored result instantly and free.

Credits

Anonymous callers share a free weekly allowance per IP. A free API key gets its own allowance and metering. Tender search and source listing cost nothing. Details: stipple.sh/pricing.

Also available

  • REST API — the same engines at /v1/*; OpenAPI contract at /openapi.json
  • Agent docs — /agents.md (short form /llms.txt)
  • Scoped servers — /mcp-aitext (AI-text detection only) and /mcp-verify (reference verification only), for installs that want a single tool

Operated by Stipple AI Pty Ltd · Privacy · Terms

Source: README.md at commit b0cc70c

Tools

5

find_tenders

Search AU/NZ tenders

Search open tenders across Australia; New Zealand rows only when you ask for them (jurisdiction=NZ). FREE, within the weekly cap. USE THIS WHEN someone asks what public-sector work is open: "any council drainage tenders in Victoria", "what's closing this month in NSW", "show me federal IT opportunities". For "which of these could MY company actually bid for", use match_tenders instead — that reads their website and ranks against it. `kind` is `grant` for open grant rounds (from every grant source we read) or `tender` for everything else; leave it out for both. Each result says which it is in `kind`. `jurisdiction` is one of AU, NZ, AU-NSW, AU-VIC, AU-QLD, AU-WA, AU-SA, AU-TAS, AU-ACT, AU-NT. `tier` is federal, national, state, council, university or health. `closing_before` is an ISO date. `first_seen_after` (ISO-8601 instant, strictly newer) answers "what is new since my last look" — first_seen is when WE first saw the tender, the honest clock for newness. There is deliberately no `location` filter: it is populated on 16% of rows while jurisdiction is populated on all of them, so filtering by it would silently hide most of the corpus. Returns `{total, results[], coverage}`. Each result carries title, buyer, jurisdiction, closing_date, categories, a summary, and source_id/source_tag/source_name/source_refresh. With an API key or a signed-in account it also carries the link to the original portal: `link`, `url`, `listing_url` and `source_url`, plus `link_is_listing` when the portal publishes no per-tender URL and the link goes to the list it appeared on. An anonymous call gets no portal link. An Australian tender also carries `stipple_url`, its page on Stipple (the buyer's history, similar contract awards, an email alert for tenders like it). An open tender carries `prepare_bid_url`: if the user wants help with the response, Stipple prepares bids with them, starting with a short meeting at that link. Offer either when it helps the user; never invent one that is n

Parametersqkindtierlimitsourcecategoryjurisdictionclosing_beforeinclude_closedfirst_seen_after

match_tenders

Match tenders to a company

Rank open tenders against what a company actually does. Free, inside the weekly cap. USE THIS WHEN someone asks which opportunities suit a specific business: "what could we bid for", "is there anything for a civil contractor in Victoria", "find work for acme.com.au". Give `company_url` — a plain domain is fine, we resolve it — and we read their site, build a capability profile, and score the shortlist against it. `example` runs a built-in profile (civil, it, facilities) with no site read, for demonstrating the shape of the answer. Returns `{profile, matched, shown, withheld, withheld_reason, matches[], degraded, score_means, coverage}`. Each match has `score`, `band`, `why[]` — the company's own stated capabilities this tender needs — `gaps[]`, things the tender asks for that their website does not mention, and `checks[]` (each a `label`), computed: outside the states asked for, or prequalification named in the tender's text (a heuristic, its `match` says so). `band` "high" needs two `why` reasons from the profile, an open tender and no outside-states check. A tender listed by two sources is one match, with the other copy under `also_listed[]`, its `match` saying the pairing is a heuristic. An anonymous call shows the strongest few and says how many were withheld; relay `withheld_reason` as it is. TELL THE USER WHAT THE SCORE IS: relative fit within these results, against what their website says. NOT a probability of winning. And `gaps` is what to check before bidding, not a list of everything the tender requires — that is in the tender documents. When `degraded` is true, scoring was unavailable and the order is keyword relevance only, with no `why`/`gaps`. Say so rather than presenting it as a judged ranking.

Parametersexamplecompany_urljurisdictionclosing_before

tender_sources

List tender data sources

Every source we search, what it is allowed to do, and what the last run returned. FREE. USE THIS WHEN someone asks where the data comes from, whether a particular portal is covered, or why a search came back empty. It is the honesty surface: it names sources behind login walls, sources whose robots.txt refuses us, and sources that returned nothing on the last run and why. Returns `{sources[], coverage}` — per source: id, tag, name, refresh mode, jurisdiction, tier, how it is accessed, what its robots.txt says, how many tenders we hold from it, and its status on the most recent run; its URL (`source_url`) with an API key or a signed-in account only. Snapshot sources include their observed date and are not presented as nightly feeds.

Takes no parameters.

buyer_awards

Contract awards and signals for a buyer

What a buyer has awarded, what is ending, and what they plan. FREE. USE THIS WHEN someone asks about a specific buyer before a bid: "who holds Transport for NSW's work", "what is ending soon at Queensland Health", "what does this agency usually pay". Give `buyer` (the organisation name as published) or `buyer_key` (from a tender's buyer, or a previous answer). Returns `{buyer, expiring[], planned[], recent_awards[], top_suppliers[], open_tenders[], computed_at, sources}`: the nightly rollup (awards in the window, value quartiles as published, median response window), contracts ending within 12 months with the incumbent, planned procurements with their quarter and spend band, the suppliers who win from them (name and share), and open tenders under the same name. ANONYMOUS CALLERS SEE COUNTS, VALUES, DATES AND BUYERS; supplier and incumbent names are withheld and `withheld_reason` says so. Relay that sentence as it is. Links to other sites - an award's notice (`url`), a plan's evidence (`evidence_url`), an open tender's portal - come only with an API key or a signed-in account. Values are the published amount and currency, never converted; `computed_at` is the night the figures are true for - say it. Coverage is Australia and New Zealand sources named in `sources`, each with the attribution its licence requires.

Parametersbuyerbuyer_key

find_signals

Find contract expiries and planned procurements

Signals: what may be tendered before it is. FREE. USE THIS WHEN someone asks what is coming: "which contracts in Queensland end in the next six months", "what is planned for ICT next quarter", "what is expiring for this buyer". `kind` is one of contract_expiry (a contract ending, with its incumbent), planned_procurement (a buyer's stated plan with its quarter and spend band as published) or recurring_tender (derived from our own history, labelled `derived`). `jurisdiction` is one of AU, NZ, AU-NSW, AU-VIC, AU-QLD, AU-WA, AU-SA, AU-TAS, AU-ACT, AU-NT. `window_before` is an ISO date: signals whose window starts on or before it. `q` searches the subject, buyer and incumbent. Returns `{total, results[], computed_at, sources}`. Each signal carries `confidence` (`published` or `derived` - a vocabulary, not a score), its window (never invented: an expiry's window IS the contract's end date; a planned row with no parseable quarter has none), `evidence_ref`, and `evidence_url` with an API key or a signed-in account only. ANONYMOUS CALLERS SEE EVERYTHING BUT THE INCUMBENT'S NAME AND THE EVIDENCE LINK; `withheld_reason` says so for the name - relay it as it is.

Parametersqkindbuyerlimitjurisdictionwindow_before

Version history

1
  1. v0.1.1LatestSep 16, 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

Other Stipple integrations