Data Gov Sg is an MCP server with 45 tools an agent can call, among them ai_visibility_check, air_quality_pm25, air_quality_psi. It answers at https://gateway.pipeworx.io/data-gov-sg/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 23 October 2026, succeeded.
data.gov.sg MCP — Singapore open data + real-time environment/transport feeds
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
ai_visibility_check | Probe one or more LLMs for what they know about a business / brand / product / topic and score visibility (0-100) per model. Default model is Workers AI Llama-3.3-70b (free); pass `_apiKey` to also probe Anthropic (BYO key — you pay Anthrop Inputs: entity, context, models, _apiKey |
air_quality_pm25 | Current PM2.5 µg/m³ readings by region. |
air_quality_psi | Current Pollutant Standards Index (PSI) by region (north, south, east, west, central). |
ask_pipeworx | PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO patents, ATTOM real estate, weather, clinical trials, news, stocks, crypto, sports, a Inputs: question, query, q, prompt, text, input |
ask_pipeworx_beta | Beta version of ask_pipeworx: identical universal router (same 6,320 tools, same arguments, same response shape) with candidate routing improvements enabled live whenever one is under test. No candidate is active right now (the last was ret Inputs: question, query, q, prompt, text, input |
ask_pipeworx_grounded | Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,320 across 1649 sources, fills arguments, fetches the data — then EXTRACTS the answer using ONLY what the tool result cont Inputs: question, query, q, prompt, text, input |
bet_research | Research a Polymarket bet by pulling the relevant Pipeworx data for it in one call. Pass a market slug ("will-kristi-noem-win-the-2028-republican-presidential-nomination"), a polymarket.com URL, or a question text. Prefer an UNDATED slug: a Inputs: market, depth, include_raw |
company_facts | TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — "Apple revenue for fiscal 2023", "Walmart net income FY2026 Q3", "Microsoft cash at the end of fiscal 2024". PREFER OVER entity_profile Inputs: company, attribute, period, freshness, max_age, as_of |
compare_entities | "Compare X and Y" / "X vs Y" / "X versus Y" / "which is bigger / better / larger / more profitable" / "rank these companies" / "head to head" — side-by-side comparison of 2–5 companies or drugs in ONE parallel call. ALWAYS PREFER over seque Inputs: type, values |
deep_research | ACCOUNT REQUIRED (free — sign in via GitHub at https://pipeworx.io/signup; depth:"thorough" needs a paid plan). If you are not signed in, use ask_pipeworx instead — it works on every tier. Grounded multi-source research across Pipeworx's 16 Inputs: question, depth |
discover_tools | Find tools by describing the data or task. Use when you need to browse, search, look up, or discover what tools exist for: SEC filings, financials, revenue, profit, FDA drugs, adverse events, FRED economic data, Census demographics, BLS job Inputs: query, task, q, description, search, limit |
entity_profile | "Tell me about X" / "research Acme" / "brief me on Tesla" / "what does Apple do" / "company profile for Microsoft" / "give me the rundown on NVDA" / "everything you know about $TICKER" — full cross-source profile of a US public company in O Inputs: type, value |
forget | Delete a previously stored memory by key. Use when context is stale, the task is done, or you want to clear sensitive data the agent saved earlier. Pair with remember and recall. Inputs: key |
generate_llms_txt | Generate a production-ready llms.txt file for any URL so AI crawlers (ChatGPT, Claude, Perplexity) can index the site cleanly. Fetches the page, extracts title/description/key links, and emits the standard llms.txt markdown format. Output i Inputs: url, max_links |
get_dataset | Dataset metadata + column schema. Inputs: dataset_id |
kalshi_weather_edge | Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one c Inputs: city, series_ticker, date, market_type, backtest_days |
list_subscriptions | List the caller's active subscriptions. Returns id, type, params, created_at, last_fired_at, fire_count for each. Use this to review what you're monitoring before adding more or to find an id to cancel. Inputs: include_inactive |
pipeworx_feedback | Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise Inputs: type, message, context, claim_token |
pipeworx_trending | What other AI agents are calling on Pipeworx right now. Returns the top tools, top packs, and total call volume over a recent window (24h, 7d, or 30d). Useful for: (1) discovering what data sources are hot for current events, (2) confirming Inputs: window |
polymarket_arbitrage | Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `t Inputs: event, topic |
polymarket_edge_tracker | Edge persistence and decay telemetry built from daily polymarket_edges snapshots. Answers "how long has this edge existed and is it shrinking?" — a fresh wide edge and a 3-week-old wide edge are different trades (the latter is wide for a re Inputs: days, window |
polymarket_edges | Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for "what should I bet on today" — agents discover opportunities without paging hundreds of markets. FIVE MODEL FAMILIES grouped int Inputs: window, limit, min_edge_pp, slippage_pp, category_filter, min_kelly |
polymarket_fill_risk | Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGLE-MARKET: pass a market slug/URL + side (buy_yes|sell_yes|buy_no|sell_no, defaul Inputs: market, event, side, size_usd |
polymarket_kalshi_spread | Cross-venue spread between Kalshi and Polymarket for the same resolving question. The two venues sometimes price the same outcome 2-25pp apart because their participant pools differ — when the bet shapes are equivalent that delta is a real Inputs: topic, kalshi_event_ticker, polymarket_event_slug |
query_dataset | Fetch rows from a dataset. Supports limit, offset, and filter map (column → value). Inputs: dataset_id, limit, offset, filters |
recall | Retrieve a value previously saved via remember, or list all saved keys (omit the key argument). Use to look up context the agent stored earlier — the user's target ticker, an address, prior research notes — without re-deriving it from scrat Inputs: key |
recent_alerts | Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_uri (pipeworx:// when available), and the raw event payload. Filter by type (e.g. Inputs: type, since, limit, unread_only, mark_read |
recent_changes | "What's new with X" / "latest on Y" / "what happened to Z this week / month / quarter" / "updates on Acme" / "news on Tesla recently" / "what's happening with Apple" — change feed for a company in the last N days/weeks/months in ONE paralle Inputs: type, value, since |
release_calendar_markets | JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in the next N hours, and which live markets resolve on them. This is a POSITIONING Inputs: hours, categories |
remember | Save data the agent will need to reuse later — across this conversation or across sessions. Use when you discover something worth carrying forward (a resolved ticker, a target address, a user preference, a research subject) so you don't hav Inputs: key, value |
resolution_audit | Extract the settlement clause of a single Polymarket or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at, the precision of the computation (e.g. "1-minute candle close" vs "60-second traili Inputs: venue, market |
resolution_diff | Field-by-field diff of TWO markets' settlement clauses (one from each of `a` and `b`; either can be Polymarket or Kalshi) — runs resolution_audit on both sides and compares source, settle time, precision, and evidence standard. Returns `equ Inputs: a, b |
resolve_entity | "What's the ticker for…" / "find the CIK for…" / "what's the LEI for…" / "what's the RxCUI for…" / "look up the ID for…" / "what is X's official identifier" / "who owns X" / "is X a subsidiary of Y" — resolve a user-spoken NAME to the canon Inputs: type, value |
scan_competitor_ai_presence | Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces which is most/least recognized. Useful for competitive AI-marketing audits: "doe Inputs: entities, context, models, _apiKey |
scan_dependency | Composite "should I add this npm package to my project" check in ONE call — fans out across deps.dev (license + advisories + version history) and bundlephobia (gzipped/minified bundle size, dependency count, ESM/tree-shake support). Use whe Inputs: package, version |
search_datasets | Search the data.gov.sg dataset catalog by keyword (e.g. "rainfall", "hawker centres", "resale flat prices") — real text search via data.gov.sg's own site search, since the official v2 catalog API has none. Returns matching COLLECTIONS (topi Inputs: query, page |
search_within | Semantic search INSIDE a fetched record. Pass the text you already pulled (e.g. a SEC 10-K body, an article, a long tool result) plus a natural-language query; get back the top-N passages with character offsets and similarity scores. Use wh Inputs: text, query, limit |
subscribe | Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cannot persist subscriptions). Supported types: "sec_8k" (8-K filings matching ticke Inputs: type, params, delivery |
suggest_questions | What can I ask Pipeworx? / what is Pipeworx good for? / what can you do? / give me ideas / show me examples / getting started / what data do you have? — the onboarding entry point for an agent that just connected and wants to know what is w Inputs: topic |
taxi_availability | Live taxi positions across Singapore. |
traffic_incidents, unsubscribe, uv_index, validate_claim, weather_now
Every block below points at https://gateway.pipeworx.io/data-gov-sg/mcp. Pick your client and copy.
claude mcp add --transport http data-gov-sg https://gateway.pipeworx.io/data-gov-sg/mcp
{
"mcpServers": {
"data-gov-sg": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://gateway.pipeworx.io/data-gov-sg/mcp"]
}
}
}{
"mcpServers": {
"data-gov-sg": {
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"servers": {
"data-gov-sg": {
"type": "http",
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"context_servers": {
"data-gov-sg": {
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"mcpServers": {
"data-gov-sg": {
"serverUrl": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"mcpServers": {
"data-gov-sg": {
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}name: Data Gov Sg
version: 0.0.1
schema: v1
mcpServers:
- name: Data Gov Sg
type: streamable-http
url: https://gateway.pipeworx.io/data-gov-sg/mcp{
"mcpServers": {
"data-gov-sg": {
"httpUrl": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"mcpServers": {
"data-gov-sg": {
"type": "http",
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}{
"mcpServers": {
"data-gov-sg": {
"url": "https://gateway.pipeworx.io/data-gov-sg/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fgateway.pipeworx.io%2Fdata-gov-sg%2Fmcp&type=streamable_http&id=data-gov-sg&name=Data%20Gov%20Sg
It answered our last check on 23 October 2026 in 110 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
45, as returned by the server's own tools/list on 18 September 2026: ai_visibility_check, air_quality_pm25, air_quality_psi, ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, bet_research, company_facts, and 37 more.
It answered our last check on 23 October 2026 in 110 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://gateway.pipeworx.io/data-gov-sg/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.pipeworx-io. Endpoint host: gateway.pipeworx.io. ARD identifier: urn:air:io.github.pipeworx-io:mcp:data-gov-sg.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.