Skip to main content
Glama

ko-mcp

Server Details

Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

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 3.9/5 across 24 of 24 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a clearly distinct data domain: stock prices, financials, insider trades, institutional holdings, congress trades, crypto ETFs, economic indicators, treasury yields, SEC filings, etc. Even closely related tools like get_stock_holders and get_institution_holdings are differentiated by perspective (stock-centric vs institution-centric). The search tool acts as a navigation aid, not overlapping.

Naming Consistency4/5

The majority of tools follow a 'get_<noun>' pattern (19 out of 24), with a few using 'list_' or 'sec_' for specific purposes. This is consistent within their groups, though mixing prefixes slightly reduces uniformity. Overall, the naming is predictable and descriptive.

Tool Count4/5

24 tools cover a broad domain (stocks, institutions, crypto, macroeconomics, SEC filings, congress). While the number is slightly on the high side, each tool serves a distinct purpose and contributes to the server's comprehensive financial data scope. There is no evidence of unnecessary duplication.

Completeness5/5

The tool surface covers the full lifecycle of financial data retrieval: stock fundamentals, price history, insider trading, institutional activity, SEC filing access, crypto ETF exposure, economic indicators, and interest rates. There are no obvious missing pieces for the stated domain of SEC and market data, including both pre-trade intent (Form 144) and post-trade disclosure (Form 4).

Available Tools

24 tools
get_congress_memberAInspect

Get detailed trading history of a specific U.S. Congress member. Shows individual trades with transaction types, amounts, and disclosure dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
memberYesMember slug (e.g. 'nancy-pelosi', 'dan-crenshaw'). Use get_congress_trades or search to find exact slugs.
Behavior3/5

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

With no annotations, the description carries the full burden. It states the output includes 'individual trades with transaction types, amounts, and disclosure dates,' but does not disclose behavior like pagination, data recency, or any limitations. It is adequate but not exhaustive.

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?

Two sentences with no wasted words. First sentence states the purpose, second adds specifics about the output. Every sentence earns its place.

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 no output schema, the description explains the return values (trade details). It does not mention pagination effects or how to navigate multiple pages, which is a minor gap. Overall, fairly complete for a simple retrieval 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 coverage is only 33% (only member has description). The description adds the slug format and a source for finding slugs, which compensates well. It does not detail page or limit beyond schema, but the defaults and constraints are clear from 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 clearly states the verb 'Get detailed trading history' and specifies the resource 'specific U.S. Congress member'. It distinguishes from sibling tools like get_congress_trades by focusing on a single member's detailed trades.

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

Usage Guidelines3/5

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

The description implies usage to get detailed history for a specific member, and the member parameter description hints at using get_congress_trades or search to find slugs. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions.

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

get_congress_tradesAInspect

Search individual stock trades disclosed by U.S. Congress members (House and Senate) under the STOCK Act. Returns a markdown table of transactions: member name, chamber, ticker, buy/sell type, transaction date, disclosure date (the gap between the two reveals reporting delay), dollar amount range, and owner (self/spouse/joint). Use for questions like 'What did Nancy Pelosi trade recently?', 'Which members bought NVDA?', or 'Show the largest Senate trades this quarter'. Filter by chamber, party, state, ticker, or member name; sort by traded value, trade count, or recency. For one member's profile and complete trading history, use get_congress_member instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default 1)
sortNoSort order — volume (most traded value), trades (most trades), recent (latest first)volume
limitNoTrades per page, 1-50 (default 20)
partyNoFilter by party — D=Democrat, R=Republican, I=Independentall
stateNoMember 2-letter U.S. state code, e.g. CA or TX
searchNoFull or partial member name, e.g. 'Pelosi' or 'Dan Crenshaw'
tickerNoStock ticker symbol to filter by, e.g. NVDA or AAPL
chamberNoCongressional chamber: house, senate, or all (default all)all
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool returns a markdown table with specific columns (e.g., member name, ticker, dates) and explains the disclosure date gap reveals reporting delay. It describes filtering and sorting options but does not explicitly mention pagination behavior (though schema has page/limit). Overall, it provides sufficient behavioral context for correct invocation.

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 concise with three sentences, front-loaded with purpose. It efficiently covers what the tool does, how to use it, and when to use an alternative. Every sentence adds value, and the structure is logical.

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 no output schema, the description fully explains the return format (markdown table with 8 columns) and includes example questions. It covers all 8 parameters (schema provides descriptions) and gives contextual cues for filtering and sorting. The tool's complexity is moderate, and the description provides complete guidance for appropriate 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 baseline is 3. The description reiterates filter/sort options in natural language, but the schema already provides equivalent descriptions (e.g., sort enum values, party codes). The description adds no new semantic meaning beyond the schema; it only integrates them into usage examples. Therefore no improvement over baseline.

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 purpose: 'Search individual stock trades disclosed by U.S. Congress members... Returns a markdown table...'. It identifies the specific verb and resource (search/returns congress trades) and distinguishes itself from the sibling tool 'get_congress_member' by noting the latter provides a member's complete trading history.

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 explicitly tells when to use the tool: 'Use for questions like...' and provides example queries. It also gives a clear alternative: 'For one member's profile and complete trading history, use get_congress_member instead.'

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

