Skip to main content
Glama

Server Details

NIST Randomness Beacon 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
28.9% over 64 days
Last Tested
Transport
Streamable HTTP
URL
Repository
pipeworx-io/mcp-nist-beacon
GitHub Stars
0
Server Listing
mcp-nist-beacon

TDQS

B3.2/5.0

Scored across 46 tools

Disambiguation3/5

The descriptions work hard to disambiguate (explicit 'prefer over X', cost/depth guidance, when-to-use cues), but the surface still contains genuinely overlapping clusters: ask_pipeworx / ask_pipeworx_beta (admittedly identical today) / ask_pipeworx_grounded / deep_research all answer questions, and six-plus Polymarket tools plus release_calendar_markets and kalshi_weather_edge all scan prediction markets. An agent can usually pick correctly by reading carefully, but it must read carefully rather than relying on distinct tool purposes.

Naming Consistency4/5

Names are uniformly lowercase snake_case, which is the important thing, and the gateway-name_verb style (entity_profile, compare_entities, resolve_entity) is largely predictable. Minor deviations exist — verb-first and noun-first forms are mixed, and outliers like pulse_by_chain_pulse, last_pulse vs latest_in_chain, and ask_pipeworx_beta break the pattern slightly.

Tool Count2/5

46 tools is heavy for a single MCP surface, well past the 25+ threshold, and the set is not scoped to the server's stated identity ('Nist Beacon') — only about five tools concern the NIST randomness beacon, while the rest are a general-purpose data gateway. The mismatch between name and breadth makes the count feel like several servers bundled into one rather than one coherent toolset.

Completeness4/5

As a broad data/gateway surface it is close to complete: identity resolution, profiles, comparisons, changes, research rows, classification, memory (remember/recall/forget), subscriptions with create/list/cancel, feedback, and self-discovery are all present. Gaps are minor — no explicit update/edit on stored memory beyond overwrite via remember, and cross-venue edge tooling is dense but lacks a single canonical entry point to guide selection.

