Skip to main content
Glama

Subscribe to Alerts

subscribe
Idempotent

Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cannot persist subscriptions). Supported types: "sec_8k" (8-K filings matching ticker + item codes — e.g. items:["5.02"] = officer change), "polymarket_edge" (Polymarket↔Kalshi cross-venue mispricings — params:{topic:"fed"}), "fred_series" (new FRED observations — params:{series_id:"UNRATE"}). Delivery channels: feed (always on — pull via recent_alerts or GET registry.pipeworx.io/alerts.json), and optionally email (set delivery:{email:"you@x.com"}) or sms (delivery:{sms:"+15551234567"} — phone must be verified at /account first; 10/day cap).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesSubscription type.
paramsYesType-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).
deliveryNoOptional delivery channels in addition to the always-on persistent feed. {email:"you@x.com"} sends a templated alert per fired event. {sms:"+15551234567"} sends an SMS per event — must match the verified phone on the caller's account (verify at https://pipeworx.io/account first; 10/day cap). {webhook:"https://..."} POSTs each event JSON to your endpoint, HMAC-signed — the response includes delivery.webhook_secret (whsec_…) ONCE; verify X-Pipeworx-Signature = sha256 HMAC of "<X-Pipeworx-Timestamp>.<raw body>". Auto-disabled after 10 consecutive failing runs.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavioral context beyond annotations: requires OAuth account, delivery channel specifics (SMS cap of 10/day, webhook HMAC signing, auto-disable after 10 failures), and the fact that the subscription is persistent. Annotations indicate idempotent and non-destructive, which the description does not contradict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence serves a purpose, front-loading the core action and return, then layering details. The description is structured logically: purpose, return, prerequisites, types, delivery channels. No redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Fully covers the subscription creation use case with all parameters explained, including real-world constraints (SMS cap, webhook signing, auto-disable). No output schema, but the return value is implied. The description is self-contained and actionable for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value by providing concrete examples for each type and param structure (e.g., sec_8k items, polymarket_edge topic, delivery details including verification and rate limits). This goes beyond the schema's generic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a proactive monitoring subscription') and the resource ('live-data event stream'), with specific return value ('Returns the new subscription id'). It distinguishes from sibling tools like list_subscriptions and unsubscribe by emphasizing creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context for when to use (creating a subscription for proactive monitoring) and includes prerequisites ('Requires a Pipeworx OAuth account'). However, it does not explicitly mention when not to use or name alternatives, though the sibling list suggests the always-on feed and other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation2/5

Several tools have heavily overlapping entry points: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and validate_claim all take natural-language factual questions, and ask_pipeworx_beta is explicitly identical to ask_pipeworx right now. There is also overlap among get_states, get_aircraft, and airspace_activity, plus a large cluster of prediction-market tools with similar discovery purposes.

Naming Consistency4/5

The set is mostly snake_case and readable, with familiar patterns like get_*, list_*, resolve_*, and compare_*. It is not chaotic, but there are notable deviations: noun-phrase names like entity_profile, recent_changes, ai_visibility_check, and airspace_activity break the verb-first pattern.

Tool Count2/5

35 tools is too many for a single coherent server, especially because they comprise several independent families: aviation, data/research, prediction markets, memory, and subscriptions. Each tool is individually justified, but the bundle should be split into smaller focused MCP servers.

Completeness3/5

The data-research side is fairly complete, with discover, routing, grounded verification, entity resolution, search-within, compare, and follow-up tools, and the subscription and memory lifecycles are covered. However, the OpenSky side is incomplete: get_flights explicitly cannot return its data, and referenced route/arrival/departure tools are missing from the set.