get_crypto_exposureAInspect

Get a market-wide summary of institutional exposure to US spot crypto ETFs (Bitcoin ETF complex: IBIT, FBTC, GBTC, etc.) from the latest quarter of SEC 13F filings. Returns total institutional USD held, quarter-over-quarter change, and a per-ETF breakdown (holders, USD, QoQ).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description fully discloses the behavior: it returns total USD, quarter-over-quarter change, and per-ETF breakdown. It does not mention potential side effects, but as a read-only tool this is acceptable.

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

Conciseness5/5

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

The description is one clear sentence that front-loads the purpose and enumerates the return fields concisely. Every word adds value, with no 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?

Given the lack of output schema, the description adequately explains what the tool returns (total USD, QoQ change, per-ETF breakdown). It covers all necessary context for a read-only aggregation 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?

The tool has zero parameters, so the baseline score of 4 applies. The description adds no parameter information, but none is needed.

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 'Get' and clearly identifies the resource as 'a market-wide summary of institutional exposure to US spot crypto ETFs from the latest quarter of SEC 13F filings'. This distinguishes it from sibling tools like get_crypto_holder and get_institution_holdings, which focus on individual holdings rather than market-wide ETF exposure.

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 states the data source (SEC 13F filings) and scope (latest quarter), making it clear when to use this tool for aggregated ETF exposure data. However, it does not explicitly exclude alternatives or provide guidance on when not to use it.

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

get_crypto_holderAInspect

Get one institution's spot crypto-ETF holdings (Bitcoin ETF complex): its per-ETF positions in the latest filed quarter (shares, USD, QoQ change, action) plus its rank among all crypto-ETF holders. Use a CIK number (find it with get_crypto_holders or the search tool).

ParametersJSON Schema
NameRequiredDescriptionDefault
institutionYesInstitution CIK number (e.g. '1512857' for Brevan Howard) or name (e.g. 'BlackRock').
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the data returned (per-ETF positions, rank) and the data source (spot crypto-ETF holdings, Bitcoin ETF complex) but does not explicitly state that the tool is read-only or disclose any other behavioral traits such as rate limits or side effects.

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 concise, with two sentences that front-load the key purpose and details. Every sentence adds value with no wordiness.

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 the single parameter and no output schema, the description thoroughly explains what the tool returns (per-ETF positions, shares, USD, QoQ change, action, rank) and how to find the input, making it complete for the agent to use 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% coverage for the single parameter 'institution', describing it as a CIK number or name. The description adds the context of finding the CIK via other tools, reinforcing the parameter's purpose without adding new semantic information.

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 retrieves one institution's spot crypto-ETF holdings, specifying details like per-ETF positions and rank. It distinguishes from sibling tools such as get_crypto_holders and get_crypto_exposure.

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 explicitly advises using a CIK number and directs users to get_crypto_holders or search to find it, providing clear context for when to use this tool. However, it does not explicitly state when not to use it or mention alternatives.

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

get_crypto_holdersAInspect

