{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_p9gxse2xqh4h","handle":"ecb","url":"https://wellknown.network/agents/ecb","links":{"self":"https://wellknown.network/agents/ecb/record.json","html":"https://wellknown.network/agents/ecb","markdown":"https://wellknown.network/agents/ecb/record.md","api":"https://wellknown.network/api/v1/agents/ecb","status":"https://wellknown.network/api/v1/agents/ecb/status","claim":"https://wellknown.network/agents/ecb/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ecb/claim.json","badge":"https://wellknown.network/agents/ecb/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/ecb/history","tools":"https://wellknown.network/api/v1/agents/ecb/tools"},"ard":{"identifier":"urn:air:gateway.pipeworx.io:server:ecb","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Ecb","summary":"ECB Data Portal MCP — European Central Bank statistical data","description":"ECB Data Portal MCP — European Central Bank statistical data","publisher":{"name":"pipeworx-io","url":null},"homepage":"https://pipeworx.io/packs/ecb","repository":"https://github.com/pipeworx-io/mcp-ecb","version":"0.1.2","license":"MIT","protocols":["mcp"],"tags":["mcp","mcp-server","model-context-protocol","pipeworx","ecb"],"pricing":null,"endpoints":[{"url":"https://gateway.pipeworx.io/ecb/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@pipeworx/mcp-ecb","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-25T23:41:08.612144Z","npmKeywords":["mcp","mcp-server","model-context-protocol","pipeworx","ecb"],"publishedAt":"2026-09-25T23:41:08.612144Z","registryName":"io.github.pipeworx-io/ecb"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.weather","name":"Weather","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.992,"provenance":"derived"},{"slug":"knowledge.memory","name":"Agent Memory","confidence":0.992,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.962,"provenance":"derived"},{"slug":"data.news","name":"News & Feeds","confidence":0.933,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.833,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.583,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.583,"provenance":"derived"}],"categories":["data","dev","finance","knowledge","research"],"language":"es"},"observed":{"status":"live","statusReason":"Responded 26h ago.","lastOkAt":"2026-10-09T00:24:05.292Z","lastProbedAt":"2026-10-09T00:24:05.292Z","statusComputedAt":"2026-10-09T00:27:04.894Z","reliability30d":{"probes":40,"successRate":1,"p50Ms":158,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":39,"ok":39,"authBoundaryOk":0,"serviceOk":39,"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-09T00:24:05.292Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"ask_pipeworx","description":"PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO paten"},{"name":"ask_pipeworx_beta","description":"Beta version of ask_pipeworx: identical universal router (same 6,626 tools, same arguments, same response shape) with candidate routing improvements enabled liv"},{"name":"ask_pipeworx_grounded","description":"Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,626 across 1739 sources, fills arguments, "},{"name":"search_within","description":"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; "},{"name":"deep_research","description":"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 inste"},{"name":"discover_tools","description":"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, pro"},{"name":"resolve_entity","description":"\"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\" / \""},{"name":"compare_entities","description":"\"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 com"},{"name":"subscribe","description":"Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cann"},{"name":"unsubscribe","description":"Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events s"},{"name":"list_subscriptions","description":"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 befo"},{"name":"recent_alerts","description":"Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_u"},{"name":"entity_profile","description":"\"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"},{"name":"recent_changes","description":"\"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 A"},{"name":"validate_claim","description":"\"Is it true that…\" / \"fact check\" / \"verify the claim that…\" / \"did X really…\" / \"was Y actually…\" / \"confirm or refute\" / \"true or false\" — natural-language cl"},{"name":"company_facts","description":"TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — \"Apple revenue for fiscal 2023\", \"Walmart net income FY2"},{"name":"scan_dependency","description":"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 ("},{"name":"bet_research","description":"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-n"},{"name":"polymarket_arbitrage","description":"Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets b"},{"name":"polymarket_edges","description":"Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for \"what should I bet on today\" — agents discover o"},{"name":"polymarket_kalshi_spread","description":"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 par"},{"name":"polymarket_fill_risk","description":"Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGL"},{"name":"polymarket_edge_tracker","description":"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 e"},{"name":"kalshi_weather_edge","description":"Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats"},{"name":"resolution_audit","description":"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"},{"name":"resolution_diff","description":"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 "},{"name":"release_calendar_markets","description":"JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in "},{"name":"archive_evidence","description":"What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arq"},{"name":"archive_compare","description":"What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extr"},{"name":"research_row","description":"Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own"},{"name":"classify_row","description":"Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry"},{"name":"pipeworx_trending","description":"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 f"},{"name":"suggest_questions","description":"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 onb"},{"name":"generate_llms_txt","description":"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/"},{"name":"ai_visibility_check","description":"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"},{"name":"scan_competitor_ai_presence","description":"Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces "},{"name":"pipeworx_feedback","description":"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 th"},{"name":"remember","description":"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 t"},{"name":"recall","description":"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 tar"},{"name":"forget","description":"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 re"},{"name":"ecb_exchange_rate","description":"AUTHORITATIVE euro foreign-exchange reference rate from the European Central Bank — the official daily EUR spot rate against a target currency (ISO 4217: USD, G"},{"name":"ecb_hicp_inflation","description":"Harmonised Index of Consumer Prices (HICP) annual rate of change for a country / euro area. Monthly frequency. country defaults to U2 (euro area)."},{"name":"ecb_get_data","description":"Generic SDMX data fetch from any ECB flow. Key is dot-separated dimension values; empty positions are wildcards. Example: flow_ref=\"EXR\", key=\"D.USD.EUR.SP00.A\""},{"name":"ecb_list_dataflows","description":"List all ECB SDMX dataflow IDs and names (e.g. EXR, ICP, BSI, MIR). Accepts an optional case-insensitive substring filter on flow_ref or name. Returns {count, t"}],"toolCount":44,"toolsHash":"5c8568547b7040a27c96d5e65b40cabf4e282e261c39178aac228d64a2402cfe","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:29:14.567Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":235,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T04:27:52.180Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"ask_pipeworx","description":"PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO paten"},{"name":"ask_pipeworx_beta","description":"Beta version of ask_pipeworx: identical universal router (same 6,475 tools, same arguments, same response shape) with candidate routing improvements enabled liv"},{"name":"ask_pipeworx_grounded","description":"Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,475 across 1685 sources, fills arguments, "},{"name":"search_within","description":"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; "},{"name":"deep_research","description":"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 inste"},{"name":"discover_tools","description":"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, pro"},{"name":"resolve_entity","description":"\"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\" / \""},{"name":"compare_entities","description":"\"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 com"},{"name":"subscribe","description":"Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cann"},{"name":"unsubscribe","description":"Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events s"},{"name":"list_subscriptions","description":"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 befo"},{"name":"recent_alerts","description":"Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_u"},{"name":"entity_profile","description":"\"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"},{"name":"recent_changes","description":"\"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 A"},{"name":"validate_claim","description":"\"Is it true that…\" / \"fact check\" / \"verify the claim that…\" / \"did X really…\" / \"was Y actually…\" / \"confirm or refute\" / \"true or false\" — natural-language cl"},{"name":"company_facts","description":"TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — \"Apple revenue for fiscal 2023\", \"Walmart net income FY2"},{"name":"scan_dependency","description":"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 ("},{"name":"bet_research","description":"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-n"},{"name":"polymarket_arbitrage","description":"Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets b"},{"name":"polymarket_edges","description":"Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for \"what should I bet on today\" — agents discover o"},{"name":"polymarket_kalshi_spread","description":"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 par"},{"name":"polymarket_fill_risk","description":"Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGL"},{"name":"polymarket_edge_tracker","description":"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 e"},{"name":"kalshi_weather_edge","description":"Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats"},{"name":"resolution_audit","description":"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"},{"name":"resolution_diff","description":"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 "},{"name":"release_calendar_markets","description":"JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in "},{"name":"pipeworx_trending","description":"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 f"},{"name":"suggest_questions","description":"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 onb"},{"name":"generate_llms_txt","description":"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/"},{"name":"ai_visibility_check","description":"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"},{"name":"scan_competitor_ai_presence","description":"Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces "},{"name":"pipeworx_feedback","description":"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 th"},{"name":"remember","description":"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 t"},{"name":"recall","description":"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 tar"},{"name":"forget","description":"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 re"},{"name":"ecb_exchange_rate","description":"AUTHORITATIVE euro foreign-exchange reference rate from the European Central Bank — the official daily EUR spot rate against a target currency (ISO 4217: USD, G"},{"name":"ecb_hicp_inflation","description":"Harmonised Index of Consumer Prices (HICP) annual rate of change for a country / euro area. Monthly frequency. country defaults to U2 (euro area)."},{"name":"ecb_get_data","description":"Generic SDMX data fetch from any ECB flow. Key is dot-separated dimension values; empty positions are wildcards. Example: flow_ref=\"EXR\", key=\"D.USD.EUR.SP00.A\""},{"name":"ecb_list_dataflows","description":"List all ECB SDMX dataflow IDs and names (e.g. EXR, ICP, BSI, MIR). Accepts an optional case-insensitive substring filter on flow_ref or name. Returns {count, t"}],"toolCount":40,"toolsHash":"39c63d77c7a8b2761113d7f36ec1bf5fd431f0d8abca1e91b11d012463b5888f","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-04T18:25:20.884Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":110,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-03T08:24:01.281Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-01T23:21:01.046Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-30T13:25:09.539Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":54,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-29T03:19:37.717Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":74,"error":null,"detail":{"tools":[{"name":"ask_pipeworx","description":"PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO paten"},{"name":"ask_pipeworx_beta","description":"Beta version of ask_pipeworx: identical universal router (same 6,431 tools, same arguments, same response shape) with candidate routing improvements enabled liv"},{"name":"ask_pipeworx_grounded","description":"Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,431 across 1680 sources, fills arguments, "},{"name":"search_within","description":"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; "},{"name":"deep_research","description":"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 inste"},{"name":"discover_tools","description":"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, pro"},{"name":"resolve_entity","description":"\"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\" / \""},{"name":"compare_entities","description":"\"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 com"},{"name":"subscribe","description":"Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cann"},{"name":"unsubscribe","description":"Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events s"},{"name":"list_subscriptions","description":"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 befo"},{"name":"recent_alerts","description":"Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_u"},{"name":"entity_profile","description":"\"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"},{"name":"recent_changes","description":"\"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 A"},{"name":"validate_claim","description":"\"Is it true that…\" / \"fact check\" / \"verify the claim that…\" / \"did X really…\" / \"was Y actually…\" / \"confirm or refute\" / \"true or false\" — natural-language cl"},{"name":"company_facts","description":"TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — \"Apple revenue for fiscal 2023\", \"Walmart net income FY2"},{"name":"scan_dependency","description":"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 ("},{"name":"bet_research","description":"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-n"},{"name":"polymarket_arbitrage","description":"Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets b"},{"name":"polymarket_edges","description":"Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for \"what should I bet on today\" — agents discover o"},{"name":"polymarket_kalshi_spread","description":"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 par"},{"name":"polymarket_fill_risk","description":"Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGL"},{"name":"polymarket_edge_tracker","description":"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 e"},{"name":"kalshi_weather_edge","description":"Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats"},{"name":"resolution_audit","description":"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"},{"name":"resolution_diff","description":"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 "},{"name":"release_calendar_markets","description":"JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in "},{"name":"pipeworx_trending","description":"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 f"},{"name":"suggest_questions","description":"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 onb"},{"name":"generate_llms_txt","description":"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/"},{"name":"ai_visibility_check","description":"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"},{"name":"scan_competitor_ai_presence","description":"Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces "},{"name":"pipeworx_feedback","description":"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 th"},{"name":"remember","description":"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 t"},{"name":"recall","description":"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 tar"},{"name":"forget","description":"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 re"},{"name":"ecb_exchange_rate","description":"AUTHORITATIVE euro foreign-exchange reference rate from the European Central Bank — the official daily EUR spot rate against a target currency (ISO 4217: USD, G"},{"name":"ecb_hicp_inflation","description":"Harmonised Index of Consumer Prices (HICP) annual rate of change for a country / euro area. Monthly frequency. country defaults to U2 (euro area)."},{"name":"ecb_get_data","description":"Generic SDMX data fetch from any ECB flow. Key is dot-separated dimension values; empty positions are wildcards. Example: flow_ref=\"EXR\", key=\"D.USD.EUR.SP00.A\""},{"name":"ecb_list_dataflows","description":"List all ECB SDMX dataflow IDs and names (e.g. EXR, ICP, BSI, MIR). Accepts an optional case-insensitive substring filter on flow_ref or name. Returns {count, t"}],"toolCount":40,"toolsHash":"076e3f1a635c3196664abf3e725eab92e398e4bcd2d8284066264399c1103b92","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-27T17:24:12.626Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":166,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-26T09:25:19.100Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":60,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"ask_pipeworx","description":"PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO paten"},{"name":"ask_pipeworx_beta","description":"Beta version of ask_pipeworx: identical universal router (same 6,626 tools, same arguments, same response shape) with candidate routing improvements enabled liv"},{"name":"ask_pipeworx_grounded","description":"Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,626 across 1739 sources, fills arguments, "},{"name":"search_within","description":"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; "},{"name":"deep_research","description":"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 inste"},{"name":"discover_tools","description":"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, pro"},{"name":"resolve_entity","description":"\"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\" / \""},{"name":"compare_entities","description":"\"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 com"},{"name":"subscribe","description":"Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cann"},{"name":"unsubscribe","description":"Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events s"},{"name":"list_subscriptions","description":"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 befo"},{"name":"recent_alerts","description":"Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_u"},{"name":"entity_profile","description":"\"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"},{"name":"recent_changes","description":"\"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 A"},{"name":"validate_claim","description":"\"Is it true that…\" / \"fact check\" / \"verify the claim that…\" / \"did X really…\" / \"was Y actually…\" / \"confirm or refute\" / \"true or false\" — natural-language cl"},{"name":"company_facts","description":"TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — \"Apple revenue for fiscal 2023\", \"Walmart net income FY2"},{"name":"scan_dependency","description":"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 ("},{"name":"bet_research","description":"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-n"},{"name":"polymarket_arbitrage","description":"Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets b"},{"name":"polymarket_edges","description":"Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for \"what should I bet on today\" — agents discover o"},{"name":"polymarket_kalshi_spread","description":"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 par"},{"name":"polymarket_fill_risk","description":"Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGL"},{"name":"polymarket_edge_tracker","description":"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 e"},{"name":"kalshi_weather_edge","description":"Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats"},{"name":"resolution_audit","description":"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"},{"name":"resolution_diff","description":"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 "},{"name":"release_calendar_markets","description":"JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in "},{"name":"archive_evidence","description":"What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arq"},{"name":"archive_compare","description":"What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extr"},{"name":"research_row","description":"Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own"},{"name":"classify_row","description":"Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry"},{"name":"pipeworx_trending","description":"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 f"},{"name":"suggest_questions","description":"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 onb"},{"name":"generate_llms_txt","description":"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/"},{"name":"ai_visibility_check","description":"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"},{"name":"scan_competitor_ai_presence","description":"Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces "},{"name":"pipeworx_feedback","description":"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 th"},{"name":"remember","description":"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 t"},{"name":"recall","description":"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 tar"},{"name":"forget","description":"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 re"},{"name":"ecb_exchange_rate","description":"AUTHORITATIVE euro foreign-exchange reference rate from the European Central Bank — the official daily EUR spot rate against a target currency (ISO 4217: USD, G"},{"name":"ecb_hicp_inflation","description":"Harmonised Index of Consumer Prices (HICP) annual rate of change for a country / euro area. Monthly frequency. country defaults to U2 (euro area)."},{"name":"ecb_get_data","description":"Generic SDMX data fetch from any ECB flow. Key is dot-separated dimension values; empty positions are wildcards. Example: flow_ref=\"EXR\", key=\"D.USD.EUR.SP00.A\""},{"name":"ecb_list_dataflows","description":"List all ECB SDMX dataflow IDs and names (e.g. EXR, ICP, BSI, MIR). Accepts an optional case-insensitive substring filter on flow_ref or name. Returns {count, t"}],"package":{"name":"@pipeworx/mcp-ecb","registry":"npm","observedAt":"2026-10-09T23:22:34.172Z","publishedAt":"2026-09-25T23:43:00.005Z","latestVersion":"0.1.2","weeklyDownloads":241},"toolSurface":{"id":"ts_97ne4wrfc7m8","endpointId":"ep_e7zzbzs2d69e","hash":"5c8568547b7040a27c96d5e65b40cabf4e282e261c39178aac228d64a2402cfe","toolCount":44,"serverName":"pipeworx-gateway","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T00:24:05.304Z","lastSeenAt":"2026-10-09T00:24:05.304Z","observations":1,"toolNames":["ask_pipeworx","ask_pipeworx_beta","ask_pipeworx_grounded","search_within","deep_research","discover_tools","resolve_entity","compare_entities","subscribe","unsubscribe","list_subscriptions","recent_alerts","entity_profile","recent_changes","validate_claim","company_facts","scan_dependency","bet_research","polymarket_arbitrage","polymarket_edges","polymarket_kalshi_spread","polymarket_fill_risk","polymarket_edge_tracker","kalshi_weather_edge","resolution_audit","resolution_diff","release_calendar_markets","archive_evidence","archive_compare","research_row","classify_row","pipeworx_trending","suggest_questions","generate_llms_txt","ai_visibility_check","scan_competitor_ai_presence","pipeworx_feedback","remember","recall","forget","ecb_exchange_rate","ecb_hicp_inflation","ecb_get_data","ecb_list_dataflows"],"distinctSurfaces":11},"endpointFacts":[{"id":"ep_e7zzbzs2d69e","url":"https://gateway.pipeworx.io/ecb/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T00:24:05.330Z","auth":{"observedAt":"2026-10-09T00:24:05.352Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://gateway.pipeworx.io/.well-known/oauth-protected-resource/ecb/mcp","resource":"https://gateway.pipeworx.io/ecb/mcp","authorizationServers":["https://gateway.pipeworx.io"],"scopesSupported":["pipeworx:read"]},"authorizationServer":{"url":"https://gateway.pipeworx.io/.well-known/oauth-authorization-server","issuer":"https://gateway.pipeworx.io","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_post","client_secret_basic"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T00:24:05.366Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"pipeworx.io","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-19T01:57:25.000Z","validTo":"2026-12-18T02:57:05.000Z","daysToExpiry":69,"sanCount":3,"fingerprint256":"F8:33:DA:2D:BF:C0:5B:07:A6:43:56:70:94:C1:0B:D3:F3:B3:28:1A:2C:54:20:9B:B7:7E:5C:68:A5:FF:66:D4"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.pipeworx-io/ecb","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.pipeworx-io%2Fecb","firstSeenAt":"2026-09-06T23:20:59.383Z","fetchedAt":"2026-10-08T00:19:32.224Z","normalizedAt":"2026-10-08T00:19:32.224Z"},{"source":"npm","key":"@pipeworx/mcp-ecb","url":"https://www.npmjs.com/package/@pipeworx/mcp-ecb","firstSeenAt":"2026-09-26T14:21:34.132Z","fetchedAt":"2026-10-09T23:21:58.537Z","normalizedAt":"2026-10-09T23:21:58.537Z"}]},"firstSeenAt":"2026-09-06T23:20:59.383Z","updatedAt":"2026-10-09T23:22:34.172Z"}