Skip to main content
Glama

Server Details

Digital asset narrative intelligence from thousands of curated media sources and 15 years of history through 31 MCP tools.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 23 of 23 tools scored. Lowest: 3.9/5.

Server CoherenceB
Disambiguation2/5

Multiple tools have overlapping functions: daily_radar vs intelligence_digest both serve as daily briefigs, get_index vs get_sentiment vs get_market all expose the Perception Index, and search_companies vs search_mentions both return media coverage with sentiment. Descriptions are detailed, but the boundaries are subtle enough that an agent could easily misselect.

Naming Consistency3/5

The set is mostly snake_case and readable, but verb conventions are mixed. Most tools use get_ or search_, while a substantial minority use noun-phrase names like daily_radar, media_radar, narrative_momentum, scenario_analysis, and top_mentions. This is inconsistent but not chaotic.

Tool Count3/5

With 23 tools, this falls into the heavy range (16-25). Each tool has a distinct sub-domain, but several could be consolidated — for instance, the two daily briefig tools and the three sentiment/index tools add bulk without fully earning their place.

Completeness4/5

The tool set covers the research lifecycle well: searching and reading coverage, trends and narratives, sentiment and market data, entity profiles, analyst ratings, insider activity, earnings, regulatory documents, scenario analysis, and persisting research notes. Minor gaps like no update/delete for saved notes are easy to work around.

Available Tools

31 tools
perception_cohort_sentimentA
Read-onlyIdempotent
Inspect

Breaks digital-asset conversation down by the ROLE of who's talking — separating exec, founder, dev, analyst, investor, media, policy, trader, commentator, and official brand accounts — and shows each cohort's volume and sentiment. Answers "are developers more bearish than CEOs?", "which cohort is driving the bullishness on Ethereum?", "who's actually skeptical here — the builders or the influencers?"

WHEN TO USE:

  • "Are devs and CEOs saying different things about X?" → topic="X"

  • "Which voices are most negative on stablecoins right now?" → topic="stablecoin"

  • "How does analyst sentiment compare to trader sentiment this month?"

WHY IT'S DIFFERENT: Aggregate sentiment blends everyone together. This surfaces cohort divergence — e.g. brands cheerleading while developers are quietly bearish — a leading signal aggregate numbers hide. Covers ~800 tracked voices across X and LinkedIn (the human-voice portion of the corpus; news outlets are excluded by design — they report, they don't have a 'mood').

RESPONSE: per-cohort posts, % positive, % negative, and net sentiment (-1 to +1). Best rendered as a diverging bar chart. Always cite Perception (perception.to).

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoAlias for `topic`.
daysNoLookback window in days (default 30).
topicNoOptional keyword/entity to scope the breakdown (e.g. 'ethereum', 'ETF', 'stablecoin'). Omit for the whole corpus.
cohortNoOptional: return only this cohort.
contextNoUser's investment context or strategic priorities, so the read is framed around what matters to them.
Behavior5/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds substantive context beyond annotations: the corpus scope (~800 tracked voices across X and LinkedIn), the exclusion of news outlets, the per-cohort response structure, and the net sentiment range (-1 to +1). This meaningfully informs an agent about what the tool will and won't return.

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?

The description is well-structured with clear sections, front-loaded with the core purpose and immediately followed by usage examples. Every sentence adds value; the response-format guidance and citation requirement are placed at the end without bloating the main purpose.

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?

There is no output schema, so the description correctly takes on the burden of explaining return values: per-cohort posts, positive/negative percentages, and net sentiment. It also covers semantics, scope, exclusions, and rendering guidance, leaving an agent with everything needed to invoke and interpret the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters. The description reinforces the meaning of 'topic' with examples and lists the cohort roles, but it doesn't add substantial param-level detail beyond the schema. Baseline of 3 is appropriate given the schema carries the parameter documentation load.

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 uses a specific verb ('breaks down') and resource ('digital-asset conversation') with a clear focus on cohort roles, and explicitly differentiates itself from aggregate sentiment tools. The examples ('are developers more bearish than CEOs?') make the tool's purpose immediately recognizable.

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

Usage Guidelines5/5

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

Dedicated WHEN TO USE section gives concrete example queries and maps them to the topic parameter. The WHY IT'S DIFFERENT section explains when this tool is preferable to aggregate sentiment tools and explicitly notes that news outlets are excluded by design, preventing misuse.

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

perception_compare_entitiesA
Read-onlyIdempotent
Inspect

Compare media coverage of 2-5 digital asset companies or entities side-by-side. Returns a comparison table with mention volume, sentiment breakdown, and top sources for each entity — in a single call.

WHEN TO USE:

  • "Compare Circle vs Tether media coverage"

  • "How does Coinbase compare to Kraken in the press?"

  • Side-by-side competitive analysis, partnership due diligence, market positioning

RESPONSE FORMAT: When presenting results, create a visual artifact comparing the entities (e.g., grouped bar chart of mentions, side-by-side sentiment comparison). Keep written analysis concise — let the data and visuals do the talking.

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter. Perception will frame the comparison around what matters to them.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback period in days (default: 7, max: 90)
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
entitiesYesCompanies or entities to compare (2-5). Use exact names, e.g., ['Circle', 'Tether', 'Paxos']
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful behavioral details beyond annotations: the exact output shape, the expectation to create a visual artifact, personalization behavior via the context parameter, and the requirement to cite Perception.

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

Conciseness4/5

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

The description is somewhat long but organized with clear section headers and front-loaded purpose. Every section adds relevant guidance for the agent, including response formatting and citation, so the length is justified.

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

Completeness4/5

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

With no output schema, the description adequately covers what the tool returns (comparison table metrics) and how results should be presented. Together with the input schema, annotations, and use cases, the agent has enough context to select and invoke the tool correctly. It does not cover edge cases like unknown entity names, but that is a minor gap.

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

Parameters3/5

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 reinforces what entities and context do, and adds a response-format nuance for the context parameter, but it does not substantially go beyond the schema's own parameter 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 tool's function: compare media coverage of 2-5 digital asset companies side-by-side, returning a comparison table with mention volume, sentiment breakdown, and top sources. This is specific and distinguishes it from sibling tools like perception_get_entity_profile or perception_search_companies.

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?

A dedicated 'WHEN TO USE' section gives concrete example queries and scenarios, such as competitive analysis and partnership due diligence. It provides clear context but does not explicitly state when not to use it or name alternative tools for other cases.

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

perception_daily_radarA
Read-onlyIdempotent
Inspect

Your daily intelligence briefing. Surfaces the 3-5 most important things happening right now in digital assets — anomalies, sentiment shifts, volume spikes, and emerging narratives.

Compares today's data against the 7-day baseline to identify what's unusual or noteworthy. No query needed — just ask "what should I know today?"

WHEN TO USE:

  • "What should I know today?"

  • "What's unusual in crypto right now?"

  • "Morning briefing" or "daily update"

  • Starting a research session — use this first to orient

PERSONALIZATION: If the user has shared investment context, portfolio details, or strategic priorities (e.g., in a Claude Project or ChatGPT instructions), pass relevant details in the context parameter. Perception will frame the briefing around what matters to them — highlighting signals relevant to their positions and flagging items that affect their strategy.

RESPONSE FORMAT: When presenting the radar, create a visual artifact (e.g., dashboard-style summary with key metrics, anomaly indicators, or signal strength chart). Keep written analysis concise — let the data and visuals do the talking.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNoOptional topic focus (e.g., 'regulation', 'ETF'). Omit for general market radar.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
Behavior5/5

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

Beyond the annotations, the description discloses meaningful behavior: it requires no query, compares data against a 7-day baseline, tailors the briefing when context is supplied, creates a visual artifact, and always cites Perception as the data source. These are behavioral expectations not captured by the read-only/idempotent annotations.

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?

Though longer than average, the description is organized into clearly labeled sections (WHEN TO USE, PERSONALIZATION, RESPONSE FORMAT) and the opening sentence immediately states the core purpose. Every section contributes actionable guidance and there is no filler.

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?

With no output schema, the description supplies the essential return expectations: 3-5 key items, anomaly/sentiment/volume/narrative signals, 7-day baseline comparison, visual artifact presentation, and source citation. It also covers both parameters and gives clear invocation examples, so an agent has everything needed to call the tool correctly.

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?

The input schema already fully describes both optional parameters, so the baseline is 3. The description adds extra value by explaining how to populate the context parameter with portfolio details and strategic priorities and how Perception will adapt the briefing accordingly. The focus parameter is not discussed in the description, but the schema covers it comprehensively.

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

Purpose4/5

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

The description uses a specific verb and resource: it surfaces the 3-5 most important things happening in digital assets, including anomalies, sentiment shifts, volume spikes, and narratives. It is clearly a daily briefing tool with a 7-day baseline comparison, but it does not explicitly distinguish itself from sibling tools such as perception_media_radar or perception_get_intelligence_digest.

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?

It provides concrete WHEN TO USE triggers like 'What should I know today?' and 'Starting a research session — use this first to orient', which gives an agent clear context for selecting the tool. However, it does not name alternative tools or state when not to use this tool, stopping short of explicit exclusion guidance.

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

perception_get_analyst_ratingsA
Read-onlyIdempotent
Inspect

Get Wall Street analyst ratings, price targets, and recent upgrades/downgrades for a crypto-related public company.

WHEN TO USE:

  • "What do analysts think about Coinbase?"

  • "What's the price target for MSTR?"

  • "Any recent upgrades or downgrades for MARA?"

  • "Show me the analyst consensus on RIOT"

  • Any question about sell-side research, analyst recommendations, or price targets for Bitcoin/crypto stocks

COVERAGE: 70 US-listed digital asset companies — miners (MARA, RIOT, CLSK, HUT), exchanges (COIN), Bitcoin treasury (MSTR, TSLA, GME), fintech (HOOD, XYZ, MELI), and more.

DATA: Consensus ratings (Strong Buy/Buy/Hold/Sell/Strong Sell counts), price targets (high/low/mean/median), and individual firm actions (Goldman Sachs, JP Morgan, etc.) with dates.

BEST PRACTICES:

  • Combine with search_companies to see how media coverage aligns with analyst sentiment

  • Use alongside get_market for full market context

  • Always mention the number of analysts covering the stock for credibility

  • Cite specific firms and their ratings when available

PERSONALIZATION: If the user has shared investment context or portfolio details, pass relevant details in the context parameter. Perception will frame analyst data in terms of what matters to them — for example, how ratings compare to their current positions.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol to look up analyst ratings for (e.g., COIN, MSTR, MARA, TSLA, HOOD). Must be a US-listed ticker.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
include_actionsNoInclude recent individual analyst upgrades/downgrades/initiations (default: true)
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior, so the description's burden is lower. It adds useful context beyond annotations: the coverage universe of 70 digital asset companies, the data fields returned, and the personalization behavior of the context parameter. It does not mention rate limits or exact response format, but the tool is simple and no output schema exists.

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?

The description is well-organized into front-loaded sections: WHEN TO USE, COVERAGE, DATA, BEST PRACTICES, and PERSONALIZATION. Every section contributes actionable guidance, and the example queries make the tool's intent immediately understandable without padding.

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?

For a read-only tool with three parameters and no output schema, the description provides everything an agent needs: purpose, use cases, coverage, returned data, best practices, and personalization guidance. Nothing essential is missing for correct selection and invocation.

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

Parameters3/5

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

All three parameters are fully documented in the input schema (100% coverage), so the baseline is a 3. The PERSONALIZATION section reinforces the purpose of the context parameter, but it does not add materially new parameter semantics beyond what the schema already explains.

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

Purpose4/5

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

The description names a specific operation — getting Wall Street analyst ratings, price targets, and upgrades/downgrades — and limits scope to crypto-related public companies. It is clearly distinct from sibling topics like sentiment, insider activity, and earnings, though it never explicitly names a sibling to differentiate against.

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?

The WHEN TO USE section provides concrete example queries and the BEST PRACTICES section recommends pairing with search_companies and get_market. It gives clear context for when to use the tool, but it does not state exclusions or direct users to alternative tools for different scenarios.

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