List institutional investors holding US spot crypto ETFs (Bitcoin ETF complex), ranked by total USD held, from the latest quarter of SEC 13F filings. Optionally filter to holders of a specific ETF via the product parameter (e.g. 'IBIT').

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
limitNoResults per page
productNoFilter to holders of a specific spot crypto ETF ticker, e.g. 'IBIT', 'FBTC', 'GBTC'.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that data is from the latest quarter of SEC 13F filings and that results are ranked, which provides some behavioral context. However, it does not mention read-only nature, rate limits, or pagination behavior explicitly.

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 two sentences, front-loading the main action and including essential details. Every part adds value with no redundancy or wasted words.

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 no output schema or annotations, the description provides key context: data source (SEC 13F), ranking (total USD held), and filtering. It could additionally mention that results are paginated (page/limit parameters exist in schema), but overall it is sufficiently complete for a list tool.

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% with all three parameters documented in the schema. The description adds some extra context (e.g., example 'IBIT' for product filter and explanation of ranking), but since the schema already covers parameter meanings, the description's added value is modest, warranting the baseline score of 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 clearly states the tool lists institutional investors holding US spot crypto ETFs, ranked by total USD held, from SEC 13F filings. It also mentions optional filtering by product, which distinguishes it from sibling tools like get_crypto_holder or get_crypto_exposure.

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

Usage Guidelines3/5

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

The description implies usage for listing holders of crypto ETFs and optionally filtering by product. However, it does not explicitly state when to use this tool versus alternatives like get_crypto_holder (singular) or search tools, nor does it mention when not to use it.

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

get_economic_indicatorsAInspect

Get U.S. economic indicators from BLS — CPI (inflation), PPI (producer prices), Non-farm Payrolls (employment), Unemployment Rate, JOLTS. Filter by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of history (default 365)
categoryNoCategory (case-insensitive): cpi/inflation, ppi, nfp/payrolls, unemployment, jolts, or allall
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It describes the data source (BLS) but fails to disclose behavioral details like rate limits, data freshness, or whether the operation is read-only (though implied).

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?

Single sentence, no wasted words, all essential information presented upfront.

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?

Given no output schema and simple parameters, the description is adequate but could be more complete by specifying the time range behavior (the 'days' parameter) or data update frequency.

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 description adds only modest value by naming the categories and clarifying that 'cpi' means inflation. The description does not provide additional syntax or format details 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?

Description clearly states it gets U.S. economic indicators from BLS, lists specific indicators (CPI, PPI, Non-farm Payrolls, etc.), and mentions filtering by category. This distinguishes it from sibling tools like get_fed_rates or get_treasury_yields.

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

Usage Guidelines3/5

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

The description implies usage for retrieving economic indicators, but does not explicitly state when to use this tool versus alternatives (e.g., get_fed_rates) or when not to use it.

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

get_fed_ratesAInspect

Get daily U.S. policy and money-market interest rates as a markdown table: Effective Fed Funds Rate, SOFR, Prime Rate, and benchmark Treasury yields (3M, 2Y, 10Y, 30Y) per date, newest first. Use for monetary-policy questions like 'Where is the Fed funds rate now?' or 'How has SOFR moved this quarter?', or to compare policy rates against long-end yields for inversion analysis. Covers up to 10 years of daily history. For the full Treasury curve across all maturities, use get_treasury_yields instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of history (default 30)
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses output format (markdown table), sort order (newest first), and historical coverage (up to 10 years). Does not mention data source or update frequency, but sufficient for basic usage.

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?

Three sentences, front-loaded with core functionality, followed by use cases and alternative tool. No wasted words.

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?

No output schema, but description explains return format (markdown table with specific rates), ordering, and historical scope. All relevant context provided for a simple tool.

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% (one parameter with description). Description does not add significant new parameter meaning beyond the schema, but mentions 'Covers up to 10 years' which aligns with max days. Baseline score of 3 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?

Description clearly states it gets daily U.S. interest rates, lists specific rates (Fed Funds, SOFR, Prime, Treasury yields), and specifies output as a markdown table. It distinguishes itself from get_treasury_yields.

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?

Provides explicit use cases like monetary-policy questions and inversion analysis. Includes when to use alternative (get_treasury_yields for full curve).

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

get_financial_stressAInspect

Get the OFR Financial Stress Index — a daily indicator of stress in global financial markets. Values above 0 indicate above-average stress.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of history (default 365)
Behavior3/5

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

Without annotations, the description reveals the index is daily and shows value interpretation. However, it does not disclose whether the tool is read-only, historical coverage, or any other behavioral traits beyond the basic definition.

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?

Two sentences, tightly focused. No redundancy, front-loaded with the key action and result.

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 tool with one parameter and no output schema, the description is fully sufficient. It explains the index meaning and value interpretation, leaving no gaps.

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% for the single 'days' parameter, so baseline of 3 applies. The description adds no extra context beyond what the schema already provides (number of days of history).

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?

Clearly identifies the tool as retrieving the OFR Financial Stress Index, a specific daily indicator of global financial market stress, with a clear value interpretation. Distinct from siblings like get_economic_indicators or get_fed_rates.

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

