{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vrun5fwr2k75","handle":"france-legi","url":"https://wellknown.network/agents/france-legi","links":{"self":"https://wellknown.network/agents/france-legi/record.json","html":"https://wellknown.network/agents/france-legi","markdown":"https://wellknown.network/agents/france-legi/record.md","api":"https://wellknown.network/api/v1/agents/france-legi","status":"https://wellknown.network/api/v1/agents/france-legi/status","claim":"https://wellknown.network/agents/france-legi/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/france-legi/claim.json","badge":"https://wellknown.network/agents/france-legi/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/france-legi/history","tools":"https://wellknown.network/api/v1/agents/france-legi/tools"},"ard":{"identifier":"urn:air:gateway.pipeworx.io:server:france-legi","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"France Legi","summary":"France LEGI — the official consolidated French codes (Code civil, Code","description":"France LEGI — the official consolidated French codes (Code civil, Code","publisher":{"name":"pipeworx-io","url":null},"homepage":"https://pipeworx.io/packs/france-legi","repository":"https://github.com/pipeworx-io/mcp-france-legi","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://gateway.pipeworx.io/france-legi/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-11T22:48:07.324808Z","publishedAt":"2026-10-11T22:48:07.324808Z","registryName":"io.github.pipeworx-io/france-legi"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","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":"data.vector-search","name":"Vector Search","confidence":0.583,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.583,"provenance":"derived"},{"slug":"data.web-search","name":"Web Search","confidence":0.554,"provenance":"derived"}],"categories":["data","dev","knowledge","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 8h ago.","lastOkAt":"2026-10-24T09:25:07.094Z","lastProbedAt":"2026-10-24T09:25:07.094Z","statusComputedAt":"2026-10-24T09:28:34.488Z","reliability30d":{"probes":7,"successRate":1,"p50Ms":159,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":7,"ok":7,"authBoundaryOk":0,"serviceOk":7,"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-24T09:25:07.094Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":109,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T20:26:24.130Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":696,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T03:24:52.045Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"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 7,022 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 7,022 across 1850 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":"company_register_search","description":"Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish"},{"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":"fr_code_article","description":"Read an article of an official French code — Code civil, Code pénal, Code du travail, Code de commerce, Code général des impôts, Code de la santé publique and t"},{"name":"fr_legi_search","description":"Full-text search across the articles in force of the French codes (DILA LEGI consolidated text) — find which article of French law deals with a subject, in Fren"},{"name":"fr_code_toc","description":"Table of contents of a French code in force (parties, livres, titres, chapitres, sections) with the article numbers under each heading, from DILA's LEGI consoli"},{"name":"fr_article_versions","description":"Version history of an article of a French code: every consolidated version with its dates of entry into force and end, its status (VIGUEUR, MODIFIE, ABROGE…) an"}],"toolCount":45,"toolsHash":"6660c6c250bb83e46d4582bcd0415c7f2828683c71c21878243abb06fd0fdf58","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T15:34:13.014Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":88,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-18T02:23:35.979Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"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,940 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,940 across 1827 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":"company_register_search","description":"Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish"},{"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":"fr_code_article","description":"Read an article of an official French code — Code civil, Code pénal, Code du travail, Code de commerce, Code général des impôts, Code de la santé publique and t"},{"name":"fr_legi_search","description":"Full-text search across the articles in force of the French codes (DILA LEGI consolidated text) — find which article of French law deals with a subject, in Fren"},{"name":"fr_code_toc","description":"Table of contents of a French code in force (parties, livres, titres, chapitres, sections) with the article numbers under each heading, from DILA's LEGI consoli"},{"name":"fr_article_versions","description":"Version history of an article of a French code: every consolidated version with its dates of entry into force and end, its status (VIGUEUR, MODIFIE, ABROGE…) an"}],"toolCount":45,"toolsHash":"51ade32d75fbb9713293e3cc6d91c0a3d77d6d1aa0b36dad28d39c6680a0b810","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-16T14:30:09.071Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":96,"error":null,"detail":{"serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-15T02:24:05.131Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"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,835 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,835 across 1801 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":"company_register_search","description":"Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish"},{"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":"fr_code_article","description":"Read an article of an official French code — Code civil, Code pénal, Code du travail, Code de commerce, Code général des impôts, Code de la santé publique and t"},{"name":"fr_legi_search","description":"Full-text search across the articles in force of the French codes (DILA LEGI consolidated text) — find which article of French law deals with a subject, in Fren"},{"name":"fr_code_toc","description":"Table of contents of a French code in force (parties, livres, titres, chapitres, sections) with the article numbers under each heading, from DILA's LEGI consoli"},{"name":"fr_article_versions","description":"Version history of an article of a French code: every consolidated version with its dates of entry into force and end, its status (VIGUEUR, MODIFIE, ABROGE…) an"}],"toolCount":45,"toolsHash":"a3bec76da9a26a529a765d49aa410f04046d7a8a719d41574dd389adfc1b10bb","serverName":"pipeworx-gateway","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":null,"package":null,"toolSurface":{"id":"ts_t8nq5ytg5r24","endpointId":"ep_c5c2d3jfykcg","hash":"6660c6c250bb83e46d4582bcd0415c7f2828683c71c21878243abb06fd0fdf58","toolCount":45,"serverName":"pipeworx-gateway","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-21T03:24:52.043Z","lastSeenAt":"2026-10-21T03:24:52.043Z","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","company_register_search","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","fr_code_article","fr_legi_search","fr_code_toc","fr_article_versions"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_c5c2d3jfykcg","url":"https://gateway.pipeworx.io/france-legi/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-24T09:25:07.097Z","auth":{"observedAt":"2026-10-24T09:25:07.123Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://gateway.pipeworx.io/.well-known/oauth-protected-resource/france-legi/mcp","resource":"https://gateway.pipeworx.io/france-legi/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-24T09:25:07.148Z","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":54,"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/france-legi","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.pipeworx-io%2Ffrance-legi","firstSeenAt":"2026-10-13T21:20:05.471Z","fetchedAt":"2026-10-23T19:23:25.493Z","normalizedAt":"2026-10-23T19:23:25.493Z"}]},"firstSeenAt":"2026-10-13T21:20:05.471Z","updatedAt":"2026-10-21T03:29:41.582Z"}