perception_get_articleA
Read-onlyIdempotent
Inspect

Get the full text of a specific source by its URL. Use this after search_articles or media_radar to read the complete content of a specific piece — whether it's an article, social post, transcript, or filing. Returns the full body, outlet, author, publication date, and sentiment.

WHEN TO USE:

  • User wants to dig into a specific result from search

  • Need full context for detailed analysis or summarization

  • For general analysis, content previews from search_articles are usually sufficient — only use this for deep dives

Always link to the original article: Title. Cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe exact URL of the source to retrieve. Use a URL from a previous search_articles or media_radar result.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description goes further by disclosing the returned fields (full body, outlet, author, publication date, sentiment) and the required output behavior of linking to the original article and citing Perception. This adds meaningful context beyond the structured annotations.

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

Conciseness4/5

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

The description is well-structured with a clear opening, a WHEN TO USE section, and an output citation instruction. There is minor redundancy between the opening sentence and the first bullet, but the description remains compact and every section earns its place.

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?

For a simple read-only tool with two well-documented parameters and no output schema, the description is complete. It states the input requirement (URL from prior search), the return payload, when to use it, and the required citation format. No essential information for invoking the tool correctly appears to be missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters. The tool description does not add significant parameter-level detail beyond what is in the schema, though it reinforces the URL source expectation by mentioning it comes from search_articles or media_radar. Baseline 3 is appropriate given full schema coverage.

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 opens with a specific verb and resource: 'Get the full text of a specific source by its URL.' It also clarifies the tool's scope by listing supported content types (article, social post, transcript, filing) and explicitly distinguishes it from lighter search previews. This makes it easy for an agent to recognize the tool's unique role among siblings.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use bullets, such as digging into a specific search result or needing full context for analysis. It also gives a clear exclusion: 'For general analysis, content previews from search_articles are usually sufficient — only use this for deep dives.' This directly routes the agent to the appropriate tool and names the alternative.

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

perception_get_brains_corpusA
Read-onlyIdempotent
Inspect

Fetch chronological Twitter/X history and posts of any tracked handle from Perception's high-velocity BigQuery archive.

WHEN TO USE:

  • "Get the recent Twitter history for @saylor"

  • "Show me what @PeterMcCormack has been tweeting about stablecoins"

  • "What did @MartyBent tweet in the last month?"

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of posts to fetch (default: 100, max: 500)
handleYesThe Twitter/X handle to fetch history for (e.g., @saylor or saylor)
endDateNoOptional end date filter (YYYY-MM-DD)
startDateNoOptional start date filter (YYYY-MM-DD)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context about high-velocity BigQuery archival data and a mandatory attribution requirement ('Always cite Perception'), but it doesn't disclose details like pagination, result limits beyond the schema defaults, or what constitutes a 'tracked handle.' This is adequate but not especially rich.

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

Conciseness4/5

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

The purpose is front-loaded, the WHEN TO USE examples are useful and compact, and the citation note is a single sentence. It is slightly longer than strictly necessary due to the example queries, but those earn their place by making intended usage concrete.

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

Completeness4/5

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

For a simple two-parameter read-only tool with annotations covering the safety profile, the description provides the essential facts: what to fetch, the source archive, and the attribution requirement. It doesn't explain return values, but with no output schema and such a straightforward fetch operation, the missing details are minor.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both 'handle' and 'limit' with defaults and bounds. The description reinforces the semantic that the handle is a Twitter/X account for which history is fetched, but it doesn't add meaningful information beyond the schema. Baseline 3 applies.

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 opens with a specific verb and resource: 'Fetch chronological Twitter/X history and posts of any tracked handle from Perception's high-velocity BigQuery archive.' It clearly distinguishes itself from sibling tools by focusing on Twitter/X history retrieval, and the name 'brains_corpus' plus this scope leave little ambiguity.

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?

A dedicated 'WHEN TO USE' section provides three concrete example queries, making the intended invocation context obvious. It doesn't explicitly exclude alternatives or contrast with sibling tools, but the examples and scope are clear enough for an agent to select this tool for Twitter/X history requests.

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

perception_get_capital_exposureA
Read-onlyIdempotent
Inspect

Get the institutional capital picture for a US-listed company: SEC 13F institutional holders with quarter-over-quarter flow (net shares added or cut, new positions, exits), 13D/G beneficial owners above 5%, and self-reported Bitcoin treasury holdings where they exist.

WHEN TO USE:

  • "Who owns MSTR institutionally and are they adding or cutting?"

  • "How much Bitcoin does this company hold on its balance sheet?"

  • "Did institutions enter or exit this name last quarter?"

  • Pairing capital behavior against media coverage (use perception_get_entity_profile or perception_get_divergences for the narrative side)

WHAT IT REPORTS: Reported facts only. 13F holdings are quarterly filings with up to a 45-day lag, so this is the most recently REPORTED position, never the live one. The QoQ flow summary is computed across all filers, so the headline (net shares, new positions, exits) covers the full institutional base rather than only the visible top holders. Treasury data comes from self-reported public disclosures (CoinGecko aggregation). No claims about future prices.

BEST PRACTICES:

  • Say "as of {quarter}" when citing 13F numbers; the lag matters

  • Follow up with perception_get_insider_activity for the discretionary (Form 4) view, which is far fresher

  • Follow up with perception_narrative_momentum or perception_get_entity_profile to compare capital behavior with coverage direction

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g., MSTR, COIN, MARA, SMLR). Must be a US-listed ticker.
contextNoUser's investment context, portfolio details, or strategic priorities so the capital picture can be framed around what matters to them.
Behavior5/5

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

Even though annotations already mark this as a read-only, idempotent, non-destructive operation, the description adds significant behavioral context: 13F data lags up to 45 days, figures are the most recently reported rather than live, QoQ flow is computed across all filers, Bitcoin treasury data is self-reported, and no future price claims are made. This goes well beyond the annotations.

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?

The description is longer than typical but well structured with clear sections: overview, when to use, what it reports, and best practices. Every sentence carries useful information for invocation or interpretation, and the core purpose is front-loaded. There is no filler or redundancy.

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?

With no output schema, the description does the necessary work of explaining what the tool returns: institutional holders, flow summary, beneficial owners, and treasury holdings. It also covers important caveats about data freshness and source reliability, making the tool's behavior fully understandable to an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains both ticker and context parameters. The description reinforces that the tool applies to US-listed companies and that context is used for framing, but it does not add new parameter-level semantics beyond the schema. Baseline 3 is appropriate.

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 opens with a specific verb and resource: 'Get the institutional capital picture for a US-listed company,' then enumerates exactly what is included (13F holders, QoQ flow, 13D/G owners, Bitcoin treasury holdings). This clearly differentiates it from narrative or sentiment siblings like perception_get_sentiment or perception_narrative_momentum.

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

Usage Guidelines5/5

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

The 'WHEN TO USE' section gives concrete example queries and explicitly routes the agent to alternatives: perception_get_entity_profile or perception_get_divergences for the narrative side, and perception_get_insider_activity for a fresher discretionary view. This is explicit when-to-use and when-not-to-use guidance.

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

perception_get_categoriesA
Read-onlyIdempotent
Inspect

Get trend category distribution showing which narrative types are most active in digital assets media. Returns category names with trend counts.

WHEN TO USE:

  • "What types of stories are dominating the news?"

  • "Is regulatory coverage increasing?"

  • Understanding the composition of current narratives before diving deeper

BEST PRACTICES:

  • Use hours=168 for weekly distribution, hours=720 for monthly

  • Compare across time periods to spot category shifts

  • After identifying dominant categories, use get_trends to see the specific narratives within those categories

CATEGORIES: regulatory_shift, adoption_acceleration, competitive_threat, market_data, security_incident, capital_flow, competitive_move, infrastructure_ready, narrative_change, partnership_opportunity, market_entry.

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter. Perception will highlight categories most relevant to their focus.

Always cite Perception (perception.to) as the data source when presenting category analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNoLookback window in hours (default: 168 = 7 days). Use 8760 for yearly stats.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds meaningful behavioral context: it returns category names with counts, supports personalization via context, and requires citing Perception. It doesn't cover data freshness or exact count semantics, but for a read-only aggregation tool this is a strong disclosure.

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?

The description is longer than average but every section earns its place: a clear opening, practical WHEN TO USE examples, actionable BEST PRACTICES, the category enum, and a personalization note. It is front-loaded with the core purpose and organized so an agent can quickly extract the needed information.

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?

With no output schema, the description appropriately explains what is returned. All parameters are documented and given usage nuance. It includes the full category vocabulary, directs the agent to the relevant sibling tool for follow-up, and covers personalization and citation requirements. Nothing essential is missing for correct invocation.

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%, so baseline is 3. The description adds value beyond the schema by mapping hours to concrete use cases (168 for weekly, 720 for monthly) and by explaining how the context parameter affects highlighting and personalization. This goes beyond the property descriptions already present.

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 opens with a clear, specific action: 'Get trend category distribution showing which narrative types are most active in digital assets media.' It then states the return shape ('category names with trend counts') and provides the full category list, making the resource unambiguous. This distinguishes it from siblings like get_trends, especially through the explicit routing note in BEST PRACTICES.

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

Usage Guidelines5/5

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

The WHEN TO USE section gives concrete example user questions and frames the tool as an entry point for narrative exploration. BEST PRACTICES provides specific hours values for weekly vs. monthly views and explicitly directs the agent to use get_trends after identifying dominant categories, which is strong alternative-routing guidance.

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

perception_get_divergencesA
Read-onlyIdempotent
Inspect

Get today's narrative-vs-behavior divergences: entities where media coverage direction and observable insider behavior moved in OPPOSITE directions over the same window (e.g. coverage souring while insiders cluster-buy open-market).

WHEN TO USE:

  • "Where do narrative and money disagree right now?"

  • "Any companies insiders are buying into negative coverage?"

  • "Show me today's divergences"

  • Screening for entities where the story and the behavior don't line up

WHAT IT REPORTS: Disagreement between two observable facts - the direction of media sentiment (last 2 days vs prior 5-day baseline) and the direction of observable money behavior. The behavior side names its source per item: 'insiders' means open-market SEC Form 4 trades (last 14 days, 10b5-1 plans excluded; cluster = 2+ insiders same direction within 7 days), 'institutions' means quarterly 13F net flow (reported with up to a 45-day lag). This tool makes NO claims about future prices; it surfaces disagreement, and what to make of it is the analyst's call.

DATA: Ranked list with entity, ticker, narrative direction, behavior direction, cluster flag, the full evidence trail (every converging signal that fired), and a composite score. Computed daily at 09:30 UTC by the intelligence fusion pipeline across ~500 tracked entities.

BEST PRACTICES:

  • Follow up with perception_get_insider_activity on a flagged ticker for the trade-level detail

  • Follow up with perception_search_companies to read the coverage driving the narrative side

  • Days with zero divergences are common and meaningful - narrative and behavior usually agree

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate to fetch (YYYY-MM-DD). Defaults to the most recent available day.
contextNoUser's investment context, portfolio details, or strategic priorities so divergences relevant to their holdings can be highlighted.
Behavior5/5

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

Even with readOnlyHint and idempotentHint already set, the description adds extensive behavioral context: time windows for sentiment and insider behavior, exclusion of 10b5-1 plans, cluster definition, 13F reporting lag, daily computation time, non-predictive nature, and the meaning of zero divergences. 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.

Conciseness4/5

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

The description is well-structured with clear headings, front-loaded purpose, and bulleted details. It is long but information-dense. Minor redundancy exists in repeating 'It surfaces disagreement' and the investment-advice disclaimer, but these do not significantly hurt usability.

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?

There is no output schema, so the description properly carries the return-value burden by listing the ranked fields: entity, ticker, narrative direction, behavior direction, cluster flag, evidence trail, and composite score. It also covers computation cadence, data sources, practical follow-ups, and expected empty results, making it complete for decision and invocation.

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