Usage Guidelines3/5

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

Describes what the tool does but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_economic_indicators). Implied usage from the specific index name, but lacks when-not or comparison.

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

get_form144_noticesAInspect

Get SEC Form 144 filings — notices of proposed sale of restricted/controlled securities by insiders. Filed before selling, these signal upcoming insider sales. Complements Form 4 (post-trade) with pre-trade intent.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax notices to return
tickerNoFilter by stock ticker (e.g. 'AAPL')
insider_cikNoFilter by insider's CIK number
Behavior4/5

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

No annotations provided, but the description discloses the behavioral nature: retrieving pre-trade insider sale notices, which signals upcoming sales. It implies safe read operation without destructive actions, though it could mention rate limits or authentication needs.

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?

Two sentences, no fluff, front-loaded with the core purpose and immediately provides context about its use relative to Form 4.

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 no output schema and no annotations, the description explains the data type (pre-trade notices) and its significance. It lacks details about the return format but is sufficient for a simple list tool.

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 covers all 3 parameters with descriptions. The tool description does not add any extra meaning or examples beyond what the schema already provides.

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?

Clearly states the tool retrieves SEC Form 144 filings, which are notices of proposed sale of restricted securities by insiders. It distinguishes from Form 4 and sibling tools by emphasizing pre-trade intent vs. post-trade reporting.

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?

Implies usage context by contrasting with Form 4 (post-trade), helping the agent decide between this and related tools like 'get_insider_trades'. However, does not explicitly state when to use or not use this tool.

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

get_ftd_dataBInspect

Get SEC Failures-to-Deliver (FTD) data for a stock. High FTD quantities may indicate naked short selling or settlement issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of history (default 90)
tickerYesStock ticker symbol (e.g. 'GME', 'TSLA')
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose output format, data source, or any limitations (e.g., data lag, ticker availability). The interpretation hint is useful but not sufficient for behavioral clarity.

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?

Two sentences efficiently convey purpose and context. No redundancy, but could benefit from a structured format or example usage.

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 simple 2-parameter tool with no output schema, description provides basic purpose and interpretation hint. Lacks information about output structure or data coverage, leaving gaps for 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 coverage is 100% with clear descriptions for both parameters. Description adds no additional meaning beyond the schema, so baseline score 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?

Description clearly states it gets SEC FTD data for a stock, using specific verb+resource. It distinguishes from sibling tools like get_stock_price or get_insider_trades that cover other stock metrics.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative guidance. However, the specificity of FTD data implies usage context, but fails to mention when not to use or point to siblings for other stock data.

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

get_insider_tradesAInspect

Get insider/executive stock trades (SEC Form 4) for a company. Shows CEO, CFO, directors, and other officers buying or selling their own company's stock — a key signal for institutional investors.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax trades to return
tickerYesStock ticker symbol (e.g. 'AAPL')
executive_cikNoFilter by specific executive CIK (from list_insider_traders)
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It fails to mention pagination behavior, data freshness, rate limits, or what happens on invalid tickers. It only vaguely implies the data source (SEC Form 4) without detailing output structure or limits.

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 extremely concise at two sentences, front-loading the core purpose (get insider trades) and adding valuable context (SEC Form 4, types of executives, signal value) without any unnecessary words.

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?

Given that there is no output schema, the description should explain the return format (e.g., trade date, transaction type, shares, price). It does not, which leaves a significant gap. It adequately covers the purpose and filtering option but omits output structure details.

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%, with each parameter having clear descriptions (ticker symbol, limit with defaults, CIK filter from list_insider_traders). The description adds no parameter-specific details beyond the schema, so it meets the baseline expectation.

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 it retrieves insider stock trades from SEC Form 4 for a company, specifying the types of executives (CEO, CFO, directors, officers) and the trading direction (buying/selling). This effectively distinguishes it from sibling tools like get_congress_trades or list_insider_traders.

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

Usage Guidelines3/5

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

The description provides some contextual use guidance by calling it a 'key signal for institutional investors' and hints at a prerequisite by mentioning filtering by CIK from list_insider_traders. However, it does not explicitly state when to use this tool versus alternatives like get_form144_notices or get_stock_activity.

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

get_institution_holdingsAInspect

