Attom
Server Details
ATTOM MCP — Premium real estate data from ATTOM Data Solutions
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- pipeworx-io/mcp-attom
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 19 of 19 tools scored. Lowest: 2.9/5.
Most tools have distinct purposes, especially the Attom-specific ones. However, the generic 'ask_pipeworx' tool overlaps with many others as a natural-language interface, potentially confusing an agent about whether to use it or a specific tool.
Naming conventions are mixed: some tools use 'attom_' prefix, others use verbs like 'ask_', 'discover_', 'compare_', etc. While readable, there is no consistent pattern across the set.
With 19 tools, the count is slightly above the ideal range of 3-15, but it covers two distinct domains (property data and business intelligence) reasonably well without feeling bloated.
The property domain covers assessment, valuation, search, sales, and schools, while the business domain includes entity resolution, validation, comparison, and memory. Minor gaps exist, such as no direct data export or bulk operations.
Available Tools
27 toolsai_visibility_checkRead-onlyIdempotentInspect
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.3-70b (free); pass _apiKey to also probe Anthropic (BYO key — you pay Anthropic directly for those calls). Returns per-model {score, confidence, signals, raw_response} + a combined view. Useful for AI-marketing audits, pre-launch brand checks, competitive monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | The thing to ask about. Brand/business name, product name, person, or topic. E.g. "Pipeworx", "OpenInvoice", "Acme Corp pricing". | |
| models | No | Which models to probe. Supported: "workers-ai" (free default), "anthropic" (requires _apiKey). Omit for just workers-ai. | |
| _apiKey | No | Optional Anthropic API key (sk-ant-...) — only needed if "anthropic" is in models. Passed straight through to api.anthropic.com. | |
| context | No | Optional: a phrase locating the entity (e.g. "Boston restaurant", "B2B SaaS"). Helps disambiguate common names. |
ask_pipeworxARead-onlyIdempotentInspect
PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO patents, ATTOM real estate, weather, clinical trials, news, stocks, crypto, sports, academic papers, or anything requiring authoritative structured data with citations. Routes the question to the right one of 2,785 tools across 603 verified sources, fills arguments, returns the structured answer with stable pipeworx:// citation URIs. Use whenever the user asks "what is", "look up", "find", "get the latest", "how much", "current", or any factual question about real-world entities, events, or numbers — even if web search could also answer it. Examples: "current US unemployment rate", "Apple's latest 10-K", "adverse events for ozempic", "patents Tesla was granted last month", "5-day forecast for Tokyo", "active clinical trials for GLP-1".
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | Your question or request in natural language |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes high-level behavior: selects tool, fills arguments, returns result. With no annotations, description carries burden. Could clarify if it calls external APIs or uses local data, and any limitations (e.g., timeouts, data freshness). Currently adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: states purpose, explains mechanism, provides examples. Could be more concise by merging first two sentences, but still efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter with full schema coverage and no output schema, description explains enough to use the tool. However, lacks information on response format or error handling, which could be important for an AI agent. Completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'question' is described as 'Your question or request in natural language'. The description adds no new semantic detail beyond that. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool answers natural language questions by selecting the best data source and filling arguments. Distinguishes from siblings like 'discover_tools' and data-specific tools by offering a unified query interface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: use natural language, no need to browse tools or learn schemas. Includes examples. Does not mention when not to use or specific alternatives, but context signals show no sibling with similar purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_assessmentARead-onlyIdempotentInspect
Check property tax assessment details. Returns assessed value, market value, tax amount, tax year, and historical trends.
| Name | Required | Description | Default |
|---|---|---|---|
| _apiKey | Yes | ATTOM API key | |
| address1 | Yes | Street address (e.g., "123 Main St") | |
| address2 | Yes | City, state ZIP (e.g., "Denver, CO 80202") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description must convey behavioral traits. It states the tool retrieves data (read-only) and lists what's returned. However, it does not disclose any limitations, prerequisites (beyond API key), rate limits, or data freshness. With no annotations, a 3 is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a dash to list items, concise and front-loaded with the core purpose. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the core purpose and return data points. However, it lacks details on error handling, data coverage, or typical use cases. For a simple retrieval tool, it is mostly adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema (e.g., address format). The tool has 3 parameters, all documented in the schema, and the description does not elaborate on them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves property tax assessment details, listing specific data points (assessed value, market value, tax amount, tax year, assessment history). It uses a specific verb ("Get") and resource ("property tax assessment details"), distinguishing it from siblings like attom_property_detail or attom_sales_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (property tax queries) but provides no explicit guidance on when to use this tool versus siblings (e.g., attom_property_detail for broader property info). No alternative tools or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_avmARead-onlyIdempotentInspect
Estimate property market value. Returns estimated value, confidence score, and low/high range for valuation analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| _apiKey | Yes | ATTOM API key | |
| address1 | Yes | Street address (e.g., "123 Main St") | |
| address2 | Yes | City, state ZIP (e.g., "Denver, CO 80202") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the output (value, confidence, range) but does not disclose any side effects, rate limits, or authentication requirements beyond the API key parameter. Since the parameter schema already requires an API key, this is not a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no wasted words. Clearly communicates purpose and outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description provides key outputs but lacks details on edge cases, error conditions, or property identification requirements. Adequate for a simple valuation tool with clear parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. Description does not add additional parameter semantics beyond what schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get automated valuation (AVM) for a property' and enumerates the outputs: estimated market value, confidence score, value range. It distinguishes itself from sibling tools like 'attom_rental_avm' and 'attom_assessment' by specifying the AVM focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing an AVM estimate for a property, but does not explicitly state when not to use it or compare with alternatives like attom_rental_avm for rental properties or attom_assessment for tax assessment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_property_detailARead-onlyIdempotentInspect
Get detailed property specs by address. Returns lot size, square footage, bedrooms, bathrooms, year built, construction type, and heating/cooling systems.
| Name | Required | Description | Default |
|---|---|---|---|
| _apiKey | Yes | ATTOM API key | |
| address1 | Yes | Street address (e.g., "123 Main St") | |
| address2 | Yes | City, state ZIP (e.g., "Denver, CO 80202") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It clearly states it retrieves data (read operation) and lists the data categories, but does not disclose rate limits, required API key usage (though schema indicates it), or any side effects. It is accurate and consistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently lists the key property characteristics. It is front-loaded with the action and resource, and every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple property detail lookup with good schema coverage, the description adequately explains what the tool returns. However, it could mention the output format (e.g., JSON) or clarify that the address parameters must be exact. Slight room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes each parameter. The description adds no additional semantics beyond summarizing what the tool returns, which matches the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('full property characteristics by address'), listing concrete attributes (lot size, square footage, etc.). It clearly distinguishes from siblings like attom_property_search (which likely searches) and attom_assessment (which focuses on assessment data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need property details by address, but does not explicitly state when not to use it (e.g., for sales history use attom_sales_history) or provide alternatives. No guidance on prerequisites or context beyond the address parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_property_searchBRead-onlyIdempotentInspect
Search properties by location using postal code (e.g., '10001') or latitude/longitude with radius. Returns matching addresses and property IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| radius | No | Search radius in miles (use with latitude/longitude) | |
| _apiKey | Yes | ATTOM API key | |
| maxBeds | No | Maximum number of bedrooms | |
| minBeds | No | Minimum number of bedrooms | |
| latitude | No | Latitude for radius search (use with longitude and radius) | |
| longitude | No | Longitude for radius search (use with latitude and radius) | |
| postalCode | No | ZIP/postal code to search in | |
| maxYearBuilt | No | Maximum year built | |
| minYearBuilt | No | Minimum year built | |
| propertyType | No | Property type filter (e.g., "SFR", "CONDO", "APARTMENT") | |
| maxBathsTotal | No | Maximum total bathrooms | |
| minBathsTotal | No | Minimum total bathrooms |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool searches by location and can filter by various criteria, but does not mention any side effects, authentication needs beyond the API key parameter, or rate limits. It is a query tool, so behavioral transparency is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with clear purpose. It could be slightly expanded to mention that the tool uses a specific API, but it is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the core functionality but lacks detail on how multiple filters combine, whether all are optional except API key, and what the output looks like (no output schema). Given 12 parameters, it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema: it explains the primary search methods (postal code or lat/lon+radius) but does not clarify the relationship between parameters (e.g., that postalCode excludes lat/lon/radius).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches properties by location with optional filters, and gives examples of location types (postal code or lat/lon + radius). It distinguishes from sibling tools like attom_property_detail which is for a single property, but does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: when you need to search properties by location with optional filters. However, it does not explicitly state when not to use it or mention alternatives like attom_property_detail for a single property search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_rental_avmARead-onlyIdempotentInspect
Estimate rental property income. Returns estimated monthly rent, rental yield percentage, and rental value range.
| Name | Required | Description | Default |
|---|---|---|---|
| _apiKey | Yes | ATTOM API key | |
| address1 | Yes | Street address (e.g., "123 Main St") | |
| address2 | Yes | City, state ZIP (e.g., "Denver, CO 80202") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It describes the output (estimated monthly rent, rental yield, rental value range) but does not disclose potential behaviors such as whether the tool is read-only, any prerequisites (e.g., property must exist in ATTOM database), or error conditions. The lack of annotation increases the need for such detail, but the description is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that clearly conveys the purpose and key outputs. Every word is meaningful and there is no redundancy. It is appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three simple parameters, 100% schema coverage, and no output schema, the description is adequate but not thorough. It names the outputs but does not explain the format or possible variations. Since there is no output schema, the description could be more explicit about return values. Still, it covers the essential purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond what the schema provides; it only lists the output types. The schema already explains address1 and address2 clearly. No extra parameter semantics are offered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: obtaining a rental AVM with specific outputs (estimated monthly rent, rental yield, rental value range). It uses a specific verb ('Get') and resource ('rental property AVM'), and effectively distinguishes it from siblings like 'attom_avm' (general AVM) and 'attom_assessment' (property assessment).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for rental property valuation) but provides no explicit guidance on when not to use it or alternatives. While siblings are listed, the description does not mention them or contrast with this tool, so an agent would need to infer usage context from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_sales_historyARead-onlyIdempotentInspect
Get past sales for a property. Returns sale dates, prices, deed types, and buyer/seller details from recent transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| _apiKey | Yes | ATTOM API key | |
| address1 | Yes | Street address (e.g., "123 Main St") | |
| address2 | Yes | City, state ZIP (e.g., "Denver, CO 80202") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries the full burden. It discloses the data scope (10 years) and included fields, but does not mention rate limits, pagination, or what happens if no data exists. The tool is read-only, but no explicit statement of non-destructiveness is made.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys purpose, scope, and key data fields. Every word adds value, and it is front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (all required, simple strings), no output schema, and no annotations, the description provides a reasonable overview. However, it omits details like pagination, error behavior, and output format, which could be important for an agent using the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the schema. The description adds no extra parameter-level meaning beyond what the schema already provides, but it contextualizes the parameters as inputs for a sales history query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves complete sales history for a property, specifying the 10-year lookback and listing the included data fields (sale dates, prices, deed types, seller/buyer info). This distinguishes it from sibling tools like attom_assessment (assessments) and attom_property_detail (general property info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for historical sales data but does not explicitly state when to use this tool versus alternatives like attom_sales_trend (which likely aggregates trends). No when-not-to-use guidance or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_sales_trendARead-onlyIdempotentInspect
Analyze market sales trends by ZIP code. Returns average/median sale price, sales volume, and price changes over time.
| Name | Required | Description | Default |
|---|---|---|---|
| geoid | Yes | ZIP code prefixed with "ZI" (e.g., "ZI80202") | |
| _apiKey | Yes | ATTOM API key | |
| endYear | Yes | End year (e.g., "2024") | |
| interval | Yes | Time interval: monthly, quarterly, or yearly | |
| startYear | Yes | Start year (e.g., "2020") |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states it returns trends over time with specified metrics, which is useful. However, it does not mention data freshness, pagination, rate limits, or any side effects. Since the tool is a read operation, the absence of destructive warnings is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficient and front-loaded with the main purpose. It uses 18 words to convey the key information. Minor improvement could include more structure (e.g., bullet points) but it is clear and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 required parameters and no output schema, the description is adequate but not complete. It explains what the tool returns (trends, metrics) but does not detail the output format or whether additional filtering is possible. The tool is simple enough, so a 3 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds context that the tool returns trend data over time, but does not explain parameter semantics beyond what the schema provides. For example, it doesn't clarify how 'interval' affects the output granularity or how 'startYear' and 'endYear' define the date range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'market sales trends by ZIP code' and specifies the metrics: average/median sale price, volume, and price changes over time. It uses specific verbs and resource, differentiating it from sibling tools like attom_sales_history (which likely returns raw sales history) and attom_assessment (which covers property assessment data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for ZIP code market trend analysis but does not explicitly state when to use this tool versus alternatives like attom_sales_history or attom_avm. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attom_school_searchBRead-onlyIdempotentInspect
Find schools near a location. Returns school name, type (public/private), grade levels, distance, and performance rankings.
| Name | Required | Description | Default |
|---|---|---|---|
| radius | No | Search radius in miles (default 5, max 20) | |
| _apiKey | Yes | ATTOM API key | |
| latitude | Yes | Latitude of the search center | |
| longitude | Yes | Longitude of the search center |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries the burden of behavioral disclosure. It implies a read-only search operation, which is consistent with typical school search tools. However, it does not disclose rate limits, data freshness, or what happens if no schools are found. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose and enumerates key filtering dimensions. Every word contributes value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is adequate for a simple search tool. It lists key filtering dimensions but does not explain what the response contains (e.g., school names, addresses, ranking details). For a search tool with no output schema, this is a gap, but not severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters. The description lists searchable attributes (name, type, etc.) but these are not mapped to specific parameters in the schema. The agent knows the parameters from the schema, but the description does not add new semantic meaning beyond what the schema provides. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'schools near a location', listing searchable attributes (name, type, grades, distance, rankings). It distinguishes from sibling tools like attom_property_search or attom_assessment, which focus on property data, by explicitly mentioning schools and education-related fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as attom_property_detail for property-specific data or other location-based tools. It does not mention prerequisites, limitations, or exclusion criteria. The agent must infer context from the sibling list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bet_researchARead-onlyIdempotentInspect
Research a Polymarket bet by pulling the relevant Pipeworx data for it in one call. Pass a market slug ("will-bitcoin-hit-150k-by-june-30-2026"), a polymarket.com URL, or a question text. The tool resolves the market, classifies the bet (crypto price / Fed rate / geopolitical / sports / corporate / drug approval / election / other), fans out to the right packs (e.g. crypto+fred+gdelt for a BTC bet, fred+bls for a Fed bet, gdelt+acled+comtrade for Strait of Hormuz), and returns an evidence packet plus a simple market-vs-model comparison so the caller can see where the implied probability disagrees with the data. Use for "should I bet on X?", "what does the data say about this Polymarket market?", or "is there edge in this bet?". This is the core demo product — agents that get bet-relevant context here convert better than ones that have to discover the packs themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | quick = 2-3 evidence sources, thorough = full fan-out. Default thorough. | |
| market | Yes | 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?") | |
| include_raw | No | Default false. When false (recommended), FRED/FDA/GDELT/Federal-Register evidence is summarized to the few fields agents actually use — keeps responses under ~20KB. Pass true to get full upstream payloads (50KB-500KB) when you need to recompute deltas, cite specific observations, or post-process. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, open-world, non-destructive. The description adds rich behavioral details: resolves market, classifies bet (crypto, Fed, geopolitical, etc.), fans out to appropriate data packs, and returns an evidence packet with market-vs-model comparison. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet comprehensive, front-loaded with the main purpose. Every sentence adds value, no fluff. It efficiently conveys what the tool does and its benefits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (market resolution, classification, fan-out, evidence return) and no output schema, the description fully explains the process and output. It covers what to expect and why it's useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (market, depth enum). The description adds value by explaining that market can be slug, URL, or text, and that depth 'quick' uses 2-3 sources while 'thorough' does full fan-out, with default thorough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool researches a Polymarket bet by pulling Pipeworx data. It specifies the verb 'research', the resource 'Polymarket bet', and details actions like resolving market, classifying bet, fanning out to packs. It distinguishes from siblings by labeling it the core demo product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: 'should I bet on X?', 'what does the data say?', 'is there edge?'. It provides clear context but does not explicitly state when to avoid this tool or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_entitiesARead-onlyIdempotentInspect
Compare 2–5 companies (or drugs) side by side in one call. Use when a user says "compare X and Y", "X vs Y", "how do X, Y, Z stack up", "which is bigger", or wants tables/rankings of revenue / net income / cash / debt across companies — or adverse events / approvals / trials across drugs. type="company": pulls revenue, net income, cash, long-term debt from SEC EDGAR/XBRL for tickers like AAPL, MSFT, GOOGL. type="drug": pulls adverse-event report counts (FAERS), FDA approval counts, active trial counts. Returns paired data + pipeworx:// citation URIs. Replaces 8–15 sequential agent calls.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Entity type: "company" or "drug". | |
| values | Yes | For company: 2–5 tickers/CIKs (e.g., ["AAPL","MSFT"]). For drug: 2–5 names (e.g., ["ozempic","mounjaro"]). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses data sources (SEC EDGAR, FDA) and output includes URIs, but does not mention auth, rate limits, data freshness, or exactly what 'paired data' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff. Front-loads key action and constraints (2-5 entities, per-type data). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description only vaguely mentions 'paired data' and URIs. Lacks detailed return structure, error behavior, or limitations, leaving gaps for complex usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already fully describes parameters (100% coverage). Description adds value with examples per type and explains the returned data fields, enhancing understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares 2-5 entities side by side, specifying data per type (company from SEC EDGAR, drug from FDA). The verb 'compare' and resource 'entities' are precise, and it distinguishes from siblings by efficiency claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates use for side-by-side comparison and replaces multiple sequential calls, implying efficiency. Does not explicitly state when not to use or mention alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_toolsARead-onlyIdempotentInspect
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, profit, FDA drugs, adverse events, FRED economic data, Census demographics, BLS jobs/unemployment/inflation, ATTOM real estate, ClinicalTrials, USPTO patents, weather, news, crypto, stocks. Returns the top-N most relevant tools with names + descriptions. Call this FIRST when you have many tools available and want to see the option set (not just one answer).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tools to return (default 20, max 50) | |
| query | Yes | Natural language description of what you want to do (e.g., "analyze housing market trends", "look up FDA drug approvals", "find trade data between countries") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states it returns 'most relevant tools with names and descriptions' but doesn't explain details like whether it uses vector search or keyword matching. With no annotations provided, the description carries the full burden; it gives a high-level overview but lacks depth on behavior beyond basic return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: three sentences, each purposeful. First sentence defines action, second explains output, third gives usage context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers purpose, usage, and output format ('names and descriptions'). It's complete enough for a simple search tool. Could mention pagination or error cases but not strictly necessary for core function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides detailed descriptions for both parameters (query: 'Natural language description', limit: 'Maximum number'). The description adds value by reinforcing that query is natural language, but the schema already covers 100% of parameters well. A 4 reflects that the description doesn't add much beyond schema but schema is already strong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb ('Search'), resource ('Pipeworx tool catalog'), and purpose ('finding right tools'). Explicitly distinguishes from siblings by positioning as a discovery/disambiguation tool to be called first when many tools exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this FIRST when you have 500+ tools available and need to find the right ones for your task.' This provides clear when-to-use guidance and implies it's a prerequisite before other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
entity_profileARead-onlyIdempotentInspect
Get everything about a company in one call. Use when a user asks "tell me about X", "give me a profile of Acme", "what do you know about Apple", "research Microsoft", "brief me on Tesla", or you'd otherwise need to call 10+ pack tools across SEC EDGAR, SEC XBRL, USPTO, news, and GLEIF. Returns recent SEC filings, latest revenue/net income/cash position fundamentals, USPTO patents matched by assignee, recent news mentions, and the LEI (legal entity identifier) — all with pipeworx:// citation URIs. Pass a ticker like "AAPL" or zero-padded CIK like "0000320193".
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Entity type. Only "company" supported today; person/place coming soon. | |
| value | Yes | Ticker (e.g., "AAPL") or zero-padded CIK (e.g., "0000320193"). Names not supported — use resolve_entity first if you only have a name. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers the main behavior: returns aggregated data from various sources with citation URIs, and replaces multiple sequential calls. However, it does not disclose failure modes or rate limits, which would elevate completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no extraneous words, and the key purpose is front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-source aggregation) and no output schema, the description adequately summarizes return content (citation URIs) and the types of data. Missing error or pagination details, but sufficient for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage). The description adds context: type currently limited to 'company', value accepts ticker or CIK, and names require resolve_entity first, augmenting schema info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it provides a full profile of an entity across Pipeworx packs, listing specific data sources for company type and distinguishes from siblings like resolve_entity and usa_recipient_profile, making the tool's purpose clear and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use (for company profiles) and when not (use usa_recipient_profile for federal contracts), and advises using resolve_entity first if only a name, providing explicit guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forgetCDestructiveIdempotentInspect
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 remember and recall.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects (e.g., irreversible deletion), error behavior for missing keys, or return value. The description is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It front-loads the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no annotations), the description is minimal but still missing context about error handling, permanence, and confirmation of deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema's description of 'key' as a 'Memory key to delete'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (stored memory) and specifies the identifier (key). It effectively distinguishes from sibling tools like 'recall' and 'remember'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives. There is no mention of prerequisites or consequences, such as whether the key must exist or if deletion is permanent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_llms_txtRead-onlyIdempotentInspect
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/description/key links, and emits the standard llms.txt markdown format. Output is a single text blob ready to drop at site-root/llms.txt. Useful for: getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing how an AI crawler would see a competitor.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the site to summarize, e.g. "https://example.com" or a specific landing page. | |
| max_links | No | Maximum number of link entries to include (default 25, max 50). |
pipeworx_feedbackAInspect
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 the catalog (feature/data_gap), or when something worked surprisingly well (praise). Describe the issue in terms of Pipeworx tools/packs — don't paste the end-user's prompt. The team reads digests daily and signal directly affects roadmap. Rate-limited to 5 per identifier per day. Free; doesn't count against your tool-call quota.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | bug = something broke or returned wrong data. feature = a new tool or capability you wish existed. data_gap = data Pipeworx does not currently expose. praise = positive note. other = anything else. | |
| context | No | Optional structured context: which tool, pack, or vertical this relates to. | |
| message | Yes | Your feedback in plain text. Be specific (which tool, what error, what data was missing). 1-2 sentences typical, 2000 chars max. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses rate limiting but does not mention if there is a response or acknowledgment after sending feedback.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. Front-loaded with purpose, then usage, then constraint. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple feedback tool with 3 parameters (one nested) and no output schema, the description covers key aspects: purpose, usage, constraints, and rate limiting. Complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage. Description adds value by instructing to describe what was tried in terms of Pipeworx tools/data and noting message length constraint, enhancing schema info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Send feedback' and resource 'Pipeworx team', and lists use cases (bug, feature request, missing data, praise). Distinct from sibling tools which are primarily data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use categories and exclusion: 'do not include the end-user's prompt verbatim'. Also mentions rate limit of 5 messages per identifier per day.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pipeworx_trendingRead-onlyIdempotentInspect
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 for: (1) discovering what data sources are hot for current events, (2) confirming a popular tool is the canonical choice before asking your own question, (3) seeing whether your use case aligns with what most agents need. Self-aggregating signal — derived from CF analytics-engine, no PII, just (pack, tool, count). Cached 5min-1h depending on window.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | 24h (default) | 7d | 30d. Shorter windows surface what's hot right now; longer windows show steady-state demand. |
polymarket_arbitrageARead-onlyIdempotentInspect
Find arbitrage opportunities on Polymarket by checking for monotonicity violations across related markets. TWO MODES: (1) event — pass a single Polymarket event slug; walks that event's child markets and checks ordering within it. (2) topic — pass a topic / seed question (e.g. "Strait of Hormuz traffic returns to normal"); the tool searches across separate events for related markets, groups them, then checks monotonicity. Cross-event mode catches the cases where Polymarket lists each cutoff as its own event ("…by May 31" is event A, "…by Jun 30" is event B — single-event mode misses the May≤June rule). Returns ranked opportunities with suggested trade direction + reasoning.
| Name | Required | Description | Default |
|---|---|---|---|
| event | No | Single-event mode: Polymarket event slug (e.g. "when-will-bitcoin-hit-150k") or full URL. | |
| topic | No | Cross-event mode: a topic or seed question. Tool searches Polymarket for related markets across separate events and checks monotonicity across them. E.g. "Strait of Hormuz traffic returns to normal". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds rich behavioral context beyond annotations (readOnlyHint, openWorldHint, destructiveHint). It explains the monotonicity rule, how it processes child markets, and the output format (list of {market_a, market_b, gap_pp, suggested_trade}).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, front-loading the purpose. It conveys necessary information without excessive verbosity, though it could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter, no output schema, but strong annotations, the description fully covers input format, logic, and output structure, making it complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, baseline is 3. The description adds meaning by specifying the parameter can be a slug or full URL and provides an example, going beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds arbitrage opportunities via monotonicity violations within a Polymarket event. It specifies the resource (Polymarket event) and action (checking monotonicity), distinguishing it from siblings like 'polymarket_edges'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context on when to use: for events with multiple 'by date' or 'by threshold' markets. It explains the logic and what constitutes an arbitrage, but does not explicitly state when not to use or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polymarket_edgesARead-onlyIdempotentInspect
Scan the highest-volume Polymarket markets and return the ones where Pipeworx data disagrees most with the market price. V1 covers crypto-price bets (lognormal model from FRED + live coinpaprika price): scans top markets, groups by asset, fetches each asset's price history ONCE, computes model probability per market, ranks by |edge|. Returns top N ranked by edge magnitude with suggested trade direction. Built for the "what should I bet on today" question — agents/users discover opportunities without paging through hundreds of markets by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Top N edges to return after ranking. Default 10, max 25. | |
| window | No | Polymarket volume window to filter markets. Default 1wk. | |
| min_kelly | No | Minimum half-Kelly fraction (as decimal, e.g. 0.005 = 0.5% of bankroll) to include single-leg opportunities. Default 0 (no filter). Skips opportunities that are too small to bet sensibly even if the edge is large. | |
| min_edge_pp | No | Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage. | |
| slippage_pp | No | 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. | |
| category_filter | No | Comma-separated list to restrict the output: "model_driven" (crypto_price + news_momentum), "structural_arbitrage" (partition_overround), "concentrated_longshot". Combine like "model_driven,structural_arbitrage". Default: all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds behavioral context: it covers crypto-price bets, details the processing flow (scan, group, fetch price history once, compute probabilities, rank by edge), and clarifies the underlying model (lognormal from FRED and coinpaprika). This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the main purpose, and includes necessary detail without verbosity. It efficiently communicates complex behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple data sources, model, ranking), the description is complete. It explains the model type, data sources, grouping strategy, and output (top N ranked by edge with direction). No output schema exists, but the description adequately hints at return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters including defaults. The tool description adds minimal extra meaning beyond the schema (e.g., contextualizing parameters within the ranking process). With high schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool scans high-volume Polymarket markets and returns those where Pipeworx data disagrees most with the market price. It specifies the model (lognormal), data sources (FRED, coinpaprika), and output (ranked by edge with trade direction). This uniquely distinguishes it from sibling tools like polymarket_arbitrage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames the tool for the 'what should I bet on today' question and mentions discovering opportunities without manual paging. While it doesn't list exclusions or alternatives, the context clearly indicates when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polymarket_kalshi_spreadRead-onlyIdempotentInspect
Cross-venue spread between Kalshi and Polymarket for the same resolving question. Kalshi and Polymarket frequently price the same event 2-25pp apart because the venues have different participant pools — that delta is a real arb signal. TWO MODES: (1) topic — pre-mapped macro shortcuts ("fed", "btc", "cpi", "gdp", "sp500", "recession", "next_pope") that auto-fetch the matching event on each venue. (2) explicit kalshi_event_ticker + polymarket_event_slug for custom pairings. Returns: each venue's leg-by-leg prices (in raw probability, 0-1), and where a leg from each side maps to the same outcome, the spread (Kalshi − Polymarket) in percentage points.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president | |
| kalshi_event_ticker | No | Explicit Kalshi event ticker, e.g. "KXFED-26OCT". Overrides the topic-mapped Kalshi side. | |
| polymarket_event_slug | No | Explicit Polymarket event slug, e.g. "fed-decision-in-june-825". Overrides the topic-mapped Polymarket side. |
recallARead-onlyIdempotentInspect
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 target ticker, an address, prior research notes — without re-deriving it from scratch. Scoped to your identifier (anonymous IP, BYO key hash, or account ID). Pair with remember to save, forget to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Memory key to retrieve (omit to list all keys) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It describes the core behavior (retrieve by key or list all) but does not disclose side effects, permissions, or limitations like whether memories persist across sessions. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the primary action and then clarifying the optional behavior. Every sentence is necessary and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single optional parameter, no output schema), the description is nearly complete. It covers both retrieval and listing modes. The only missing aspect is a hint about the return format, but that is acceptable without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional parameter 'key'. The description adds context beyond the schema by explaining the behavior when key is omitted (list all), which is not in the schema's parameter description. This adds meaningful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a memory by key or lists all memories when key is omitted. It specifies the verb 'retrieve' and resource 'memory', distinguishing it from sibling tools like 'remember' and 'forget'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use (to retrieve context saved earlier) and how to use (omit key to list all). While it doesn't explicitly state when not to use or provide alternatives, the context is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recent_changesARead-onlyIdempotentInspect
What's new with a company in the last N days/months? Use when a user asks "what's happening with X?", "any updates on Y?", "what changed recently at Acme?", "brief me on what happened with Microsoft this quarter", "news on Apple this month", or you're monitoring for changes. Fans out to SEC EDGAR (recent filings), GDELT (news mentions in window), and USPTO (patents granted) in parallel. since accepts ISO date ("2026-04-01") or relative shorthand ("7d", "30d", "3m", "1y"). Returns structured changes + total_changes count + pipeworx:// citation URIs.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Entity type. Only "company" supported today. | |
| since | Yes | Window start — ISO date ("2026-04-01") or relative ("7d", "30d", "3m", "1y"). Use "30d" or "1m" for typical monitoring. | |
| value | Yes | Ticker (e.g., "AAPL") or zero-padded CIK (e.g., "0000320193"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses the fan-out to SEC EDGAR, GDELT, USPTO, acceptance of ISO and relative dates, and the output structure including URIs. It lacks details on rate limits or authentication but is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) yet highly informative, with no filler. It is front-loaded with the core purpose and quickly expands on details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return value (structured changes, count, URIs). It covers entity type restrictions, date formats, and use cases. Minor gaps: no mention of error handling or data freshness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant meaning: it explains the fan-out behavior based on type, the flexibility of 'since' formats, and the output structure (structured changes, total_changes, pipeworx:// URIs). This enriches the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reveals 'what's new about an entity since a given point in time', with specific behavior for 'company' type and three parallel data sources. It effectively distinguishes from siblings like 'entity_profile' by focusing on temporal changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly suggests use cases: 'brief me on what happened with X' or change-monitoring workflows. It does not mention when not to use or alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberAIdempotentInspect
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 ticker, a target address, a user preference, a research subject) so you don't have to look it up again. Stored as a key-value pair scoped by your identifier. Authenticated users get persistent memory; anonymous sessions retain memory for 24 hours. Pair with recall to retrieve later, forget to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key (e.g., "subject_property", "target_ticker", "user_preference") | |
| value | Yes | Value to store (any text — findings, addresses, preferences, notes) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses memory persistence behavior: authenticated users get persistent memory, anonymous sessions last 24 hours. Since annotations are absent, the description carries the burden and does well, though it does not mention storage limits or data overwriting behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Each sentence adds distinct value: what it does, when to use it, and persistence behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple key-value storage, the description adequately explains behavior and usage. It does not need to explain return values since no output schema exists, but could mention if the tool returns success or error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining that value can be any text (findings, addresses, etc.), which goes beyond the schema's 'Value to store (any text — findings, addresses, preferences, notes)' – the schema already provides similar detail. Still, the description reinforces the purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Store a key-value pair in your session memory'. The verb 'store' and resource 'key-value pair' are specific. Distinct from siblings like 'forget' and 'recall', which serve complementary purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this tool for saving intermediate findings, user preferences, or context across tool calls. However, it does not explicitly state when not to use it or suggest alternatives for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_entityARead-onlyIdempotentInspect
Look up the canonical/official identifier for a company or drug. Use when a user mentions a name and you need the CIK (for SEC), ticker (for stock data), RxCUI (for FDA), or LEI — the ID systems that other tools require as input. Examples: "Apple" → AAPL / CIK 0000320193, "Ozempic" → RxCUI 1991306 + ingredient + brand. Returns IDs plus pipeworx:// citation URIs. Use this BEFORE calling other tools that need official identifiers. Replaces 2–3 lookup calls.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Entity type: "company" or "drug". | |
| value | Yes | For company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., "ozempic", "metformin"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes the tool as a single call that returns canonical IDs and resource URIs. It does not mention destructive actions or authorization needs, but since it is a read-like operation, this is acceptable. The description is transparent about the single-call behavior and the returned fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that capture the purpose, functionality, and benefits. It is front-loaded with the main action and avoids unnecessary details. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains what the tool returns (ticker, CIK, company name, URIs). It covers inputs and outputs for version 1. However, it lacks details on error handling, rate limits, or behavior when an entity is not found. For a simple lookup tool, this is sufficient but could be more robust.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions. The description adds significant value by explaining the 'type' parameter supports only 'company' for v1, and provides concrete examples for the 'value' parameter (ticker, CIK, name). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('resolve') and resource ('entity to canonical IDs'). It specifies the supported type ('company') and input formats (ticker, CIK, name). The output includes ticker, CIK, company name, and URIs. This distinguishes it from sibling tools like ask_pipeworx, which likely handle different queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the tool 'replaces 2–3 lookup calls', implying efficiency benefits. It provides specific examples of valid inputs ('AAPL', '0000320193', 'Apple'). However, it does not explicitly state when not to use the tool or mention alternatives within the server, though the context suggests it is the go-to for entity resolution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_competitor_ai_presenceRead-onlyIdempotentInspect
Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces which is most/least recognized. Useful for competitive AI-marketing audits: "does Claude know about us as well as our competitors?". Returns ranked list with score, confidence, signal density per entity.
| Name | Required | Description | Default |
|---|---|---|---|
| models | No | Which models to probe. Supported: "workers-ai" (free default), "anthropic" (requires _apiKey). Omit for just workers-ai. | |
| _apiKey | No | Optional Anthropic API key — only if "anthropic" is in models. Passed to api.anthropic.com per probe. | |
| context | No | Optional shared context applied to every probe (e.g. "B2B SaaS", "Boston restaurant"). Disambiguates common names. | |
| entities | Yes | Array of 2-8 entities to compare (brand/business/product names). First entry treated as the "subject" for narrative; rest are competitors. |
validate_claimARead-onlyIdempotentInspect
Fact-check, verify, validate, or confirm/refute a natural-language factual claim or statement against authoritative sources. Use when an agent needs to check whether something a user said is true ("Is it true that…?", "Was X really…?", "Verify the claim that…", "Validate this statement…"). v1 supports company-financial claims (revenue, net income, cash position for public US companies) via SEC EDGAR + XBRL. Returns a verdict (confirmed / approximately_correct / refuted / inconclusive / unsupported), extracted structured form, actual value with pipeworx:// citation, and percent delta. Replaces 4–6 sequential calls (NL parsing → entity resolution → data lookup → numeric comparison).
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | Natural-language factual claim, e.g., "Apple's FY2024 revenue was $400 billion" or "Microsoft made about $100B in profit last year". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details return values (verdict, structured form, citation, delta) and domain limitations. Could be more explicit about unsupported claim types, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with front-loaded purpose. Each sentence contributes meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description comprehensively covers purpose, inputs, expected returns, and value proposition. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The description adds value with example claims and domain context, enhancing understanding beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fact-checks natural-language claims against authoritative sources, specifies domain (company-financial claims for public US companies) and sources (SEC EDGAR + XBRL). It lists return types and distinguishes from siblings by being a specialized fact-checking tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that it replaces multiple sequential agent calls, providing a clear use case. However, it does not explicitly exclude non-financial claims or mention alternatives for other domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!