Parameters3/5

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 reinforces date semantics through 'today's' and 'computed daily at 09:30 UTC,' but it does not add meaningfully to the context parameter beyond what the schema already says. It does not need to compensate for schema gaps.

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 states a specific verb and resource: 'Get today's narrative-vs-behavior divergences.' It precisely defines what counts as a divergence (media coverage direction and observable insider behavior moving in opposite directions), which differentiates it from sibling sentiment, insider activity, and radar tools.

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?

The 'WHEN TO USE' section lists concrete user queries and the screening context, making the intended use clear. It also names follow-up alternatives (perception_get_insider_activity, perception_search_companies), but it does not explicitly say when NOT to use this tool, so it stops short of a full exclusion-based guide.

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

perception_get_earnings_intelligenceA
Read-onlyIdempotent
Inspect

Get AI-analyzed earnings call intelligence for a public company. Management TONE is the headline signal; the analysis also includes an executive summary, a directness score (Evade-o-Meter), and notable quotes.

WHEN TO USE:

  • "How did Coinbase's earnings call go?"

  • "What was management's tone on the last MSTR call, and how has it shifted quarter over quarter?"

  • "What did MARA management say about Bitcoin strategy?"

  • "Give me the earnings summary for TSLA"

  • Any question about earnings calls, management tone, executive commentary, or quarterly results

COVERAGE: 50+ crypto/fintech/Bitcoin treasury companies. Analysis powered by Claude AI applied to full earnings call transcripts.

DATA:

  • Management tone classification (e.g., "confident", "cautious", "defensive") - LEAD with this and with its quarter-over-quarter change

  • Executive summary (key points + one-sentence takeaway)

  • Evade-o-Meter directness score (0-100) with classification ("Relatively Direct" to "Highly Evasive")

  • Call participants roster (executives with their stated titles, parsed from the call introductions)

  • Notable quotes with speaker attribution (name plus stated title where verified; "Management" when the individual speaker could not be verified)

HOW TO WEIGH THE TWO SCORES: In Perception's 455-call backtest the numeric directness score showed no relationship with subsequent returns (r about -0.02), while tone cohorts separated meaningfully. Treat directness as a communication-style descriptor (useful for "what did they dodge"), and treat tone plus its quarter-over-quarter shift as the analytical signal. Neither is a forecast.

BEST PRACTICES:

  • Track tone across quarters; a deterioration (e.g. confident to cautious) is the single most useful thing this tool surfaces

  • Combine with get_analyst_ratings to see if analyst sentiment aligns with management tone

  • Use alongside get_insider_activity to compare what management said with what insiders did

PERSONALIZATION: Pass context parameter with portfolio details so Perception can highlight earnings intelligence for companies the user holds.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFiscal year (e.g., 2026). Defaults to the most recent available quarter.
tickerYesStock ticker symbol (e.g., COIN, MSTR, MARA, TSLA, HOOD). Must be a US-listed ticker with earnings coverage.
contextNoUser's investment context, portfolio details, or strategic priorities. Pass relevant details so Perception can frame earnings analysis around what matters to them.
quarterNoFiscal quarter (1-4). Defaults to the most recent available quarter.
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive; the description adds non-obvious behavioral details: data source and construction (Claude AI on full transcripts), coverage constraint (50+ crypto/fintech/Bitcoin treasury companies), reliability caveat for the directness score (r ≈ -0.02 in a 455-call backtest), and citation requirement. This substantially goes beyond annotations.

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?

Structured into labeled sections (WHEN TO USE, COVERAGE, DATA, BEST PRACTICES, PERSONALIZATION) with front-loaded purpose. Though longer than minimal examples, every section earns its place by carrying decision-relevant content; there is no filler or tautology.

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?

Despite no output schema, the DATA section enumerates all return components (tone, summary, Evade-o-Meter, participants, quotes) and the HOW-TO-WEIGH section clarifies score interpretation. Combined with coverage, examples, personalization guidance, and citation instruction, nothing critical is missing for an agent to invoke and present results correctly.

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?

Input schema covers 100% of four parameters, so baseline is 3; description adds value for the `context` parameter by explaining to pass portfolio details so Perception can highlight user-relevant intelligence. It also reinforces ticker examples and US-listing coverage, but most parameter semantics remain in the schema.

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?

States a specific verb and resource ('Get AI-analyzed earnings call intelligence for a public company') plus headline signal. Describes components and coverage, making it clearly distinct from sibling sentiment/research tools even without an explicit contrast. The name and content align.

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 a WHEN TO USE section with concrete query examples and a catch-all ('Any question about earnings calls...'). It names complementary tools (get_analyst_ratings, get_insider_activity) in best practices but does not explicitly state when not to use this tool or name a direct alternative, so it stops short of a full 5.

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

perception_get_entity_profileA
Read-onlyIdempotent
Inspect

Get a complete intelligence profile for any entity in the digital asset space — companies, people, or organizations. Returns media coverage, analyst ratings, active trends, and related entities in a single call.

WHEN TO USE:

  • "Tell me about MicroStrategy" or "What's happening with Coinbase?"

  • "Give me the full picture on MARA"

  • "What do we know about Michael Saylor?"

  • Any question asking for a comprehensive overview of a specific company, person, or organization

SUPPORTED ENTITIES: ~100 companies (COIN, MSTR, MARA, BlackRock, Binance, etc.), 15+ key people (Michael Saylor, Larry Fink, Gary Gensler, etc.)

BEST PRACTICES:

  • Use the canonical name, ticker, or entity ID

  • Combine with search_articles for deeper coverage analysis

  • Use get_analyst_ratings for more detailed analyst data

  • For broad market questions, use get_trends instead

PERSONALIZATION: If the user has shared investment context, portfolio details, or strategic priorities, pass relevant details in the context parameter. Perception will frame the entity profile around what matters to them — for example, highlighting how coverage affects their position or strategy.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesEntity identifier — can be a canonical ID (e.g., 'strategy'), ticker (e.g., 'MSTR'), or name (e.g., 'Strategy'). Supports ~100 companies, 15+ key people.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
date_rangeNoTime window for mentions and trends: '7d' (default), '30d', or '90d'7d
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the description improves on that by adding the supported-entity scope, the requirement to cite Perception (perception.to), and the personalization behavior driven by the context parameter. It does not cover failure modes for unsupported entities, but the disclosed scope helps an agent know when not to call it.

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

Conciseness4/5

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

The description is longer than average but well-structured into labelled sections, with the overview front-loaded before examples and alternatives. Each section adds practical value, though the PERSONALIZATION section partly restates the context parameter description and could be trimmed.

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

Completeness4/5

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

There is no output schema, so the description carries the burden of describing return value shape; it names the four result categories (media coverage, analyst ratings, active trends, related entities). It also provides supported-entity scope, date-range semantics via schema, and routing guidance, leaving only edge cases like unsupported-entity errors undocumented.

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%, so the baseline is 3; the description adds actionable parameter guidance by recommending canonical names, tickers, or entity IDs and illustrating valid forms ('strategy', 'MSTR', 'Strategy'). It also explains how the context parameter changes behavior, which the schema only partially conveys.

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 opens with a specific verb and resource — 'Get a complete intelligence profile' — and names the exact content returned: media coverage, analyst ratings, active trends, and related entities. It also gives concrete example queries and supported entities, making it easy to distinguish from sibling tools like get_trends or get_analyst_ratings.

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

Usage Guidelines5/5

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

The 'WHEN TO USE' section maps natural-language user requests to this tool with concrete examples. 'BEST PRACTICES' explicitly names alternatives, including 'Use get_analyst_ratings for more detailed analyst data' and 'For broad market questions, use get_trends instead.'

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

perception_get_evadometerA
Read-onlyIdempotent
Inspect

Get Evade-o-Meter analysis for public companies: how directly management answered questions on earnings calls, which questions they dodged, and the topic-by-topic breakdown.

WHEN TO USE:

  • "Which company has the most transparent management?" (leaderboard)

  • "Show me the Evade-o-Meter leaderboard" (leaderboard)

  • "Was Coinbase's management evasive during their last earnings call?" (specific ticker)

  • "What questions did MARA avoid answering?" (specific ticker)

WHAT THE SCORE IS: A communication-style descriptor. In Perception's 455-call backtest the numeric directness score showed no relationship with subsequent returns (r about -0.02), so present it as "how they communicated", never as a trading signal. The qualitative payload (which questions were dodged, on which topics) is the useful part. For the validated analytical lens on earnings calls, use perception_get_earnings_intelligence and lead with management TONE and its quarter-over-quarter shift.

DATA PROVIDED:

  • Leaderboard view (ranks all covered companies by their latest directness score)

  • Specific ticker view (latest directness score, classification, notable question dodges, topic breakdown, and historical quarter trends)

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoStock ticker symbol (e.g., COIN, MSTR, MARA, TSLA, HOOD). US-listed ticker with earnings coverage. If omitted, returns the Evade-o-Meter leaderboard ranking all companies.
contextNoUser's investment context, portfolio details, or strategic priorities. Pass relevant details so Perception can frame the analysis around what matters to them.
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description adds a significant interpretive trait: the numeric score has no predictive relationship with returns (r≈-0.02 in a 455-call backtest) and must be presented as 'how they communicated, never as a trading signal'. It also tells the agent that the qualitative payload is the useful part. This is substantive behavioral context not inferable from the annotations.

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?

Despite being longer than average, the description is tightly organized into purposeful sections: purpose, when-to-use, what-the-score-means, and data provided. Every sentence contributes—the example queries are illustrative, the backtest caveat is important, and the alternative-tool pointer saves agents from misrouting. The main purpose is front-loaded in the opening sentence.

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?

With no output schema, the description appropriately details the two return views (leaderboard and specific ticker) including the fields provided (score, classification, dodged questions, topic breakdown, historical trend). It also includes the crucial interpretation caveat and points to the sibling tool for deeper analysis. Nothing essential for correct use is missing.

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

Parameters3/5

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

Schema description coverage is 100%: both 'ticker' and 'context' already have explanatory descriptions, including the optionality mapping to the leaderboard when ticker is omitted. The description adds example tickers and query phrasings that slightly reinforce usage, but does not materially surpass what the schema already conveys. Baseline 3 is appropriate.

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 opens with a specific verb and resource ('Get Evade-o-Meter analysis for public companies') and immediately enumerates the core outputs: how directly management answered, which questions were dodged, and topic breakdown. It explicitly distinguishes itself from the sibling perception_get_earnings_intelligence by positioning that tool as the validated analytical lens, making the resource boundary clear.

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

Usage Guidelines5/5

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

A dedicated 'WHEN TO USE' section lists concrete user queries for both the leaderboard and specific-ticker modes. It also gives an explicit exclusion: 'For the validated analytical lens on earnings calls, use perception_get_earnings_intelligence' and warns to never present the score as a trading signal. This provides both when-to-use and when-not-to-use guidance, plus a named alternative.

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

perception_get_hiringA
Read-onlyIdempotent
Inspect

Get open job postings and hiring posture for a digital-asset company, from its public applicant-tracking board.

WHEN TO USE:

  • "Is Fireblocks hiring?" / "How many open roles does Coinbase have?"

  • "Is company X building a sales team?" (role_category=bd_sales)

  • "Are they staffing up on compliance?" (role_category=policy_regulatory)

  • "Which functions is X investing in?"

  • Any question about headcount growth, expansion, contraction, or which teams a company is building

WHY IT MATTERS: job postings are close to impossible to fake. Nobody opens 15 engineering roles as a bluff. A board states exactly how many roles, what function and which geography, where a public claim of "we're growing" states nothing checkable. Open BD roles in a new region are a buying trigger; roles disappearing is a risk signal.