Get current stock holdings of an institutional investor (hedge fund, mutual fund, pension fund) from their latest SEC 13F filing. Returns top positions with share counts, values, and quarter-over-quarter changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
limitNoResults per page
institutionYesInstitution CIK number (e.g. '1067983'), slug (e.g. 'berkshire-hathaway'), or name (e.g. 'Berkshire Hathaway') — names are resolved automatically.
Behavior4/5

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

With no annotations, the description carries full burden. It explains the source (SEC 13F), result structure (top positions, values, changes), and implies read-only behavior. It does not explicitly state non-destructiveness or rate limits, but the retrieval nature and lack of mutation verbs make it clear. The description adds value beyond the schema by describing the return content.

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 extremely concise—two sentences that immediately convey purpose and output. There is no fluff or redundancy; every word serves a purpose. It is front-loaded with the core action and result.

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 retrieval tool with three well-described parameters and no output schema, the description provides sufficient context. It explains the input (institution), the data source (SEC 13F), and the output (top positions with shares, values, changes). Pagination is handled by the schema, so no additional explanation is needed.

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%, with each parameter (institution, page, limit) having a clear description. The tool description adds no additional meaning beyond what the schema provides. Per the rule, high coverage warrants a baseline of 3, which is appropriate here.

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 purpose: retrieving stock holdings of an institutional investor from SEC 13F filings. It specifies the resource (institutional investor holdings), action (get), and scope (latest 13F, top positions with share counts, values, and quarter-over-quarter changes). This effectively distinguishes it from siblings like get_stock_holders (which retrieves holders of a specific stock) and list_institutions (which lists institutions, not holdings).

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

Usage Guidelines3/5

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

The description implies usage by stating what the tool does but does not explicitly provide when to use it versus alternatives or when not to use it. There is no direct comparison to siblings such as get_stock_holders or get_insider_trades, so the agent must infer the appropriate context. A score of 3 reflects adequate but missing explicit guidance.

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

get_stock_activityAInspect

Get institutional buying/selling activity trend for a stock over multiple quarters. Shows how many institutions are buying vs selling, net share changes, and value flows — useful for detecting accumulation or distribution patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
quartersNoNumber of quarters to return (default 8 = 2 years)
Behavior3/5

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

With no annotations provided, the description must fully disclose behavior. It describes the output conceptually (buying vs selling counts, net share changes, value flows) but lacks details on data source, update frequency, pagination, rate limits, or any potential side effects. As a read operation, the description is adequate but not thorough.

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

Conciseness5/5

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

The description is two sentences: the first states the core functionality and scope, the second adds detail and a use case. Every word adds value with no redundancy or fluff.

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?

Given no output schema, the description explains what the output contains (buying/selling counts, net share changes, value flows). It covers the tool's purpose and output basics, but lacks specifics like data ranges, formats, or limitations. Missing some context that could help an agent, such as time range constraints or data freshness.

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% with both 'ticker' and 'quarters' described. The description adds context by mentioning 'over multiple quarters' and implying the default of 8 quarters, but does not significantly enhance understanding 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 clearly states the action ('Get'), resource ('institutional buying/selling activity trend for a stock'), and temporal scope ('over multiple quarters'). It differentiates from siblings by emphasizing trend analysis over quarters and lists specific output elements (buying vs selling, net share changes, value flows) and a use case (detecting accumulation/distribution patterns).

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

Usage Guidelines3/5

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

The description provides a use case ('useful for detecting accumulation or distribution patterns') but does not explicitly state when to use this tool over alternatives like get_institution_holdings or mention any exclusion criteria. The context implies time-series analysis, but no direct contrast to sibling tools is given.

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

get_stock_financialsAInspect

Get quarterly or annual financial statements for a company (revenue, net income, EPS, margins, cash flow, debt ratios) from SEC 10-K/10-Q filings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of periods to return (default 8)
tickerYesStock ticker symbol (e.g. 'AAPL', 'MSFT')
period_typeNoPeriod type — quarterly (10-Q) or annual (10-K)quarterly
Behavior3/5

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

With no annotations, the description discloses data source (SEC filings) and period types (quarterly/annual). However, it lacks details on caching, update frequency, pagination behavior, or response format, leaving gaps in behavioral transparency.

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?

A single, front-loaded sentence efficiently communicates the tool's purpose and key parameters. No redundant information.

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 no output schema, the description lists the metrics contained in financial statements, providing reasonable context for the agent. However, it does not specify the response structure (e.g., array of period objects).

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 listing example financial metrics (revenue, net income, EPS, margins, etc.), which conveys what the returned data includes.

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 action ('Get'), resource ('quarterly or annual financial statements for a company'), and specifics (revenue, net income, EPS, etc.) from SEC filings. This distinguishes it from sibling tools like get_stock_price or get_economic_indicators.

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

