Search / io.github.pipeworx-io/neso
Neso
R0· no sign-inNESO MCP — Great Britain electricity grid open data (api.neso.energy)
v0.1.1 · active · repository · website · descriptor JSON · versions
Search / io.github.pipeworx-io/neso
R0· no sign-inNESO MCP — Great Britain electricity grid open data (api.neso.energy)
v0.1.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"neso": {
"type": "http",
"url": "https://gateway.pipeworx.io/neso/mcp"
}
}
}claude mcp add --transport http neso https://gateway.pipeworx.io/neso/mcp[mcp_servers.neso]
url = "https://gateway.pipeworx.io/neso/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"neso": {
"type": "remote",
"url": "https://gateway.pipeworx.io/neso/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"neso": {
"type": "http",
"url": "https://gateway.pipeworx.io/neso/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=neso&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9uZXNvL21jcCJ9"
}{
"servers": {
"neso": {
"type": "http",
"url": "https://gateway.pipeworx.io/neso/mcp"
}
}
}{
"mcpServers": {
"neso": {
"httpUrl": "https://gateway.pipeworx.io/neso/mcp"
}
}
}extensions:
"neso":
enabled: true
name: "neso"
type: streamable_http
uri: "https://gateway.pipeworx.io/neso/mcp"
timeout: 300
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagelist_subscriptionsremovedList 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.
scan_competitor_ai_presenceremovedCompare 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: "does Claude know about us as well as our competitors?". Returns ranked list with score, confidence, signal density per entity.
company_factsremovedTYPED, 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 / get_company_financials whenever the period matters: those answer "the most recent figures" and will happily hand back FY2025 when you asked about FY2019, and neither separates a discrete quarter from a year-to-date figure. This one refuses instead — it NEVER substitutes the latest period for the period requested, NEVER returns 0 for missing data, NEVER lets a 9-month YTD number answer a quarterly question, and NEVER converts a currency. Every answer carries the exact us-gaap concept it came from, what that concept MEASURES (NetIncomeLoss excludes non-controlling interests, ProfitLoss includes them — not synonyms), the accession number and a link to the filing on sec.gov, the restatement trail of any superseded figures, and a contract + derivation version to pin against. Fiscal periods are the FILER'S OWN, anchored on their fiscal-year end, so Walmart's year ending 2026-01-31 is FY2026 and Apple's ending 2025-09-27 is FY2025. Attributes in v1: revenue, net_income, cash. Every non-answer is a named status — `unavailable` (the filer did not report it for that period; the periods that DO exist are listed, without values), `unsupported` (outside what v1 covers — a non-us-gaap filer, an unknown attribute, a non-USD unit), `ambiguous` (the company name matched two filers equally well; both are named), `conflicting` (two filings the same day disagree; both are returned and neither is picked), `partial` (a value with no accession behind it). Source: SEC EDGAR XBRL companyconcept, one publisher read once — see `corroboration`. Same response is served at POST https://gateway.pipeworx.io/v1/facts for non-MCP callers.
resolution_auditremovedExtract 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 trailing average" vs "election outcome"), the evidence standard (official_source | consensus_reporting | any_credible_report | unspecified), and void_handling (cancellation/postponement settlement — reused verbatim from bet_research's cancellation_rule detector, not re-derived). Parses Polymarket's `description` field (fetched via polymarket_market) or Kalshi's `rules_primary` + `rules_secondary` fields (fetched via kalshi_market) with regex + a small vocabulary — no LLM pass, so an unusual clause reports confidence:"low" rather than a guess. Pass `market` as a Polymarket slug/URL or a Kalshi market ticker (e.g. "KXBTCD-26SEP1317-T66999.99"); a Kalshi EVENT ticker (e.g. "KXBTCD-26SEP1317") also works — it picks one representative market under that event, since the settlement mechanism is normally shared across all strikes/legs in one event. Use this before treating a polymarket_kalshi_spread row as a real arbitrage: two ladders that look alike can settle on different sources, at different times, with different precision — this tool is how you check. Pair with resolution_diff to compare two markets directly. KNOWN GAP: idiosyncratic phrasing that doesn't match the vocabulary returns confidence:"low" and evidence_standard:"unspecified" rather than an LLM-guessed answer.
subscriberemovedCreate 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 ticker + item codes — e.g. items:["5.02"] = officer change), "polymarket_edge" (Polymarket↔Kalshi cross-venue mispricings — params:{topic:"fed"}), "fred_series" (new FRED observations — params:{series_id:"UNRATE"}). Delivery channels: feed (always on — pull via recent_alerts or GET registry.pipeworx.io/alerts.json), and optionally email (set delivery:{email:"[email protected]"}) or sms (delivery:{sms:"+15551234567"} — phone must be verified at /account first; 10/day cap).
deep_researchremovedACCOUNT 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 1711 STRUCTURED data sources (SEC filings, FRED/BLS economics, FDA, USPTO patents, markets, science, government records, etc.) in ONE call — this is NOT open-web search. Decomposes your question into focused facets, routes each to the right one of 6,555 tools IN PARALLEL, and returns a findings packet: verbatim evidence + confidence + source + fetched_at + a stable pipeworx:// citation per finding, with explicit gaps[] for facets the data couldn't answer (never invented). Best for broad/multi-part questions over structured data ("compare X and Y's regulatory + financial exposure", "research the filings + market picture for ACME"). For a single lookup use ask_pipeworx (one LLM call, not many). For BREAKING or colloquial CURRENT-NEWS / "what's the world saying about X" topics, prefer ask_pipeworx — it routes to live news APIs and the *-news-feeds packs; deep_research returns mostly empty gaps[] when the topic isn't in the structured catalog. Second-hop iteration: depth:"standard" re-angles unanswered gaps (gap recovery); depth:"thorough" additionally chases the best leads from the first pass — so multi-step questions resolve in one call. Every finding carries a `hop` field and a citation_uri — a resolvable pipeworx:// record URI, present only when the source emits one that resources/read can actually serve, so a citation you get back is always fetchable. "standard" and "thorough" also return contradictions[] flagging findings that disagree. Large records are semantically excerpted to the passages relevant to each facet (not head-truncated), so answers deep in a long filing/series aren't missed. Expect 15-60s (thorough with its follow-up + contradiction pass: up to ~90s).
unsubscriberemovedCancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events stay available via recent_alerts.
neso_demand_forecastremovedCurrent GB day-ahead national electricity demand forecast from NESO (National Grid ESO) — tomorrow's UK power demand in MW at each cardinal point (the daily peaks and troughs the grid operator forecasts, with start/end times). Answers "what is tomorrow's UK electricity demand", "GB power demand forecast", "National Grid demand peak". Example: neso_demand_forecast({})
neso_query_dataremovedQuery rows from a NESO GB energy dataset resource (CKAN DataStore) by resource_id — UK electricity demand, wind generation forecasts, carbon intensity, balancing data. Supports exact-match filters (field->value object), full-text query, limit, offset. Returns field names/types plus records. Example: neso_query_data({ resource_id: "aec5601a-7f3e-4c4c-bf56-d8e4184d3c5b", limit: 20 })
neso_dataset_resourcesremovedList the resources (data files/tables) inside one NESO UK electricity grid dataset by its id or slug (from neso_search_datasets). Returns the dataset title/description plus each resource's resource_id, name, format, datastore availability, and last_modified — pick a resource_id with datastore_active for neso_query_data. Example: neso_dataset_resources({ id: "14-days-ahead-wind-forecasts" })
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-98% +updated-25d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://gateway.pipeworx.io/neso/mcp streamable-http | none | yes | 98% | 32 ms | 2025-03-26 | 2026-10-20 |
No tools observed. Tools appear once a credential-free probe can list them.
Schemas: list_tools.
And 1,855 more from this publisher.
{
"name": "io.github.pipeworx-io/neso",
"title": "Neso",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://gateway.pipeworx.io/neso/mcp",
"type": "streamable-http"
}
],
"version": "0.1.1",
"repository": {
"url": "https://github.com/pipeworx-io/mcp-neso",
"source": "github"
},
"websiteUrl": "https://pipeworx.io/packs/neso",
"description": "NESO MCP — Great Britain electricity grid open data (api.neso.energy)"
}