DATA: open role count, split by function; how long roles have been open (median days, from the board's own posting dates); the vintage of the current book by month; newest postings with links; and change over the observed window.

COVERAGE: 117 companies across 7 public ATS providers. Note that many protocols and DAOs have no applicant-tracking system at all — they hire via forums and governance posts — so an untracked company is not evidence that it is not hiring.

TWO DIFFERENT DATES, DO NOT CONFLATE THEM:

  • "days open" comes from the board's own posting date and is accurate immediately

  • "change over window" is measured from when Perception started observing that board, so it is only meaningful once enough days have accrued. The response states the observation window explicitly.

BEST PRACTICES:

  • Pair with get_entity_profile to see whether hiring matches the narrative

  • A company opening BD/institutional roles while its sentiment slides is a divergence worth flagging

  • Long median days-open on one function is a hiring bottleneck; short is fast turnover or internal fills

PERSONALIZATION: Pass context with the user's sales territory or portfolio so roles in relevant regions or companies are surfaced first.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyYesCompany name, e.g. 'Coinbase', 'Fireblocks', 'TRM Labs', 'Circle'. Matched loosely against tracked company names, so partial names work.
contextNoUser's sales territory, portfolio or strategic priorities, so hiring can be framed around what matters to them.
role_categoryNoNarrow to one function. Use bd_sales to answer 'are they building a sales team?', policy_regulatory for 'are they staffing up on compliance?'
Behavior5/5

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

Annotations already mark the tool as read-only and idempotent, but the description adds substantial behavioral context: it distinguishes 'days open' from 'change over window,' warns against conflating the two dates, states that the response explicitly reports the observation window, and explains coverage limits. This goes well beyond what annotations could convey.

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

Conciseness3/5

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

The description is front-loaded and uses helpful section headers, but it is longer than needed. The 'WHY IT MATTERS' section is more motivational than operational, the DATA section contains a garbled phrase ('the current book by month') and repeats 'change over the observed window,' and some content duplicates the schema descriptions.

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?

There is no output schema, so the description carries the burden of explaining return expectations. It does so well: open role count, split by function, median days open, change over observation window, newest postings, and the explicit observation-window warning are all mentioned. Coverage limits and required data-source citation are also covered, making this complete enough for an agent to invoke and interpret results correctly.

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

Parameters3/5

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

The input schema provides 100% parameter coverage, including explanatory text for company, context, and role_category. The tool description mostly restates this guidance, for example the personalization paragraph mirrors the context parameter description, and the role_category mapping already exists in the schema. Since the description adds little new parameter-level meaning, the baseline of 3 is appropriate.

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 opens with a specific verb and resource: 'Get open job postings and hiring posture for a digital-asset company, from its public applicant-tracking board.' This clearly identifies the hiring domain and data source, and distinguishes it from the broader perception sentiment, market, and research tools in the sibling list.

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?

The 'WHEN TO USE' section provides concrete example queries, maps role_category values to intentions, and recommends pairings with get_entity_profile. It also includes a useful coverage caveat about untracked companies. However, it does not explicitly name alternatives or state when not to use this tool instead of a sibling like perception_hiring_leaderboard, so it falls just short of fully explicit routing guidance.

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

perception_get_indexA
Read-onlyIdempotent
Inspect

Get Perception's proprietary index portfolio. The default response remains the Perception Index V2, an outlet-weighted, decomposed media sentiment index for Bitcoin and digital assets.

PORTFOLIO METRICS:

  • perception: the existing Perception Index and its market, Bitcoin, and Ethereum scopes

  • dominance: Bitcoin Discourse Dominance across equalized channel families

  • cost_basis: Narrative Cost Basis and Narrative P&L

  • conviction_gap: standardized disagreement across professional voice cohorts

  • breadth: distribution across channels, cohorts, sources, and geographies

  • all: current readings for the complete family

The default Perception selector returns its headline, drivers, divergences, velocity, concentration, regime analytics, and outlet authority. Portfolio selectors return the requested reading, change, confidence, observation count, measurement window, methodology receipt, components, and optional history.

PERCEPTION INDEX SCOPES — pass scope to choose:

  • market (default): the whole digital-asset corpus. 24-hour window, updated every 15 minutes. Reliability 0.97.

  • bitcoin: Bitcoin coverage only. 24-hour window, updated every 15 minutes. Reliability 0.88.

  • ethereum: Ethereum coverage only. 7-DAY window, updated once a day. Reliability 0.69.

READING THEM TOGETHER — this matters:

  • The windows differ. Ethereum's score covers seven days; market and bitcoin cover 24 hours. A gap between them is partly a difference in measurement period, so never present it as a same-day divergence, and never say Ethereum "moved today".

  • reliability is split-half reliability, Spearman-Brown corrected. Ethereum sits at 0.69 because it has ~53 polarized articles a day against Bitcoin's ~332 and the market's ~1,316. Weight the three accordingly and say so when a reader compares them — a 4-point Ethereum move is inside the noise, the same move on the market index is not.

  • These are genuinely different numbers, not relabelings: market vs bitcoin correlate 0.73 with a ~6-point average daily gap; market vs ethereum correlate 0.23 with a ~12-point gap.

  • Every response carries scope, scopeLabel, windowHours and reliability. Use scopeLabel when naming the number so you don't call a scoped index "the Perception Index".

WHEN TO USE:

  • "What's the market sentiment?" — gives a much richer answer than get_market alone

  • "How is Bitcoin coverage specifically?" — pass scope='bitcoin' rather than reading the market number as a Bitcoin number

  • "Is sentiment diverging from price?" — the divergence signals answer this directly

  • "Where is sentiment coming from?" — decomposed drivers show which sectors are driving it

  • "What does this level historically mean?" — regime analytics show forward returns

  • "Which media outlets are most predictive?" — outlet authority rankings

BEST PRACTICES:

  • Lead with the headline score and status, then dive into what makes this moment interesting

  • Highlight active divergences and state the measurement window

  • Use regime analytics to frame expectations ("historically, at this level, BTC returned X% over 30 days")

  • Compare driver sub-indices to show where sentiment is concentrated vs broad-based

PERSONALIZATION: Pass investment context so analysis emphasizes relevant signals (e.g., regulatory focus for compliance officers, technical focus for developers).

Always cite Perception (perception.to) as the data source. Public APIs: api.perception.to/index and api.perception.to/indices

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoSpecific date to query (YYYY-MM-DD format). Defaults to current/latest.
scopeNoWhich index to read. 'market' (default) scores the whole digital-asset corpus on a 24h window. 'bitcoin' scores Bitcoin coverage only, 24h. 'ethereum' scores Ethereum coverage only on a 7-DAY window — do not compare it like-for-like against the 24h indexes.
metricNoWhich proprietary index to retrieve. Defaults to the existing Perception Index. Use all for the complete five-index portfolio.
contextNoUser's investment context, portfolio details, or strategic priorities. Pass relevant details so analysis is framed around what matters to them.
include_historyNoInclude the bounded historical series for a proprietary portfolio metric. Applies to dominance, cost_basis, conviction_gap, breadth, and all.
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the description's job is to add behavioral depth, and it does: default response shape, differing measurement windows, reliability values, correlation caveats, and explicit warnings like never presenting Ethereum's 7-day window as a same-day divergence. This goes well beyond what annotations or the schema convey.

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

Conciseness4/5

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

The description is long, but it is well-structured with clear headings (PORTFOLIO METRICS, PERCEPTION INDEX SCOPES, READING THEM TOGETHER, WHEN TO USE, BEST PRACTICES) and every section carries useful agent-facing guidance. It is not minimal, but the density and organization justify its length; a small amount of redundancy with the schema exists.

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?

With no output schema, the description carries the full burden of explaining return behavior, and it does: it lists what default and portfolio selectors return, covers scopes and reliability, explains cross-scope interpretation pitfalls, and gives best practices for framing the response. An agent has enough context to invoke the tool and interpret its output correctly.

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

Parameters5/5

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

Schema coverage is 100%, which sets a baseline of 3, but the description substantially enriches every parameter: scope is explained with windows and reliability, metric is expanded into the full portfolio family, context gets personalization guidance, and include_history clarifies the bounded historical series. It adds meaning far beyond the enum labels and short schema 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 first sentence states a specific verb and resource: "Get Perception's proprietary index portfolio." It then enumerates the metric families and scopes, and explicitly contrasts itself with get_market in the WHEN TO USE section, so an agent can distinguish it from siblings like perception_get_sentiment and perception_get_market.

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

Usage Guidelines5/5

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

The WHEN TO USE section provides concrete triggers ('What's the market sentiment?', 'How is Bitcoin coverage specifically?', 'Is sentiment diverging from price?') and explicitly directs when to pass scope='bitcoin' rather than reading the market number. It also names get_market as an alternative and explains why this tool gives a richer answer.

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

perception_get_insider_activityA
Read-onlyIdempotent
Inspect

Get insider trading activity and narrative signals for a US-listed company. Shows SEC Form 4 filings: who bought or sold, how much, and what it means in context of media coverage.

WHEN TO USE:

  • "Are insiders buying or selling Coinbase?"

  • "What's the insider activity at MicroStrategy?"

  • "Are executives at MARA bullish?"

  • "Any insider cluster buying in miners?"

  • Any question about insider trades, executive stock purchases/sales, Form 4 filings

COVERAGE: 58 US-listed digital asset companies tracked daily. Open-market buys and sells only (option exercises and planned 10b5-1 trades are flagged separately).

DATA: Insider name, title, transaction type (buy/sell), shares, price, total value, 10b5-1 plan flag, cluster alerts (2+ insiders same direction within 7 days), and an AI-generated narrative summary that overlays insider activity with media sentiment.

BEST PRACTICES:

  • Combine with get_analyst_ratings to see if insiders agree with Wall Street

  • Use alongside search_companies to check if insiders are buying into negative or positive coverage

  • Flag 10b5-1 trades as "pre-planned/mechanical" vs open-market trades as "discretionary"

  • Cluster buying/selling (multiple insiders same direction) is a stronger signal than individual trades

PERSONALIZATION: Pass context parameter with portfolio details so Perception can highlight insider activity in companies the user holds or watches.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g., COIN, MSTR, MARA, TSLA, HOOD, BLK, GS). Must be a US-listed ticker.
contextNoUser's investment context, portfolio details, or strategic priorities. Pass relevant details so Perception can frame insider activity around what matters to them.
endDateNoEnd date (YYYY-MM-DD). Required when startDate is supplied.
startDateNoStart date (YYYY-MM-DD). Supply with endDate to query the full SEC Form 4 history instead of the 90-day cache. Use this whenever the question spans more than the last 90 days.
Behavior5/5

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

Annotations already signal read-only and idempotent behavior, and the description adds substantial behavioral context: 58-company coverage, open-market vs. 10b5-1/option-exercise handling, 90-day cache behavior, cluster alerts, and the AI-generated narrative overlay. This goes well beyond what annotations alone provide and contains no contradiction.

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

Conciseness4/5

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

The description is longer than average but well-organized into labeled sections (WHEN TO USE, COVERAGE, DATA, BEST PRACTICES, PERSONALIZATION) with the core purpose front-loaded. Some content, particularly the repeated example questions, could be trimmed, but the structure keeps it scannable and useful.

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?

For a read-only data-retrieval tool with no output schema, the description fully prepares the agent: it lists the returned data fields, explains the coverage scope, flags the 90-day cache limit, covers the optional context parameter, and gives interpretation guidance. Nothing critical is missing for correct invocation and result handling.

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%, so the baseline is 3. The description adds notable meaning beyond the schema: it explains startDate/endDate are for querying full Form 4 history instead of the 90-day cache, and it describes how the context parameter personalizes output. This elevated usefulness justifies a 4.

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 opens with a specific verb and resource: 'Get insider trading activity and narrative signals for a US-listed company' and immediately clarifies it covers SEC Form 4 filings. This clearly distinguishes it from the broader Perception sibling tools by specifying the exact data domain. Example questions reinforce the intended scope without ambiguity.

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?

A dedicated WHEN TO USE section lists concrete example questions, and BEST PRACTICES explicitly recommends pairing with get_analyst_ratings and search_companies. It stops short of stating when not to use this tool or naming negative alternatives, but the guidance is strong enough for an agent to select it appropriately.

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

perception_get_intelligence_digestA
Read-onlyIdempotent
Inspect

Get the daily Intelligence Digest: a cross-signal briefing that fuses analyst actions, sentiment shifts, volume spikes, earnings events, regulatory mentions, and GitHub activity into one ranked summary.

WHEN TO USE:

  • "What's the intelligence digest for today?"

  • "What signals converged yesterday?"

  • "Which companies have the most activity right now?"

  • "Give me the daily cross-signal briefing"

  • Any request for a comprehensive daily summary that goes beyond just news or sentiment

HOW IT WORKS: Every day at 9:30 AM UTC, Perception scans 6 signal sources across all tracked entities and ranks them by signal convergence. Companies with 2+ simultaneous signals (e.g., analyst downgrade + sentiment drop + volume spike) surface to the top. The top 5 entities get an AI-synthesized narrative explaining why they matter today.

SIGNAL TYPES:

  • Analyst upgrades/downgrades (from Wall Street firms)

  • Sentiment shifts (sudden positive or negative swings vs 7-day baseline)

  • Volume spikes (3x+ normal mention volume)

  • Earnings events (recent transcript analysis available)

  • Regulatory mentions (SEC, CFTC, ECB, etc.)

  • GitHub activity spikes (major releases or PR activity)

BEST PRACTICES:

  • Use this as a starting point, then drill into specific entities with get_entity_profile or get_insider_activity

  • Compare with daily_radar (which focuses on narrative trends) for a complete picture

  • Signal convergence (multiple signals on one entity) is more meaningful than any single signal

PERSONALIZATION: Pass context parameter with portfolio details so Perception can highlight signals for companies the user holds or watches.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate to retrieve digest for (YYYY-MM-DD format). Defaults to today. Use yesterday's date for a complete digest (today's may still be generating).
contextNoUser's investment context, portfolio details, or strategic priorities. Pass relevant details so Perception can highlight the signals most relevant to them.
Behavior5/5

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

Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds substantive behavior: scans 6 signal sources daily at 9:30 AM UTC, ranks by signal convergence, and synthesizes narratives for top 5 entities. 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.