Usage Guidelines3/5

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

The description implies usage for financial statement data but does not explicitly state when to use this tool versus alternatives or when not to use it. No alternatives or exclusions are mentioned.

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

get_stock_holdersAInspect

Get top institutional holders of a stock from SEC 13F filings. Shows which hedge funds, mutual funds, and pension funds own the most shares, with quarter-over-quarter changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
limitNoResults per page
tickerYesStock ticker symbol (e.g. 'NVDA')
Behavior3/5

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

No annotations provided, so the description carries full burden. It explains the data source (SEC 13F) and that it shows quarter-over-quarter changes, but does not disclose any behavioral traits like read-only, pagination limits, or latency. Adequate but not comprehensive.

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

Conciseness5/5

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

Two concise sentences that front-load the purpose and include key details (source, entities covered, quarter-over-quarter changes). No wasted words.

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 the lack of output schema, the description gives sufficient idea of what is returned (top holders, entities, and quarter-over-quarter changes). Parameter coverage is full. However, it does not mention potential errors or response structure, which would elevate it further.

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 covers 100% of parameters with descriptions. The description does not add significant meaning beyond what the schema provides for ticker, page, and limit. The context of 'top institutional holders' is already clear from the purpose.

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?

Clearly states the verb 'Get', resource 'top institutional holders of a stock', and source 'SEC 13F filings'. Also mentions quarter-over-quarter changes, providing a specific and informative purpose that distinguishes it from general institutional holdings tools.

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

Usage Guidelines3/5

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

The description implies usage for institutional holders from 13F filings but does not explicitly state when to use it versus other similar tools like get_institution_holdings. No guidance on prerequisites or alternatives.

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

get_stock_priceAInspect

Get historical daily stock prices (OHLC). Returns a summary by default; set series=true to get the full daily price series (for backtesting / charting).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows of the daily series to return when series=true.
periodNoLook-back window1y
seriesNoIf true, return the full daily OHLC series (up to `limit` rows) instead of just a summary.
tickerYesStock ticker symbol
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It discloses the two modes and the nature of output (OHLC historical data). It does not mention rate limits or authentication, but for a read-only data retrieval tool, the description is adequate. It does not contradict any 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?

Two sentences with no unnecessary words. The first sentence states the core purpose, the second explains the key mode toggle. Every word contributes meaning.

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?

Given no output schema, the description includes 'OHLC' but does not detail all fields (e.g., volume). For a tool with 4 parameters and clear schema descriptions, it covers the essential behavior but leaves some ambiguity about exact output structure.

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 parameters are well-documented. The description adds value by explaining the default behavior (summary) and how series=true changes the output, including the use case ('for backtesting/charting'). This goes beyond the 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 description clearly states 'Get historical daily stock prices (OHLC)', which is a specific verb+resource. It distinguishes itself from siblings like get_stock_activity and get_stock_financials by focusing on price data, and further differentiates between summary and full series modes.

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 gives clear context: returns a summary by default, and set series=true for the full series (e.g., backtesting/charting). It does not explicitly list when not to use it, but the guidance is sufficient for choosing the appropriate mode.

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

get_stock_profileAInspect

Get a company's profile — sector, market cap, price, P/E ratio, 52-week range, beta, dividend yield, and other key financials.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g. 'AAPL', 'NVDA', 'MSFT')
Behavior3/5

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

No annotations are provided, so the description carries full burden. It lists the output contents but does not disclose behavioral traits such as data freshness, rate limits, or any side effects (the tool is read-only). The description is accurate but lacks depth beyond output listing.

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 a single sentence that is clear and to the point. Every word contributes meaning, and the structure is front-loaded with the key action and resource.

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 the tool's simplicity (one parameter, no output schema), the description adequately covers what the tool does. However, with many sibling tools, a brief note differentiating this 'profile' from 'financials' or 'price' would improve completeness for an AI agent deciding among options.

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% with only one parameter (ticker). The description adds example tickers in parentheses, which is helpful but not significantly beyond the schema's description ('Stock ticker symbol'). 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 uses a specific verb 'get' with a resource 'company profile' and enumerates key financial metrics (sector, market cap, price, P/E ratio, etc.). This clearly distinguishes it from sibling tools like 'get_stock_price' or 'get_stock_financials' which focus on narrower data.

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