Tool Schema Changelog

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

  1. 12 tool updates
    • Addedarchive_compare
    • Addedarchive_evidence
    • Changedask_pipeworx1 field changed
      • addedInput schema / properties / packs
        Added value: +{
        +  "description": "OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedask_pipeworx_beta1 field changed
      • addedInput schema / properties / packs
        Added value: +{
        +  "description": "OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedask_pipeworx_grounded1 field changed
      • addedInput schema / properties / prefer_tool
        Added value: +{
        +  "description": "Run this exact tool instead of letting the router choose — use a name from a previous answer's alternatives[]. Arguments are still filled from your question. Unknown names are refused, never guessed.",
        +  "type": "string"
        +}
    • Addedclassify_row
    • Addedcompany_register_search
    • Changedentity_profile2 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "OPTIONAL ISO 3166-1 alpha-2 of the business register you mean (\"NO\", \"FI\", \"GB\", \"JP\", \"FR\", \"EE\", \"BR\"). Only affects a NAME lookup, and is often what separates the company you mean from a US namesake. When a name resolves to a register entity with no CIK, the SEC/CIK-keyed sections are reported under `sources_skipped` with reason `not_queried` — they were never asked, which is not the same as having failed.",
        +  "type": "string"
        +}
      • changedInput schema / properties / value / description
        Previous 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."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\"). A NAME now resolves through the national business registers as well as SEC EDGAR, so a non-US company returns its register identity and record rather than `resolved: false`."
    • 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"
        +}
    • Addedresearch_row
    • Changedresolve_entity2 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "OPTIONAL ISO 3166-1 alpha-2 of the country whose business register you mean (\"NO\", \"FI\", \"JP\", \"GB\", \"FR\", \"EE\", \"BR\"). Narrows the national-register fan-out and is often the difference between the right company and a US namesake — \"Apple\" with country \"NO\" is a Norwegian company, not Apple Inc. Omitting it searches every register we can name, which is the right default when you do not know. company only; ignored for drug.",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "brand": {
        +      "type": "string"
        +    },
        +    "candidates": {
        +      "description": "Rivals, best first. Populated on \"ambiguous\" and on \"matched\" alike.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "cik_withheld": {
        +      "description": "A CIK that came back from a FUZZY SEC name match and is NOT asserted, because the spine matched a stronger non-US candidate. The number is here so a caller who wanted the US filer can still use it; what changed is that we no longer claim it IS the answer. See `unresolved.cik` for the reason.",
        +      "type": "string"
        +    },
        +    "fanout_incomplete": {
        +      "description": "Present IFF at least one register in `searched[]` carried an `error` — set even when `match_status` stayed \"ambiguous\". `withheld_match` is the candidate this call declined to ASSERT because a register was missing, carried rather than discarded so a caller who accepts the caveat can still use it.",
        +      "properties": {
        +        "unavailable": {
        +          "items": {
        +            "properties": {
        +              "country": {
        +                "type": "string"
        +              },
        +              "error": {
        +                "type": "string"
        +              },
        +              "register": {
        +                "type": "string"
        +              },
        +              "register_key": {
        +                "type": "string"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "withheld_match": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "figi_withheld": {
        +      "description": "A FIGI that matched this name in OpenFIGI (`figi_match: \"name_search\"`) and is NOT asserted, because `match_status` is \"incomplete\": a name search cannot tell a company apart from a security carrying its name, and the registers that would have settled it are the ones we could not ask. A `ticker_map` FIGI is never withheld this way — it is corroborated by the resolved ticker it came from. Carried so a caller who accepts the caveat can use it; see `unresolved.figi`, and retry, since a transiently rate-limited register completes on the next call.",
        +      "type": "string"
        +    },
        +    "ids": {
        +      "description": "Every identifier established: cik, ticker, company_name, lei, figi, isin, cusip, register_id, register_country. A key absent here appears in `unresolved` with a reason — never silently dropped.",
        +      "type": "object"
        +    },
        +    "ingredient": {
        +      "type": "string"
        +    },
        +    "match_explanation": {
        +      "description": "Plain words. Always present when the spine ran, and required on \"ambiguous\" and \"no_match\".",
        +      "type": "string"
        +    },
        +    "match_scoring": {
        +      "description": "The margin rule's own inputs, so a caller can see WHY it fell where it did.",
        +      "properties": {
        +        "margin": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "runner_up": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "thresholds": {
        +          "properties": {
        +            "floor": {
        +              "type": "number"
        +            },
        +            "margin": {
        +              "type": "number"
        +            },
        +            "match": {
        +              "type": "number"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "top": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "match_status": {
        +      "description": "The headline to branch on. \"ambiguous\" is an ANSWER, not a failure: two companies matched the name equally well and both are in `candidates`. \"no_match\" means every register in `searched` was asked and none carried it. \"incomplete\" means one of them could NOT be asked (it carries an `error` in `searched[]`), so the candidate set is short by an unknown amount and no id is asserted — distinct from \"ambiguous\" because a RETRY is what resolves it, not a narrower query; `fanout_incomplete` names the unreachable registers and carries, under `withheld_match`, the candidate that would have been returned on a complete fan-out.",
        +      "enum": [
        +        "matched",
        +        "ambiguous",
        +        "no_match",
        +        "incomplete"
        +      ],
        +      "type": "string"
        +    },
        +    "notes": {
        +      "type": "string"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "registers": {
        +      "description": "The matched entity as every register that carries it — the match (flagged `matched: true`) plus anything that collapsed into it. A Companies House number AND the LEI that crosswalks to it are the SAME answer, not rivals.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "related": {
        +      "description": "Entities that collapsed INTO the match, each carrying `collapsed_by`.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "resolved": {
        +      "description": "At least one identifier was established. Read `match_status` and `unresolved` for WHICH — a company can be resolved in a national register with no CIK at all.",
        +      "type": "boolean"
        +    },
        +    "resources": {
        +      "type": "object"
        +    },
        +    "searched": {
        +      "description": "EVERY register asked, with its own as-of date and row count. A register that could not be reached carries `error` — 0 rows with an error is \"we could not ask\", 0 rows without one is \"nothing is there\", and they are different answers.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "error": {
        +            "type": "string"
        +          },
        +          "register": {
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "type": "string"
        +          },
        +          "rows": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "register",
        +          "register_key",
        +          "country",
        +          "rows"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sec_alternatives": {
        +      "description": "EDGAR's own discarded near-misses on a name match, surfaced instead of dropped.",
        +      "items": {
        +        "properties": {
        +          "cik": {
        +            "type": "string"
        +          },
        +          "company_name": {
        +            "type": "string"
        +          },
        +          "ticker": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sources": {
        +      "description": "Per-identifier provenance. Every key in `ids` has a matching key here.",
        +      "type": "object"
        +    },
        +    "type": {
        +      "type": "string"
        +    },
        +    "unresolved": {
        +      "description": "Per-identifier reason an id could NOT be established — the honest twin of `ids`.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "type",
        +    "query",
        +    "resolved",
        +    "ids",
        +    "sources",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
    • 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. new_entity: {state:\"CO\", name_query?:\"dental\", entity_type?:\"limited liability\"} — state is required and must be one of FL, NY, CO, OR, CT, TX, PA. tech_change: {domains:[\"acme.com\",\"example.org\"], technologies?:[\"Shopify\",\"Segment\"]} — domains required (1-200), technologies optional (exact names, case-insensitive) to narrow which detected technologies alert. Unknown keys in form_d/news_keyword/job_post/tool_diff/new_entity/tech_change 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",
        +  "new_entity",
        +  "tech_change"
        +]
  2. 25 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."
    • Changedcompany_facts5 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "attribute": "revenue",
        +    "company": "AAPL",
        +    "period": {
        +      "fiscal_year": 2023,
        +      "type": "annual"
        +    }
        +  }
        +]
      • addedInput schema / properties / as_of
        Added value: +{
        +  "description": "Past ISO timestamp with timezone. Replay the latest answer actually recorded by that instant; no invented history or live fallback.",
        +  "type": "string"
        +}
      • addedInput schema / properties / exclude_publishers
        Added value: +{
        +  "description": "Publisher ids forbidden for fact retrieval: sec, fmp, alphavantage. Case and surrounding whitespace are normalized; unknown ids are refused. Excluding sec currently leaves no eligible fact source and returns unavailable/sources_excluded with the selection reasons. Identity and fiscal-calendar lookups may still use SEC; no excluded financial concept is fetched.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / freshness
        Added value: +{
        +  "description": "cached (default) permits an eligible stored answer; fresh requires an upstream refresh and never silently falls back to stale data.",
        +  "enum": [
        +    "cached",
        +    "fresh"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / max_age
        Added value: +{
        +  "description": "Maximum age in seconds of the upstream publication, not our fetch. Older or undated facts are withheld.",
        +  "maximum": 3155760000,
        +  "minimum": 0,
        +  "type": "number"
        +}
    • Changedcompare_entities1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "values": [
        +      "AAPL",
        +      "MSFT"
        +    ]
        +  }
        +]
    • Changeddeep_research9 fields 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?"
        +  }
        +]
      • 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"
        +}
    • Changedentity_profile1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • 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"
        +}
    • Changedgenerate_llms_txt1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "url": "https://pipeworx.io"
        +  }
        +]
    • 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
        +  }
        +]
    • 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"
        +}
    • Changedrecent_changes1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "since": "30d",
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedremember10 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "key": "target_ticker",
        +    "value": "AAPL"
        +  }
        +]
      • 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."
    • 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. 5 tool updates
    • Addedcompany_facts
    • Addedkalshi_weather_edge
    • Addedrelease_calendar_markets
    • Addedresolution_audit
    • Addedresolution_diff
  4. 2 tool updates
    • 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."
    • Changedpolymarket_kalshi_spread1 field changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  }
        +]
  5. 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_spread1 field changed
      • 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."

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An encrypted and secure random number generation server that complies with the MCP protocol, suitable for AI applications, LLMS, and other systems that require high-quality random numbers.
    7
    2
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    MCP Server for OpenTTT — Proof of Time tools for AI agents AI Agent A and Agent B both trigger a payment at the same time. Who was first? OpenTTT answers this with cryptographic Proof of Time — synthesized from multiple independent time sources, verified through GRG integrity shards, and signed with Ed25519 for non-repudiation.
    5
    45 npm
    1
    Business Source 1.1
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server providing calibrated prediction signals for Kalshi CPI/GDP markets and tamper-evident claim notarization with Ed25519 receipts.
    6 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for trademark first-use attestation with post-quantum dual-signed receipts.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.