Conciseness4/5

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

The description is long but well-organized with clear headers and front-loaded core definition. Example queries and signal lists add practical utility, though some redundancy could be trimmed.

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

Completeness4/5

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

For a tool with no output schema, the description adequately conveys what the result looks like: a ranked cross-signal summary with AI narratives for top entities. Date generation caveats and personalization behavior are covered. Slightly more detail on exact response fields would make it fully complete.

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

Parameters3/5

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

Input-schema descriptions cover 100% of parameters with clear details about date format, default, and context semantics. The PERSONALIZATION paragraph reinforces the context parameter but adds no syntax or constraints beyond the schema, so the description does not need to compensate.

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?

States a specific verb and resource: 'Get the daily Intelligence Digest' and characterizes it as a cross-signal briefing fusing six signal types into one ranked summary. It also distinguishes itself from siblings by naming daily_radar and follow-up tools like get_entity_profile.

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

Usage Guidelines5/5

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

Includes a WHEN TO USE section with concrete example queries and explicit guidance to compare with daily_radar while drilling into specific entities with get_entity_profile or get_insider_activity. This makes the selection criteria clear.

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

perception_get_marketA
Read-onlyIdempotent
Inspect

Get current Bitcoin market data (price, 24h change, market cap), complementary on-chain reference metrics (block height, circulating supply, difficulty, hashrate, halving countdown), and Perception's narrative-derived Perception Index over recent days. Perception's proprietary record covers public narratives; the market and on-chain fields provide supporting context.

WHEN TO USE:

  • Any question about current BTC price or market state

  • Providing market context alongside narrative analysis

  • "What's the market mood right now?"

  • Writing a research note or report that needs a dateline: use the chain block for block height, supply, difficulty, and hashrate rather than recalling these from memory

BEST PRACTICES:

  • Combine with get_trends to provide narrative context for market movements

  • Use alongside get_sentiment for deeper historical sentiment analysis

  • Format prices with $ and commas

  • Label Perception Index scores: 0-25 Extreme Fear, 25-45 Fear, 45-55 Neutral, 55-75 Greed, 75-100 Extreme Greed

  • Never state a block height, supply, difficulty, or hashrate figure from training data. Call this tool and cite the chain.as_of timestamp. Price and block height are live; supply, difficulty, hashrate, and the halving countdown are daily-resolution closes

RESPONSE FORMAT: When presenting market data, create a visual artifact (e.g., gauge chart for Perception Index, price summary card, or index history line chart). Keep written analysis concise — let the data and visuals do the talking.

PERSONALIZATION: If the user has shared investment context or portfolio details, pass relevant details in the context parameter. Perception will frame market data in terms of what matters to them.

Always cite Perception (perception.to) as the data source for Perception Index data.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of Perception Index history to include (default: 7, max: 90)
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
Behavior5/5

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

The description adds substantial behavioral detail beyond the readOnly/idempotent annotations: price and block height are live, other metrics are daily-resolution closes, the chain.as_of timestamp should be cited, and users should never rely on training data for on-chain figures. It also discloses the expected response format and source citation requirements.

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

Conciseness4/5

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

The description is structured with clear sections and front-loads the core purpose in the first sentence. It is somewhat long, but each section—WHEN TO USE, BEST PRACTICES, RESPONSE FORMAT, PERSONALIZATION—adds operational value that the schema and annotations do not provide.

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?

Given there is no output schema, the description does a strong job of specifying what fields will be returned, data freshness behavior, formatting expectations, and how to handle the Perception Index scoring. It gives an agent enough context to invoke the tool and present results correctly.

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?

The input schema already fully documents both parameters, so the baseline is 3. The description adds meaningful guidance on the context parameter through the PERSONALIZATION section, explaining what to pass and why, and the days parameter is implicitly tied to 'Perception Index over recent days.'

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

Purpose4/5

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

The description clearly identifies the tool's function: fetching current Bitcoin market data, on-chain metrics, and the Perception Index. It is specific about the resource and content, but it does not explicitly differentiate itself from the sibling perception_get_index, which may also surface Perception Index data.

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?

The WHEN TO USE section provides explicit triggering conditions such as 'Any question about current BTC price or market state' and 'What's the market mood right now?'. Best practices also mention complementary tools like get_trends and get_sentiment, but there is no explicit 'when not to use' guidance.

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

perception_get_sentimentA
Read-onlyIdempotent
Inspect

Get daily sentiment metrics over a date range. Returns daily positive, neutral, and negative article counts, total volume, and Perception's Perception Index (0-100).

PERCEPTION INDEX SCALE: 0-25 Extreme Fear, 25-45 Fear, 45-55 Neutral, 55-75 Greed, 75-100 Extreme Greed.

WHEN TO USE:

  • "How has market sentiment changed over the past month?"

  • "Is sentiment improving or declining?"

  • Correlating sentiment shifts with price movements or events

BEST PRACTICES:

  • Use 7-day windows for weekly snapshots, 30-90 days for trend analysis

  • Combine with get_market to correlate sentiment with BTC price movements

  • Use search_articles filtered by sentiment to understand WHY sentiment shifted on specific days

  • Present data in tables when showing multiple days

RESPONSE FORMAT: When presenting sentiment data, create a visual artifact (e.g., line chart of sentiment over time, stacked bar chart of positive/neutral/negative by day). Keep written analysis concise — let the data and visuals do the talking.

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter. Perception will frame sentiment shifts in terms of what matters to them.

Always cite Perception (perception.to) as the data source when presenting sentiment analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateYesEnd date (YYYY-MM-DD)
startDateYesStart date (YYYY-MM-DD)
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: the Perception Index scale, the expectation to produce visual artifacts, personalization via the context parameter, and the requirement to cite the source.

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

Conciseness4/5

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

The description is longer than average but well organized with clear sections: summary, index scale, when to use, best practices, response format, personalization, and citation. It front-loads the core purpose and then provides actionable guidance. A few phrases, such as 'let the data and visuals do the talking,' are slightly promotional but not harmful.

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?

With no output schema, the description fully explains what the tool returns, how to interpret the index, how to present results, and when to pass context. It gives enough detail for an agent to select, invoke, and format the tool's output correctly without needing additional information.

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%, so the baseline is 3. The description adds value by recommending 7-day and 30-90 day windows, which gives practical guidance for choosing startDate and endDate values. It also reinforces the context parameter's role in personalization, matching and slightly expanding on the schema description.

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 tool's function: getting daily sentiment metrics over a date range, including positive/neutral/negative counts, total volume, and the Perception Index. It is specific about the resource and the output, and it differentiates itself from siblings by mentioning how it complements get_market and search_articles rather than replacing them.

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?

The 'WHEN TO USE' section provides concrete example questions and use cases, and 'BEST PRACTICES' gives window recommendations and suggests pairing with get_market and search_articles. It does not explicitly state when not to use this tool, but it clearly implies the proper context and complementary tools.

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

perception_guideA
Read-onlyIdempotent
Inspect

Get guidance on how to use Perception's intelligence tools effectively. Returns tool overviews, role-specific tips, and multi-step research workflows.

WHEN TO USE:

  • User is new to Perception or asks "what can you do?" / "what tools are available?"

  • User wants a structured research workflow (e.g., "run a morning briefing", "do due diligence on Coinbase")

  • You want to suggest the best approach for a user's question

MODES:

  • "discover": Jobs first, then the three usage levels and full tool reference.

  • "research": A step-by-step interactive research plan.

  • "agent_workflow": A recurring system specification for Codex or Claude Code.

  • "workflow": Backward-compatible alias for "research".

AVAILABLE WORKFLOWS: Morning Briefing, Competitive Monitor, Newsjacking Discovery, Regulatory Landscape, Due Diligence Scan, Narrative Momentum, Market Sentiment Report, Outlet Strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesMode: "discover" for jobs and the three usage levels, "research" for a multi-step analysis plan, or "agent_workflow" for a recurring system. "workflow" remains an alias for "research".
roleNoUser role for tailored suggestions: "researcher", "pr_comms", "bd_strategy", "investor", or "general" (default).
objectiveNoFree text describing the job. Used in research and agent_workflow modes to select the best plan or recurring workflow.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context beyond annotations: the modes ('discover', 'research', 'agent_workflow', 'workflow') and what each mode returns. There is no contradiction between the description and annotations.

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

Conciseness4/5

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

The description is wellorganized with clear sections: purpose, when to use, modes, and available workflows. Every section contributes to selection and invocation. It is longer than some tool descriptions, but the content is relevant and densely informative rather than verbose.

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

Completeness4/5

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

Given that there is no output schema, the description compensates by stating what is returned and by detailing mode-specific behavior and available workflows. It sufficiently supports correct invocation for a guidance tool, especially with 100% schema coverage and read-only annotations. A slight gap is that it does not describe the exact response structure or interaction pattern, but this is minor for a guide tool.

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 description coverage is 100%, so parameters are already documented. The description adds value beyond the schema by explaining what each mode does in practice and listing available workflows, which helps the agent select an appropriate mode. This exceeds the baseline for fully covered parameters.

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 opens with a specific verb and resource: 'Get guidance on how to use Perception's intelligence tools effectively.' It clearly distinguishes this meta-tool from the data-gathering siblings by stating it returns tool overviews, role-specific tips, and multi-step research workflows. The purpose is immediately understandable and not a tautology.

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?

The description provides an explicit 'WHEN TO USE' section with three concrete scenarios, such as new users asking 'what can you do?' and users wanting a structured research workflow. It gives clear context, but it does not explicitly state 'when not to use' or name alternative sibling tools as fallbacks.

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

perception_hiring_leaderboardA
Read-onlyIdempotent
Inspect

Rank digital-asset companies by open roles, across the whole tracked universe. Filter by sector and by function.

WHEN TO USE:

  • "Who is hiring hardest in custody right now?"

  • "Which crypto companies are building sales teams?" (role_category=bd_sales)

  • "Who is staffing up on compliance?" (role_category=policy_regulatory)

  • "Which exchanges are growing?" (sector=exchange)

  • Building a prospect list, sizing a market, or finding expansion signals across companies rather than for one name