Usage Guidelines3/5

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

The description implies usage for obtaining a broad financial snapshot, but it does not explicitly state when to use this tool versus alternatives like 'get_stock_financials' or 'get_stock_holders'. No exclusion criteria or when-not-to-use guidance is provided.

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

get_treasury_yieldsAInspect

Get U.S. Treasury yield curve data — daily yields for maturities from 1-month to 30-year. Essential for understanding interest rate environment and yield curve shape.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of daily history to return, 1-3650 (default 30 = last month)
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions 'daily history' and maturities but does not disclose if the operation is read-only, required permissions, or rate limits. Adequate but not rich behavioral context.

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?

Single sentence with core information front-loaded ('Get U.S. Treasury yield curve data'). Concise with no wasted words, though could be slightly more structured.

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 tool with one parameter and no output schema, the description adequately explains the returned data (daily yields, maturities) and purpose. Missing details like data format but sufficient for 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?

Only one parameter 'days' with 100% schema description coverage. The description does not add meaning beyond the schema's description of the parameter, so 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?

Description clearly states verb 'Get', resource 'U.S. Treasury yield curve data', and specifies daily yields for maturities from 1-month to 30-year. This distinguishes it from sibling tools like get_fed_rates or get_economic_indicators.

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?

Description indicates it is 'essential for understanding interest rate environment and yield curve shape', providing clear context for when to use. However, it does not explicitly state when not to use or mention alternatives among siblings.

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

list_insider_tradersBInspect

List executives/insiders who have recently traded their company stock. Filter by role (CEO only or all executives). Useful for finding notable insider buying/selling activity across the market.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
roleNoFilter by role (case-insensitive): CEO, executive/officer, or allall
limitNo
searchNoSearch by name or ticker
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions 'recently traded' but does not specify recency criteria, pagination behavior, sorting, or any side effects. Essential information for an agent is missing.

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 two sentences, efficient with no fluff. However, it could be structured more clearly with separate sentences or bullets for each parameter to improve readability.

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

Completeness2/5

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

Given no output schema and 4 parameters with mixed documentation, the description should clarify output format, data freshness, and pagination. It does not provide enough for an agent to confidently invoke the tool without additional assumptions.

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

Parameters2/5

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

Schema description coverage is 50% (only 'role' and 'search' have descriptions). The tool description adds a use case for role filtering but does not explain 'page' or 'limit' parameters. It fails to compensate for incomplete 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 clearly states it lists executives/insiders who recently traded their company stock, with filtering by role. It distinguishes from the sibling 'get_insider_trades' which likely provides specific trade details for an individual.

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 mentions it is useful for finding notable insider buying/selling activity, implying a broad market overview. However, it does not explicitly compare to alternatives like 'get_insider_trades' 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.

list_institutionsBInspect

List top institutional investors (hedge funds, mutual funds, etc.) tracked in the SEC 13F database. Supports search by name and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
limitNoResults per page
searchNoSearch by institution or founder name
Behavior3/5

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

With no annotations, the description carries the burden. It mentions search and pagination, which are key behaviors, but lacks details like authentication requirements, rate limits, or what 'top institutional investors' means (e.g., sorted by AUM?). It is adequate but not thorough.

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

Conciseness5/5

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

Two concise sentences. The first describes the main purpose, the second adds features. No filler or repetition. Efficient and 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?

For a simple list tool without an output schema, the description covers the source (SEC 13F), search, and pagination. It lacks detail about the output fields (e.g., name, CIK) but is mostly complete for decision-making.

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% with descriptions for all three parameters. The tool description adds 'search by name' which aligns with the schema's 'search by institution or founder name', but adds no new meaning beyond what the schema provides. 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 states the tool lists top institutional investors from the SEC 13F database, specifying types like hedge funds and mutual funds. It distinguishes from sibling tools like 'get_institution_holdings' which likely returns holdings for a specific institution.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. For example, it does not clarify that 'get_institution_holdings' is for viewing a specific institution's holdings, not listing all institutions. The description should specify that this is for browsing/searching the universe of institutions.

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

sec_get_filing_documentAInspect

Get a source document from a SEC filing, served by ko.io. Returns a ko.io LINK to the rendered document (open in a browser) plus, optionally, an extracted text excerpt. Never returns the whole file — for full content, open the link or request a specific section.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikYesCompany CIK number
fileNoFile name within the filing (from sec_get_filing_index). Omit for the primary document.
accession_noYesAccession number, e.g. '0000320193-23-000106'
include_excerptNoInclude a text excerpt (first ~6000 chars) in the response
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It transparently states that the tool returns a link and an optional excerpt, and that it never returns the entire file. This covers the key behavioral trait of partial retrieval, but could mention authentication or rate limits if applicable.

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 concise, using two sentences to convey purpose and constraint without unnecessary information. Every word contributes to clarity.

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 the lack of an output schema, the description adequately explains the return format (link and optional excerpt). The constraint about not returning the whole file is included. However, it could be more explicit about what 'request a specific section' entails, though that may be outside the tool's scope.

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 parameters have descriptions in the schema (100% coverage), so the description adds limited new meaning. It contextualizes the include_excerpt parameter by mentioning the optional excerpt, but does not elaborate on parameter usage 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 clearly states it retrieves a source document from an SEC filing, specifying the resource (SEC filing document), the action (get), and the provider (ko.io). It distinguishes itself from sibling tools like sec_list_filings and sec_get_filing_index by focusing on obtaining a specific document.

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

Usage Guidelines3/5

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

The description provides usage context by noting that the tool never returns the whole file and advises opening the link or requesting a specific section for full content. However, it does not explicitly compare to alternatives 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.

sec_get_filing_indexAInspect

Enumerate every file in a single SEC filing (primary document, exhibits, images, XBRL, the full .txt submission). Pass a file name from here to sec_get_filing_document.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikYesCompany CIK number
accession_noYesAccession number, e.g. '0000320193-23-000106'
Behavior4/5

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

Despite no annotations, the description discloses the scope: 'primary document, exhibits, images, XBRL, the full .txt submission.' It accurately describes the tool's behavior without hiding any relevant details.

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 a single sentence plus a brief instruction. Every word is necessary and contributes to understanding. No redundancy or irrelevant 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?

Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description fully explains what the tool does and how to use its output. It is complete for an AI agent to select and invoke 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 coverage is 100% with clear parameter descriptions (cik: Company CIK number; accession_no: Accession number with example). The description does not add additional semantics beyond what the schema already provides, meeting the baseline for full 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 clearly states 'Enumerate every file in a single SEC filing', specifying the action (enumerate) and resource (files in an SEC filing). It distinguishes itself from sibling tools like sec_get_filing_document (which retrieves a specific document) and sec_list_filings (which lists filings).

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 workflow guidance: 'Pass a file name from here to sec_get_filing_document.' This tells the agent how to use the tool's output with a sibling tool. It does not explicitly state when not to use it, but the purpose is clear enough.

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

sec_list_filingsAInspect

List an entity's SEC filings from EDGAR (most recent first), each with its accession number. Provide the company's CIK (use search or get_stock_profile to find it). Returns accession numbers to pass to sec_get_filing_index / sec_get_filing_document.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoLatest filing date, ISO YYYY-MM-DD
cikYesCompany CIK number (e.g. '320193' for Apple)
fromNoEarliest filing date, ISO YYYY-MM-DD
limitNoMax filings to return
form_typeNoExact SEC form filter, e.g. '10-K', '13F-HR', '8-K'
Behavior3/5

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

No annotations provided, so description carries full burden. Discloses that results are returned most recent first and include accession numbers. Does not disclose potential limitations like pagination (though limit parameter exists), rate limits, or behavior when no filings found. Could be more transparent about read-only nature.

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?

Two sentences. Front-loaded with main action. No fluff. Could be slightly more structured (e.g., separate prerequisites), but very efficient.

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?

No output schema. Description mentions returned accession numbers and their use, but not other possible response fields. Parameters are well-documented in schema, but potential error conditions, pagination behavior, and default values are not described. Adequate but could be more complete.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. Description adds value by explaining that CIK is required and how to obtain it, and implies the ordering (most recent first) which is not a parameter. Provides context beyond 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 clearly states the verb (List), resource (SEC filings from EDGAR), ordering (most recent first), and what each filing includes (accession number). It distinguishes from siblings by noting that returned accession numbers are used to pass to sec_get_filing_index / sec_get_filing_document.

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?

Explicitly instructs the user to provide the company's CIK and how to find it ('use search or get_stock_profile to find it'). Implies the tool is used before sec_get_filing_index and sec_get_filing_document. Does not explicitly state when not to use, but gives clear context.

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

Discussions

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

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources