Skip to main content
Glama

Server Details

eCFR (Electronic Code of Federal Regulations) MCP.

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
20.5% over 64 days
Last Tested
Transport
Streamable HTTP
URL
Repository
pipeworx-io/mcp-ecfr
GitHub Stars
0
Server Listing
mcp-ecfr

TDQS

A3.6/5.0

Scored across 40 tools

Disambiguation1/5

Multiple tools are near-duplicates for the same job: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, and deep_research all do routed data lookup; six-plus polymarket_* tools plus bet_research and kalshi_weather_edge all hunt prediction-market edges; and company_facts, entity_profile, compare_entities, and recent_changes overlap heavily on company data. Even with detailed descriptions, an agent will often have several plausible tools for one request.

Naming Consistency3/5

Names are uniformly lowercase snake_case and mostly readable, but there is no consistent verb_noun pattern: list_titles/get_section_text use verbs, while company_facts/entity_profile/title_structure are noun phrases, and vendor prefixes are applied unevenly (ask_pipeworx vs pipeworx_feedback vs polymarket_edges). It is a coherent style, but not a predictable schema.

Tool Count2/5

Forty tools far exceeds the comfortable 3-15 range and even the 16-25 'heavy' band. More importantly, only four tools (list_titles, title_structure, search_regulations, get_section_text) match the Ecfr name; the rest form a general Pipeworx/prediction-market/memory platform, so the count is inflated by unrelated functionality.

Completeness3/5

The CFR subset itself is usable — search, title list, title structure, and section/part text cover the basic read-only workflow. But as a server named Ecfr there are apparent gaps (no version/amendment history, no agency or cross-reference navigation), and the unrelated tools make the overall surface feel like several products merged rather than one complete domain.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Addedarchive_compare
    • Addedarchive_evidence
    • Addedclassify_row
    • Changeddeep_research8 fields changed
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / input
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / q
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases."
      • addedInput schema / properties / text
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
    • Changedforget4 fields changed
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
    • Changedrecall4 fields changed
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key to retrieve (omit to list all keys)"New value: +"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
    • Changedrelease_calendar_markets2 fields changed
      • addedOutput schema / properties / empty_reason
        Added value: +{
        +  "description": "Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / hint
        Added value: +{
        +  "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).",
        +  "type": "string"
        +}
    • Changedremember9 fields changed
      • addedInput schema / properties / content
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / data
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\")"New value: +"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / text
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / v
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • changedInput schema / properties / value / description
        Previous value: -"Value to store (any text — findings, addresses, preferences, notes)"New value: +"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON."
    • Addedresearch_row
    • Changedsubscribe2 fields changed
      • changedInput schema / properties / params / description
        Previous value: -"Type-specific filter. sec_8k: {ticker:\"AAPL\", items?:[\"5.02\",\"1.01\"]}. polymarket_edge: {topic:\"fed\", min_spread_bps?:500}. fred_series: {series_id:\"UNRATE\"}. patent_grant: {applicant:\"Apple Inc.\"}. clinical_trial: {sponsor?:\"Pfizer\", condition?:\"lung cancer\", phase?:\"PHASE3\"} (sponsor or condition required)."New value: +"Type-specific filter. sec_8k: {ticker:\"AAPL\", items?:[\"5.02\",\"1.01\"]}. polymarket_edge: {topic:\"fed\", min_spread_bps?:500}. fred_series: {series_id:\"UNRATE\"}. patent_grant: {applicant:\"Apple Inc.\"}. clinical_trial: {sponsor?:\"Pfizer\", condition?:\"lung cancer\", phase?:\"PHASE3\"} (sponsor or condition required). form_d: {state?:\"CA\", industry?:\"Biotechnology\", min_amount?:500000, exemption?:\"06B\"} (all optional — omit all to watch every new Form D nationwide). news_keyword: {query:\"\\\"semiconductor sanctions\\\"\", lang?:\"eng\", domains?:[\"reuters.com\"]} (query required). job_post: EITHER {ats:\"greenhouse\", board_token:\"acme\"} (exact board) OR {domain:\"acme.com\"} (auto-detected), plus optional title_query/location_query substrings. tool_diff: {tool:\"form5500\", args?:{...}, fields:[\"headcount\"], schedule:\"daily\"} — re-runs that tool on schedule and fires when the named fields change; tool must be read-only and not need a Pipeworx-held platform key; schedule \"hourly\" needs the paid tier. Unknown keys in form_d/news_keyword/job_post/tool_diff params are rejected at subscribe time."
      • changedInput schema / properties / type / enum
        Previous value: -[
        -  "sec_8k",
        -  "polymarket_edge",
        -  "fred_series",
        -  "patent_grant",
        -  "clinical_trial"
        -]New value: +[
        +  "sec_8k",
        +  "polymarket_edge",
        +  "fred_series",
        +  "patent_grant",
        +  "clinical_trial",
        +  "form_d",
        +  "news_keyword",
        +  "job_post",
        +  "tool_diff"
        +]
  2. 27 tool updates
    • Changedai_visibility_check1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entity": "Tesla"
        +  }
        +]
    • Changedask_pipeworx3 fields changed
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_beta4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What is the current US unemployment rate?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_grounded4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What was Apple's fiscal 2023 revenue?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Addedcompany_facts
    • Changedcompare_entities1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "values": [
        +      "AAPL",
        +      "MSFT"
        +    ]
        +  }
        +]
    • Changeddeep_research1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "depth": "quick",
        +    "question": "What is the current US unemployment rate and how has it changed over the past year?"
        +  }
        +]
    • Changedentity_profile1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedgenerate_llms_txt1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "url": "https://pipeworx.io"
        +  }
        +]
    • Addedkalshi_weather_edge
    • Changedpipeworx_feedback1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.",
        +    "type": "other"
        +  }
        +]
    • Changedpipeworx_trending1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "window": "7d"
        +  }
        +]
    • Changedpolymarket_arbitrage1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "Fed rate decision"
        +  }
        +]
    • Changedpolymarket_edge_tracker1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "days": 14,
        +    "window": "1wk"
        +  }
        +]
    • Changedpolymarket_edges3 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 5,
        +    "window": "1wk"
        +  }
        +]
      • changedInput schema / properties / min_edge_pp / description
        Previous value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee."
      • changedInput schema / properties / slippage_pp / description
        Previous value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
    • Changedpolymarket_fill_risk1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636",
        +    "side": "buy_yes",
        +    "size_usd": 1000
        +  }
        +]
    • Changedrecent_changes1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "since": "30d",
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Addedrelease_calendar_markets
    • Changedremember1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "key": "target_ticker",
        +    "value": "AAPL"
        +  }
        +]
    • Addedresolution_audit
    • Addedresolution_diff
    • Changedresolve_entity1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedscan_competitor_ai_presence1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entities": [
        +      "Pipeworx",
        +      "Zapier"
        +    ]
        +  }
        +]
    • Changedscan_dependency1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "package": "left-pad"
        +  }
        +]
    • Changedsearch_within1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "query": "supply-chain risk",
        +    "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter."
        +  }
        +]
    • Changedsuggest_questions1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "finance"
        +  }
        +]
    • Changedvalidate_claim1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "claim": "Apple's fiscal 2023 revenue was $383 billion"
        +  }
        +]
  3. 1 tool update
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "when-will-bitcoin-hit-150k"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k"
        -  }
        -]New value: +[
        +  {
        +    "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
  4. 2 tool updates
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "will-bitcoin-reach-100k-in-july-2026"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
        -  }
        -]New value: +[
        +  {
        +    "market": "when-will-bitcoin-hit-150k"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
    • Changedpolymarket_kalshi_spread2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  }
        +]
      • changedInput schema / properties / topic / description
        Previous value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
  5. 1 tool update
    • Changedentity_profile3 fields changed
      • changedInput schema / properties / type / description
        Previous value: -"Entity type. Only \"company\" supported today; person/place coming soon."New value: +"\"company\" or \"ticker\" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon."
      • changedInput schema / properties / type / enum
        Previous value: -[
        -  "company"
        -]New value: +[
        +  "company",
        +  "ticker"
        +]
      • changedInput schema / properties / value / description
        Previous value: -"Ticker (e.g., \"AAPL\") or zero-padded CIK (e.g., \"0000320193\"). Names not supported — use resolve_entity first if you only have a name."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    This MCP server provides access to US Environmental Protection Agency regulations (40 CFR), enabling AI agents to query and retrieve regulatory data through natural language.
    16 npm
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    A production-quality MCP server that exposes the official eCFR API as structured tools for AI-driven contract compliance, enabling retrieval of relevant Code of Federal Regulations by clauses extracted from contracts.
    8
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Search and trace US federal rules across the Federal Register (proposed/final rules and notices), the eCFR (codified, point-in-time CFR full text, locally mirrored), and Regulations.gov (rulemaking dockets and public comments) via MCP.
    352 npm
    1
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.