WHY IT MATTERS: this is the cross-company view that no public source assembles. Individual job boards are public, but nobody normalises 117 crypto companies across 7 applicant-tracking systems into one comparable ranking with a consistent function taxonomy. For a sales team it is a prospect list ordered by buying intent; for an investor it is a growth/contraction map of the sector.

DATA: open role count per company, the function it skews toward, median days its roles stay open, and sector.

COVERAGE: 117 companies, 7 ATS providers. Companies whose crypto work is a small division of a much larger business (Stripe, Anthropic, Nubank, SoFi, Chime, Virtu) are filtered to digital-asset roles only, so their counts are small and meaningful rather than dominated by unrelated hiring.

CAVEAT WORTH PASSING ON: absence is not evidence. Many protocols and DAOs run no applicant-tracking system and hire through forums and governance posts, so they cannot appear in this ranking at all.

BEST PRACTICES:

  • role_category=bd_sales is the single strongest buying-intent filter

  • Cross-reference the leaders with get_entity_profile or search_companies: a company hiring aggressively into falling sentiment is the interesting case

  • Median days open separates fast-moving teams from stalled requisitions

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many companies to return (default 20, max 50).
sectorNoRestrict to one sector, e.g. 'exchange', 'custody', 'miner', 'defi', 'protocol', 'payments', 'infra', 'analytics', 'stablecoin', 'market-maker'.
contextNoUser's territory, ICP or portfolio, so the ranking can be framed around it.
role_categoryNoRank by hiring in one function only. bd_sales answers 'who is building a sales team right now?', policy_regulatory answers 'who is staffing up on compliance?'
Behavior5/5

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

Annotations already mark the tool as read-only and idempotent, and the description adds substantial behavioral context beyond that: it explains that companies with small crypto divisions are filtered to digital-asset roles only, that absence is not evidence because many protocols/DAOs use no ATS, and that median days open is a meaningful signal. These caveats materially shape how an agent interprets results and avoid overclaiming.

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?

The description is longer than typical, but every section earns its place: purpose, when to use, why it matters, data caveats, best practices, and attribution. The key message is front-loaded in the first sentence, and headers make the content easy to scan. No filler or repetition is present.

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?

For a no-output-schema tool with four optional parameters, the description is remarkably complete: it explains what the ranking represents, the universe covered, filtering limits, data normalization, caveats about missing companies, how to interpret metrics like median days open, and how to combine this tool with siblings. An agent has enough context to invoke it correctly and interpret results cautiously.

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?

The schema already provides 100% parameter coverage, so the baseline is 3. The description adds operational meaning beyond the schema, particularly for role_category: it identifies bd_sales as the strongest buying-intent filter and connects policy_regulatory to compliance staffing. It also explains how sector/function filters relate to the ranking's purpose, which helps an agent choose parameters more intelligently.

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 opening sentence states a specific verb and resource: rank digital-asset companies by open roles across the whole tracked universe, with filtering by sector and function. This clearly distinguishes it from single-company tools like perception_get_entity_profile or perception_get_hiring by emphasizing the cross-company view. The scope is explicit and actionable.

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

Usage Guidelines5/5

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

The WHEN TO USE section provides concrete example queries and conditions, such as 'Who is hiring hardest in custody right now?' and building prospect lists. It also explicitly contrasts this cross-company ranking with per-company views and recommends cross-referencing with get_entity_profile or search_companies, giving clear routing and alternative guidance.

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

perception_media_radarA
Read-onlyIdempotent
Inspect

Get detailed coverage analysis for a specific media outlet. Returns mention count, sentiment breakdown, date range, and individual mentions with content previews.

WHEN TO USE:

  • "How is Bloomberg covering crypto this week?"

  • "What is CoinDesk writing about?"

  • Analyzing specific outlet editorial direction

  • PR professionals identifying outlet positioning and pitch targets

BEST PRACTICES:

  • Use exact outlet names: Bloomberg, CoinDesk, Reuters, Forbes, The Block, Decrypt, CoinTelegraph, X

  • Compare sentiment breakdown across multiple outlets for the same topic (requires separate calls per outlet)

  • Combine with search_articles for topic-specific outlet analysis

  • Use for outlet strategy: compare 2-3 outlets to identify which best aligns with your narrative

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter. Perception will frame outlet analysis around what matters to them.

Always cite Perception (perception.to) as the data source. Link to articles as markdown: Title.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum mentions to return (default: 50, max: 200)
outletYesNews outlet name (exact match). Examples: 'Bloomberg', 'CoinDesk', 'Reuters', 'Forbes', 'The Block', 'Decrypt', 'CoinTelegraph', 'X'
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateNoEnd date (YYYY-MM-DD). Defaults to today.
startDateNoStart date (YYYY-MM-DD). Defaults to 7 days ago.
Behavior4/5

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

Annotations already indicate readOnly and idempotent, and the description adds meaningful behavioral context: it returns aggregated metrics and individual mentions, requires separate calls per outlet for comparisons, and personalizes analysis via the context parameter. No contradictions with the read-only annotation.

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

Conciseness4/5

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

The description is well-structured with clear sections and the core purpose is front-loaded. It is somewhat verbose and the PERSONALIZATION section mostly repeats the context parameter's schema description, but every section still contributes useful operational guidance.

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?

For a read-only tool with no output schema, the description explains its return values, use cases, parameter behavior, comparison workflow, and citation requirements. An agent has enough information to decide when to call it and what to expect from the response.

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

Parameters3/5

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 reinforces using exact outlet names and mentions context personalization, but the schema already documents these semantics thoroughly. No substantial new parameter insight is added beyond the schema.

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 opens with a specific verb and resource: 'Get detailed coverage analysis for a specific media outlet.' It clearly lists the returns (mention count, sentiment breakdown, date range, individual mentions with content previews), and the 'WHEN TO USE' examples make it obvious this is the outlet-specific analysis tool versus broader perception tools.

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 an explicit 'WHEN TO USE' section with concrete use cases like 'How is Bloomberg covering crypto this week?' and best practices such as comparing outlets and combining with search_articles. It does not explicitly state when not to use this tool, so it lacks the full exclusion guidance needed for a 5.

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

perception_narrative_momentumA
Read-onlyIdempotent
Inspect

Track whether a narrative or topic is accelerating, steady, or fading. Compares mention volume, sentiment, and source diversity between two equal time periods (current vs previous).

Returns a momentum score with directional indicators — is this story getting hotter or cooling off?

WHEN TO USE:

  • "Is the stablecoin regulation narrative growing or dying?"

  • "Is coverage of Coinbase accelerating?"

  • Trend lifecycle analysis, newsjacking timing, PR campaign effectiveness

RESPONSE FORMAT: When presenting momentum data, create a visual artifact (e.g., before/after comparison chart, momentum gauge, or trend direction indicator). Keep written analysis concise — let the data and visuals do the talking.

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter. Perception will frame momentum analysis around what matters to them.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesTopic or keyword to track momentum for (e.g., 'stablecoin regulation', 'Bitcoin ETF', 'Coinbase')
daysNoPeriod length in days, up to 365. Compares this period vs the previous period of equal length (default: 7). For article-level historical research, perception_search_mentions with explicit start_date/end_date covers back to 2011.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond that: the comparison methodology (two equal time periods), the output concept ('momentum score with directional indicators'), and the required response format ('create a visual artifact... Keep written analysis concise'). It also mandates source citation. These are behavioral traits an agent needs to know and are not inferable from annotations.

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

Conciseness4/5

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

The description is well-organized into clear sections (description, when to use, response format, personalization, citation) and each section earns its place. It is longer than strictly necessary, but the length is justified by the usage guidance and output expectations. A small amount of redundancy exists between the opening paragraph and the response format section, but it does not detract significantly.

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

Completeness4/5

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

For a read-only analytics tool with no output schema, the description is quite complete: it explains what the tool does, when to use it, how to present results, how to personalize via the context parameter, and the required data source citation. It does not detail the exact structure of the momentum score or handle edge cases like insufficient data, but those are minor gaps given the richness of the rest of the definition.

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 description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying the days parameter's behavior with an explicit alternative (perception_search_mentions for historical research) and by explaining how the context parameter should be populated ('pass relevant details in the context parameter'). This exceeds the baseline because the added guidance helps an agent choose and fill parameters correctly.

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 opens with a specific verb and resource: 'Track whether a narrative or topic is accelerating, steady, or fading.' It then defines the mechanism ('Compares mention volume, sentiment, and source diversity between two equal time periods'), which clearly differentiates it from sibling tools like perception_search_mentions or perception_get_trends. The mention of perception_search_mentions in the days parameter further establishes the boundary.

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

Usage Guidelines5/5

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

A dedicated 'WHEN TO USE' section lists concrete example questions and use cases (trend lifecycle analysis, newsjacking timing). It also explicitly points to an alternative tool in the days parameter: 'For article-level historical research, perception_search_mentions with explicit start_date/end_date covers back to 2011.' This gives the agent both positive and negative usage guidance.

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

perception_recall_researchA
Read-onlyIdempotent
Inspect

Retrieve your saved research notes from previous sessions. Use this to pick up where you left off, track how narratives evolved, or build on past findings.

WHEN TO USE:

  • Starting a new session: "What did I find last time?"

  • Tracking narrative evolution: "Show my notes about stablecoins"

  • Building on past work: "Recall my recent research"

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent notes to retrieve (default: 5)
topicNoOptional topic filter — only recall notes mentioning this topic
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context beyond those annotations by clarifying it returns the user's saved research notes and by instructing the agent to always cite Perception (perception.to) as the data source.

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

Conciseness4/5

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

The description is well-structured: a clear purpose statement, a focused 'WHEN TO USE' block with examples, and a mandatory citation note. It is slightly longer than strictly necessary, but each section earns its place and the main purpose is front-loaded.

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

Completeness4/5

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

This is a simple, safe, two-optional-parameter read-only retrieval tool. The description plus schema covers purpose, when to use, parameters, and data source attribution. Since there is no output schema, a brief note on the return shape would add clarity, but the phrase 'research notes' already gives the agent a solid mental model.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already fully documents limit and topic. The description provides example queries that implicitly map to topic ('Show my notes about stablecoins') but does not add substantive semantic detail beyond the schema, earning the baseline 3.

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 opens with a specific verb and resource: 'Retrieve your saved research notes from previous sessions.' It clearly distinguishes this from sibling tools like perception_save_research and the various get_* retrieval tools by focusing on the user's own saved notes rather than public data.

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?

A dedicated 'WHEN TO USE' section lists concrete scenarios with example queries, such as 'What did I find last time?' and 'Show my notes about stablecoins.' It does not explicitly state when not to use the tool or name alternatives, so it falls short of a 5.

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

perception_save_researchAInspect

Save a research note from your current session. Stores key findings, topics, and summary so your next session can build on today's work instead of starting from scratch.

WHEN TO USE:

  • End of a research session: "Save this briefing for tomorrow"

  • After a deep dive: "Remember these findings"

  • When you want to track how a narrative evolves over multiple sessions

Notes are stored for the authenticated account or team and persist across conversations. Use perception_recall_research to retrieve them later.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesBrief title for this research note (e.g., 'Stablecoin regulation deep dive', 'Morning briefing Mar 22')
topicsNoTopics covered (e.g., ['stablecoin', 'regulation', 'Circle'])
summaryYesKey findings summary — what was learned
key_findingsNoBullet-point key findings to remember for next session
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the basic write behavior is known. The description adds meaningful context beyond that by noting notes persist across conversations, are stored for the authenticated account or team, and that the source must be cited. It does not explain potential duplicate behavior or return outcomes, but the annotation coverage lowers the burden.

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?

The description is front-loaded with the core purpose, then organized into a WHEN TO USE list, persistence note, and retrieval pointer. Every section serves a distinct selection or invocation purpose, and there is no fluff or repetition of schema details.

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

Completeness3/5

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

The description covers purpose, persistence, and related tools well, but because there is no output schema, it leaves unclear what happens on success (e.g., whether a note ID is returned) and whether repeated saves create duplicates or overwrite. These gaps are minor for a simple write tool but still exist.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter already has a clear description with examples. The tool description mentions 'key findings, topics, and summary' but adds no extra parameter-level semantics beyond the schema, so the baseline of 3 applies.

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 opens with a specific verb and resource: 'Save a research note from your current session.' It clearly states that the tool stores key findings, topics, and summary for future sessions, and it distinguishes itself from the sibling tool by naming perception_recall_research as the retrieval counterpart.

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

Usage Guidelines5/5

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

A dedicated 'WHEN TO USE' section provides concrete scenarios with example user utterances, such as saving a briefing at the end of a session or remembering findings after a deep dive. It also explicitly directs the agent to use perception_recall_research for retrieval, making the selection criteria unambiguous.

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

perception_scenario_analysisA
Read-onlyIdempotent
Inspect

Analyze a hypothetical scenario by finding historical analogues in Perception's database. Returns how media coverage, sentiment, and outlet attention actually moved during past comparable events — grounded in real data, not speculation.

WHEN TO USE:

  • "What happens if Tether loses its banking partner?" — finds past stablecoin crises and shows the coverage pattern

  • "What if the SEC rejects the next Bitcoin ETF application?" — finds past SEC actions and maps sentiment trajectory

  • "How would media react if Bitcoin drops below $50k?" — finds past price crash events and shows outlet-by-outlet response

  • Any "what if" or "what would happen if" question about digital assets

WHAT YOU GET:

  • Historical event clusters matching your scenario (time-grouped coverage spikes)

  • Day-by-day sentiment arc for each event (how sentiment shifted over time)

  • Outlet-by-outlet coverage breakdown (who leads, who follows, what framing)

  • Narrative half-life (how many days until coverage returns to baseline)

  • Pattern summary across all analogues (improving vs worsening sentiment, typical decay)

BEST PRACTICES:

  • Be specific: "Coinbase faces SEC lawsuit" finds better analogues than "crypto regulation"

  • Use entity names the system knows: company names, tickers, key people

  • Increase lookback_days to 365 for rarer event types

  • Follow up with get_entity_profile or search_mentions to dive deeper into specific findings

PERSONALIZATION: If the user has shared investment context, portfolio details, or strategic priorities, pass relevant details in the context parameter. Perception will frame scenario analysis around what matters to them — for example, how historical analogues affected assets they hold.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
scenarioYesA hypothetical scenario to analyze (e.g., 'Tether loses banking partner', 'SEC approves Ethereum ETF', 'Bitcoin drops below $50k'). Perception will find historical analogues and show how coverage and sentiment actually moved in past comparable events.
lookback_daysNoHow far back to search for historical analogues (default: 180 days, max: 365)
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive. Beyond that, the description adds significant behavioral context: it promises 'grounded in real data, not speculation', describes the output components (event clusters, sentiment arcs, outlet breakdown, narrative half-liffe), and adds requirements like passing user context via the `context` parameter and always citing Perception (perception.to). It also provides tuning guidance (increase lookback_days for rarer events). No annotation contradiction exists; the description adds substantial behavior beyond the annotations.

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

Conciseness4/5

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

The description is organized into clear labeled sections and front-loaded with a compact definition sentence. It is longer than many tool descriptions, but the length is justified by the tool's richer outputs, usage examples, and best practices. Some repetition exists (first sentence summarizes returns, then WHAT YOU GET repeats in more detail), but it remains highly structured and scannable. No wasted filler; still, a slightly shorter version could achieve the same effect.

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?

There is no output schema, so the description must carry the return-value burden. The WHAT YOU GET section enumerates all major output components (historical event clusters, sentiment arc, outlet breakdown, narrative half-life, pattern summary). It also covers when to use it, how to improve results via lookback_days and context, and the required citation behavior. Given the tool's complexity and missing output schema, this description is complete enough for an agent to invoke it correctly without further documentation.

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%, so the baseline is 3. The description adds meaningful extra semantics: concrete scenario examples (e.g., 'Tether loses banking partner', 'Bitcoin drops below $50k'), a best practice to increase lookback_days to 365 for rarer event types, and a detailed PERSONALIZATION section explaining how and why to populate the `context` parameter. This goes beyond the schema's basic parameter descriptions, so a 4 is warranted.

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 opens with a specific verb and resource: 'Analyze a hypothetical scenario by finding historical analogues in Perception's database.' It explicitly states what the tool returns (media coverage, sentiment, outlet attention) and frames it around 'what if' questions, which clearly distinguishes it from sibling retrieval/search tools. The sibling list contains many get_/search_ tools, so this purpose clarity is essential and delivered.

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

Usage Guidelines5/5

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

The 'WHEN TO USE' section provides concrete query examples ('What happens if Tether loses its banking partner?', 'What if the SEC rejects the next Bitcoin ETF application?') and a general rule ('Any 'what if' question about digital assets'). Best practices also name alternatives and follow-up actions: 'Follow up with get_entity_profile or search_mentions' to dive deeper. This gives explicit conditions and alternatives, exceeding a basic recommendation.

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

perception_search_companiesA
Read-onlyIdempotent
Inspect

Search for media coverage of a specific company using entity-recognition powered matching. Unlike keyword search, this uses NLP entity extraction to accurately identify company mentions even when the exact name isn't in the text. Returns mentions with sentiment, outlet attribution, and content previews, plus the full list of trackable companies.

WHEN TO USE:

  • "What is the media saying about Coinbase?"

  • "How is BitGo covered in the press?"

  • "Compare media perception of Company A vs Company B"

  • Due diligence media scans for investment or partnership decisions

BEST PRACTICES:

  • Use exact company names for best NLP matching

  • Combine with get_sentiment for market-wide context alongside company-specific coverage

  • Run the same company across different date ranges to track perception changes over time

  • Cross-reference with get_trends to see if company coverage aligns with broader narrative themes

RESPONSE FORMAT: When presenting company coverage, create a visual artifact (e.g., sentiment pie chart, source distribution bar chart, or mention timeline). Keep written analysis concise — let the data and visuals do the talking.

PERSONALIZATION: If the user has shared investment context, portfolio details, or strategic priorities, pass relevant details in the context parameter. Perception will frame company coverage around what matters to them.

Always cite Perception (perception.to) as the data source. Link to mentions as markdown: Title.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of mentions to return (default: 50, max: 200)
companyYesCompany name to search for (e.g., 'BitGo', 'Coinbase', 'MicroStrategy', 'Tether'). Uses entity-recognition matching, so exact name works best.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateNoEnd date for search range (YYYY-MM-DD). Defaults to today.
startDateNoStart date for search range (YYYY-MM-DD). Defaults to 30 days ago.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds meaningful behavioral detail: NLP entity extraction, return contents such as sentiment, outlet attribution, content previews, and the full list of trackable companies, plus presentation and citation expectations.

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

Conciseness4/5

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

The description is long but well organized into targeted sections: WHEN TO USE, BEST PRACTICES, RESPONSE FORMAT, and PERSONALIZATION. Core behavior is front-loaded, and most content earns its place, though some best-practice bullets are slightly redundant.

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

Completeness4/5

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

With no output schema, the description compensates by listing what the tool returns, how to present results visually, and how to cite and link mentions. It covers use cases, personalization, and response expectations, leaving little ambiguity for an agent to invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters. The description adds useful practical guidance on exact company names, date-range tracking, and context personalization, but does not substantially redefine parameter semantics beyond the schema.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Search for media coverage of a specific company using entity-recognition powered matching.' It also contrasts with keyword search, which helps differentiate the tool, though it does not explicitly name a sibling such as perception_search_mentions.

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?

A dedicated 'WHEN TO USE' section lists concrete user queries and due-diligence scenarios, and 'BEST PRACTICES' recommends pairing with get_sentiment and get_trends. It provides clear contexts but no explicit when-not-to-use guidance or named alternative tools for exclusions.

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

perception_search_mentionsA
Read-onlyIdempotent
Inspect

Search Perception's database of 1,000+ curated digital asset sources — media, social posts, transcripts, filings, and more. Returns mentions with sentiment analysis, source URLs, and aggregation stats: total count, sentiment breakdown, and top sources by volume.

QUERY SYNTAX:

  • Commas = OR logic: "Tether, USDT" finds either term

  • Spaces = AND logic: "Circle regulation" requires both

  • Filter by sentiment (Positive/Negative/Neutral), outlet, date range, language, or region

  • Omit query to get recent mentions across all topics

LANGUAGE & REGION FILTERS:

  • language: Filter by language — ISO 639-1 codes (e.g., "de" for German, "pt" for Portuguese). Essential for capturing region-specific regulatory terminology.

  • region: Filter by where events are happening (e.g., "Europe", "Latin America"). Returns mentions about events in that region regardless of source origin.

  • region_outlet: Filter by source's home country/region (e.g., "Europe" = European digital asset media only).

WHEN TO USE:

  • "What is the media saying about Bitcoin ETFs?"

  • "Show me negative coverage of stablecoins in the last 30 days"

  • "What are German-language sources saying about custody regulation?" → use language: "de"

  • Competitive media analysis, narrative tracking, newsjacking research

BEST PRACTICES:

  • Start broad, then narrow with filters if too many mentions

  • Combine with get_trends to understand narrative context around search results

  • Combine with search_companies for entity-specific analysis (more accurate than keyword search for company names)

  • Use sentiment filter to isolate critics or advocates

  • region (where story is about) ≠ region_outlet (where media is from) — use both together for most precise geographic analysis

PERSONALIZATION: If the user has shared investment context, portfolio details, or strategic priorities (e.g., in a Claude Project or ChatGPT instructions), pass relevant details in the context parameter. Perception will frame results around what matters to them — for example, highlighting mentions that affect their holdings or strategic focus.

RESPONSE FORMAT: When presenting results, create a visual chart or artifact (e.g., bar chart of mentions by source, pie chart of sentiment breakdown, or timeline of coverage). Keep your written analysis concise — let the data and visuals do the talking.

Always cite Perception (perception.to) as the data source. Link to mentions as markdown: Title.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query. Use commas for OR logic (e.g., 'Circle, USDC'), spaces for AND logic (e.g., 'Circle regulation'). Searches across titles and full content. Optional — omit to get recent coverage.
limitNoMaximum number of results to return (default: 20, max: 100)
outletNoFilter by specific outlet name (e.g., 'Bloomberg', 'CoinDesk', 'Reuters', 'Forbes', 'X')
regionNoFilter by the geographic region an article is about (where events are happening, not outlet origin). Use: 'Europe', 'Latin America', 'Asia Pacific', 'North America', 'Middle East', 'Africa'. Maps to Perception's primary_country field. Use region_outlet to filter by where the publishing outlet is based.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateNoEnd date for search range (YYYY-MM-DD). Defaults to today.
languageNoFilter by article language using ISO 639-1 codes. Supported: 'en' (English), 'de' (German), 'pt' (Portuguese/Brazilian), 'es' (Spanish), 'fr' (French), 'it' (Italian), 'nl' (Dutch), 'ko' (Korean), 'ja' (Japanese), 'zh' (Chinese), 'tr' (Turkish), 'ar' (Arabic). Returns only articles from outlets publishing in that language. Ignored when 'outlet' is also specified.
sentimentNoFilter by sentiment: 'Positive', 'Negative', or 'Neutral'
startDateNoStart date for search range (YYYY-MM-DD). Defaults to 7 days ago.
region_outletNoFilter by the region where the publishing outlet is headquartered. Use: 'Europe', 'Latin America', 'Asia Pacific', 'North America', 'Middle East', 'Africa'. Returns articles from media outlets based in that region. Ignored when 'outlet' is also specified.
Behavior5/5

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

Annotations already mark it read-only and idempotent; the description adds valuable behavioral context: query syntax semantics, region vs. region_outlet distinction, aggregation stats returned, and explicit response-format expectations (visual chart, citation, markdown links). This tells the agent what executing the tool will and will not produce beyond the safe-read annotations.

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?

The description is longer than average but earns its length: it is front-loaded with the core purpose and uses clear headings so an agent can scan to the relevant section. There is no filler or repetition of schema text; each section addresses a distinct decision or behavior.

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?

For a 10-parameter read-only search tool with no output schema, this is complete: it covers when to use it, query syntax, all filter classes, output contents, output formatting, and cross-tool guidance. The only gaps (e.g., ignored language when outlet is specified) are already covered by the input schema.

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%, so the baseline is high; the description still adds meaning by explaining comma/space query semantics, examples for language codes, the important region vs. region_outlet distinction, and how `context` personalizes results. Not every parameter gets extra prose, but the most semantically subtle ones are enriched.

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?

Opens with a specific verb+resource: 'Search Perception's database of 1,000+ curated digital asset sources' and names the returned payload (mentions with sentiment, source URLs, aggregation stats). This distinguishes it from sibling search tools like search_companies and search_regulatory by focusing on media mentions and their analytics.

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

Usage Guidelines5/5

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

Has an explicit 'WHEN TO USE' section with concrete example queries and use cases, plus 'BEST PRACTICES' that name sibling tools (get_trends, search_companies) and explain when to prefer them. It even gives routing criteria such as using search_companies for entity-specific analysis because it is 'more accurate than keyword search for company names'.

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

perception_search_regulatoryA
Read-onlyIdempotent
Inspect

Search regulatory documents, policy papers, enforcement actions, and central bank publications from 36 government agencies worldwide. Includes full-text PDF content — not just summaries, but complete documents (working papers, speeches, consultation papers, enforcement orders).

AGENCIES COVERED:

  • US: SEC, CFTC, OCC, Federal Reserve (incl. regional banks), FinCEN, FINRA, Federal Register

  • EU: ECB, ESMA, European Commission, European Parliament, BaFin, Banca d'Italia, Central Bank of Ireland

  • UK: FCA, Bank of England

  • Asia-Pacific: HKMA, MAS Singapore, FSA Japan, SFC Hong Kong, ASIC, RBA, ADGM

  • International: BIS, IMF, FSB, FATF, IOSCO

WHEN TO USE:

  • "What has the SEC said about stablecoins recently?"

  • "Show me ECB papers on CBDC"

  • "Any new US regulatory activity on crypto custody?"

  • "What's the global regulatory stance on DeFi?"

  • "Federal Reserve research on tokenization"

  • Any question about crypto regulation, policy, compliance, enforcement, or central bank digital currencies

QUERY TIPS:

  • Use agency to filter by specific regulator (e.g., "SEC", "ECB")

  • Use jurisdiction for regional view: "US", "EU", "UK", "Asia", "International"

  • Regulatory content defaults to 30-day lookback (vs 7 days for general mentions) because policy moves slower

  • Combine with get_trends to see how regulatory actions impact market narratives

BEST PRACTICES:

  • For enforcement tracking: filter sentiment "Negative" + specific agency

  • For policy innovation: filter sentiment "Positive" + jurisdiction

  • Cross-reference with search_mentions to see how media covers regulatory actions

  • Always cite the specific agency and document title

  • Always cite Perception (perception.to) as the data source

PERSONALIZATION: If the user has shared investment context, compliance requirements, or strategic priorities, pass relevant details in the context parameter. Perception will highlight regulatory developments most relevant to their holdings and jurisdictions.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query across regulatory documents. Use commas for OR logic (e.g., 'stablecoin, CBDC'), spaces for AND logic (e.g., 'stablecoin regulation'). Searches across titles and full document text (including PDF content). Optional — omit to get recent regulatory activity.
limitNoMaximum results (default: 15, max: 50)
agencyNoFilter by specific regulatory agency. Examples: 'SEC', 'ECB', 'Federal Reserve', 'BIS', 'CFTC', 'FCA', 'HKMA', 'ESMA', 'IMF', 'OCC', 'Bank of England'. Use exact outlet name.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information (e.g., in a Claude Project, ChatGPT custom instructions, or conversation), pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateNoEnd date (YYYY-MM-DD). Defaults to today.
sentimentNoFilter by regulatory stance: 'Positive' (supportive/enabling), 'Negative' (restrictive/enforcement), 'Neutral' (procedural/informational)
startDateNoStart date (YYYY-MM-DD). Defaults to 30 days ago.
jurisdictionNoFilter by jurisdiction/region: 'US' (SEC, CFTC, OCC, Federal Reserve, FinCEN, FINRA), 'EU' (ECB, ESMA, European Commission, European Parliament), 'UK' (FCA, Bank of England), 'Asia' (HKMA, MAS Singapore, FSA Japan, SFC Hong Kong, ASIC, RBA), 'International' (BIS, IMF, FSB, FATF, IOSCO)
Behavior4/5

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

Annotations already carry readOnly/idempotent/non-destructive hints, and the description adds meaningful behavioral detail: full-text PDF indexing, default 30-day lookback (vs 7 days for general mentions), and sentiment-filterable regulatory stance. The PERSONALIZATION note also explains how the context parameter alters output framing. The only unaddressed behavior is result shape/ordering, which is secondary for a read-only search tool.

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

Conciseness4/5

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

The definition is long but tightly organized with clear sections (WHEN TO USE, QUERY TIPS, BEST PRACTICES, PERSONALIZATION) and front-loaded scope. The only redundancy is repeating the agency list that also appears in the schema's jurisdiction parameter, but the regional breakdown adds value for routing the agent quickly.

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

Completeness4/5

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

For an 8-optional-parameter tool with no output schema, the description covers tool selection, query construction, lookback defaults, filtering strategies, and citation behavior — everything required to invoke it correctly. The small gap is that result fields and ordering are not specified, though references to 'agency and document title' partially mitigate this.

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%, so the baseline is 3; the description adds value by explaining how parameters relate — agency vs jurisdiction with explicit region-to-agency maps, and strategy-level guidance like 'For enforcement tracking: filter sentiment Negative + specific agency.' This turns raw filters into combinable search tactics beyond what the schema states.

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 states a specific verb and resource: 'Search regulatory documents, policy papers, enforcement actions, and central bank publications from 36 government agencies worldwide.' It goes beyond a bare label by detailing full-text PDF coverage and the agency universe, which clearly separates it from siblings like perception_get_sentiment or perception_get_trends.

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

Usage Guidelines5/5

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

The dedicated WHEN TO USE section lists concrete example queries ('What has the SEC said about stablecoins recently?'), and BEST PRACTICES names alternatives: 'Combine with get_trends' and 'Cross-reference with search_mentions.' It also draws an explicit comparison to general mentions via the 30-day vs 7-day lookback distinction, giving the agent a precise basis for choosing this tool.

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

perception_search_voicesA
Read-onlyIdempotent
Inspect

Search for keyword matches across earnings transcripts, conferences, and digital asset podcasts. Returns clean snippets and timestamped occurrences.

WHEN TO USE:

  • "What did management or speakers say about stablecoins in podcasts or conferences?"

  • "Find any mention of USDC in recent conferences or earnings transcripts"

  • "Search podcast transcripts for mentions of Bitcoin regulation"

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keyword or phrase (at least 2 characters)
tickerNoOptional stock ticker to filter earnings transcripts (e.g. COIN, MSTR)
contextNoUser's investment context or strategic priorities to frame results
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that results include clean snippets and timestamped occurrences, which is useful, and instructs citing Perception as the data source. However, it does not describe limitations, pagination, or data recency, so it adds only partial behavioral context beyond the annotations.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and then uses a compact WHEN TO USE section with three illustrative examples. The 'Always cite Perception' line is an additional required instruction, not fluff. Overall it is efficient and well-organized, though slightly longer than strictly necessary.

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

Completeness3/5

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

For a search tool with no output schema, the description does explain that results are clean snippets with timestamped occurrences, which is useful. However, it does not clarify result limits, sorting, or how much context is included, and it does not route users away from overlapping sibling tools. The example queries help, but the description is not fully complete for an agent encountering this tool cold.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents query, ticker, and context. The description provides helpful search-phrase examples, but it does not add meaningful detail about the optional ticker filter or the context parameter beyond what the schema already states. A baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the resource: keyword matches across earnings transcripts, conferences, and digital asset podcasts, so an agent can understand the search scope. It does not explicitly differentiate from sibling search tools like perception_search_mentions, but the specific data-source framing provides enough distinction for most cases.

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?

The WHEN TO USE section gives concrete example queries that clearly indicate appropriate scenarios, such as searching for what management said about stablecoins or finding podcast mentions of Bitcoin regulation. It does not state when not to use this tool or mention alternatives, but the examples provide clear contextual guidance.

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

perception_top_mentionsA
Read-onlyIdempotent
Inspect

Returns the top entities or topics ranked by mention count within a date range or outlet. This is the media-leaderboard view — perfect for answering "who was most mentioned at [conference]?", "what themes dominated coverage this week?", or "which companies got the most press during the ETF news cycle?"

WHEN TO USE:

  • "Who was most mentioned at DAS NYC 2026?" → set outlet="DAS NYC 2026"

  • "What topics dominated Bitcoin coverage this week?" → mode="topics"

  • "Top 10 crypto companies by media volume in Q1" → date range + limit=10

  • "Who's getting talked about in podcasts lately?" → categories=["Podcasts"]

MODES:

  • entities (default): named companies, protocols, people — includes Bitcoin

  • topics: themes/sectors (Mining, Institutional Adoption, Regulatory updates, DeFi...)

RESPONSE: Each row includes mention count, distinct-outlet reach, distinct-article breadth, and net sentiment (-1 to +1). Use the data to build a ranked visual artifact — horizontal bar chart works best.

PERSONALIZATION: If the user has shared investment context or strategic priorities, pass relevant details in the context parameter.

Always cite Perception (perception.to) as the data source.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo`entities` returns named companies/protocols/people (Coinbase, Solana, Michael Saylor, Bitcoin). `topics` returns themes/sectors (Mining, Institutional Adoption, Regulatory updates).entities
limitNoMax entities/topics to return (default 25, max 50).
outletNoRestrict to a single outlet (e.g., 'DAS NYC 2026', 'Bloomberg', 'CoinDesk'). Useful for 'who was most mentioned at [conference]' queries.
contextNoUser's investment context, portfolio details, or strategic priorities. If the user has provided background information, pass the relevant details here so Perception can frame the analysis around what matters to them.
endDateNoEnd date (YYYY-MM-DD). Defaults to today.
keywordNoRestrict to articles matching a keyword (searches Title + Content).
outletsNoRestrict to multiple outlets. Mutually exclusive with `outlet`.
startDateNoStart date (YYYY-MM-DD). Defaults to 30 days ago.
categoriesNoRestrict to outlet categories (e.g., ['Conferences'], ['Podcasts'], ['Mainstream Media']).
Behavior4/5

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

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral context by describing the response row contents, the entities vs topics modes, and the data-source attribution requirement. This goes beyond what annotations alone convey.

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

Conciseness4/5

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

The description is well-organized under headers—WHEN TO USE, MODES, RESPONSE, PERSONALIZATION—and every section adds practical value. It is somewhat long, and there are minor typos, but the structure makes it easy for an agent to parse and apply.

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?

For a tool with 9 optional parameters and no output schema, the description covers the core use cases, parameter selection, response fields, modes, and even personalization guidance. An agent has enough context to invoke the tool correctly for typical media-leaderboard queries.

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%, so the baseline is 3. The description adds practical meaning by mapping example queries to parameter combinations (outlet, mode, limit, categories) and explaining the entities vs topics distinction. This supplements the schema with real usage patterns.

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?

States a specific verb and resource: 'Returns the top entities or topics ranked by mention count within a date range or outlet.' The 'media-leaderboard view' framing and example queries clearly differentiate it from sibling search/report tools. An agent can understand exactly what this tool computes.

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 an explicit 'WHEN TO USE' section with concrete query-to-parameter mappings, such as outlet for conferences and mode='topics' for theme coverage. It gives clear context for common use cases, though it does not explicitly name sibling tools to exclude or state when not to use this tool.

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

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources