Ryufin
Server Details
Five plain answers on ~2,400 US stocks from SEC filings: quality, safety, valuation, growth, market.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Most tools have distinct purposes: search_stocks finds companies, get_stock_overview is a snapshot, get_financial_history is a time series, get_stock_answers gives qualitative verdicts, get_answer_changes shows overnight changes, and get_company_news lists filings. There is mild overlap between get_stock_overview (includes P/E) and get_financial_history (includes pe metric), and between the two 'answers' tools, but descriptions clarify the boundaries.
Five of six tools follow a clean get_<noun> or search_<noun> verb_noun snake_case pattern. Minor inconsistency in noun phrasing (get_stock_answers vs get_answer_changes vs get_company_news) but no style mixing.
Six tools is a lean but reasonable set for single-stock research, with each tool targeting a distinct data type. It could arguably use one or two more (e.g. comparison/screening), landing just under ideal scope.
Covers discovery (search), snapshot (overview), historicals, qualitative answers, recent changes, and filings news—a solid single-stock lifecycle. Gaps include no peer-comparison or sector-batch tool despite the Smart Score being peer-relative, but agents can work around these.
Available Tools
6 toolsget_answer_changesAnswers that changedARead-onlyIdempotentInspect
Stocks whose answer to one of the five questions changed in the latest nightly run (for example Safety from Good to Watch), largest companies first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, closed-world, and idempotent, so safety is covered. The description adds genuinely new context: the data is refreshed by a nightly run and results are ordered largest companies first, plus an example of the change format. It does not describe pagination or the full return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the definition of the resource and scope, then appends the ordering rule. No filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers scope, refresh cadence, ordering, and an example of the value being surfaced. The main gap is that the 'five questions' are never enumerated or cross-referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single limit parameter, but the type/default/min/max bounds are self-explanatory. The description's 'largest companies first' hints at ordering but does not explain what limit truncates, so it neither compensates for nor contradicts the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (stocks) and a precise condition (answer to one of the five questions changed in the latest nightly run), with a concrete example of the change shape. It is distinguishable from get_stock_answers (current answers) but never names that sibling to make the contrast explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the nightly-run framing: use this to surface recently changed answers rather than current ones. However, there is no explicit when-to-use statement, no exclusion, and no pointer to get_stock_answers as the alternative for unchanged/current answers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_newsWhat the company told the SECARead-onlyIdempotentInspect
The company's own recent current reports (8-K), newest first: the date, what kind of event, the company's own sentence and a link to the filing on sec.gov.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| ticker | Yes | US ticker symbol, e.g. NVDA or BRK-B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and closed-world behavior, so the safety profile is covered. The description adds real behavioral context beyond that: results are ordered newest-first and each result contains a date, event type, a company sentence, and a sec.gov link. It omits any mention of the result limit or truncation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource and ordering front-loaded and the return fields enumerated after the colon. Efficient, though the fragment structure and slightly vague phrase 'the company's own sentence' cost a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the burden of describing the return shape, and it does so (date, event type, quote, link). Only the limit parameter's behavior and any empty-result behavior are left unaddressed, which is a minor gap for a two-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (ticker is documented, limit has no description), and the description adds nothing about either parameter — it never mentions the ticker requirement or the limit/default/max=12. With a low-ish coverage schema and no compensating text, the parameter side is under-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope (the company's own recent 8-K current reports, newest first) and enumerates the payload, so it is clearly distinguishable from siblings like get_stock_overview or get_financial_history. It loses a point only because the action is expressed as a noun phrase rather than an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative-tool routing. The 8-K framing implicitly signals this is the SEC-filings tool rather than the earnings/financials ones, but the agent must infer that from content alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financial_historyReported figures over timeBRead-onlyIdempotentInspect
A reported financial series for one stock from its SEC filings, trailing twelve months or single quarters, newest last. Metrics: pe, revenue, net_income, eps, gross_margin, op_margin, net_margin, roe, roa, roic, fcf.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | ttm | |
| metric | Yes | ||
| ticker | Yes | US ticker symbol, e.g. NVDA or BRK-B | |
| periods | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the data origin (SEC filings), the ordering guarantee ('newest last'), and the two view modes, which an agent needs to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences with no filler; the series definition comes first and supporting details follow. The full metric enumeration is redundant with the schema enum, slightly padding the length but still scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and four parameters, the description should carry more load. It covers source, ordering, modes, and metrics, but omits what 'periods' controls, whether results are sparse/missing for some metrics, and any return-shape hints, so it is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only ticker is documented), so the description must compensate. It enumerates all eleven metric values and clarifies that 'view' selects TTM versus single quarters, but 'periods' (default 12, max 40) is never explained and neither is the interaction between view and periods, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: a reported financial series for one stock sourced from SEC filings, with the two granularities (ttm vs single quarters). It is clearly distinguishable from news/overview/search siblings by its focus on reported figures, though it never names an alternative tool to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of when to prefer this over get_stock_overview or other siblings, and no prerequisites or exclusions stated. The agent must infer usage entirely from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_answersThe five answers for a stockARead-onlyIdempotentInspect
Ryufin's five answers for one stock: is the business good, is it safe, is the price fair, is it growing, what is the market doing with it. Each answer has a one-word verdict, a plain sentence, the checks it was read from (with values and dates) and, when it moved recently, what it was before.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US ticker symbol, e.g. NVDA or BRK-B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and closed-world, so safety is covered. The description adds genuine value beyond that by disclosing the response shape: a one-word verdict, a plain sentence, the underlying checks with values and dates, and prior values when something moved. Return-format detail of this kind is exactly what annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads what the tool returns and then details the payload structure. Every clause carries information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the burden of explaining return values and does so thoroughly. The only shortfall is the lack of sibling routing, which an agent calling a five-answer read tool would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single ticker parameter is fully documented in the schema with a pattern and example. The description adds nothing parameter-specific, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (the five answers for one stock) and even enumerates the five questions, so an agent knows exactly what comes back. It does not, however, distinguish this tool from close siblings like get_answer_changes or get_stock_overview, leaving the boundary to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. The fact that get_answer_changes exists and this description references 'when it moved recently, what it was before' makes the absence of routing guidance a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_overviewStock overviewBRead-onlyIdempotentInspect
Price, market value, P/E, returns, sector, Smart Score (1 to 10 against sector peers) and what the company says it does, verbatim from its latest annual report.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US ticker symbol, e.g. NVDA or BRK-B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior context — the 'verbatim from its latest annual report' sourcing and the 1-to-10 Smart Score scale — but says nothing about freshness, rate limits, or response shape for what is clearly a snapshot read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the most important fields and packs in a parenthetical scale definition without padding. It is efficiently sized for a read-only lookup, though the field list, not a verb, opens the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of explaining the return contents and does so thoroughly, including the Smart Score's scale and provenance. It would be complete except for the missing selection guidance relative to its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single ticker parameter, so the schema already carries the semantics. The description adds nothing about the ticker input, and the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates the exact contents returned (price, market value, P/E, returns, sector, Smart Score, company description), making the resource clear even without an explicit verb. It is distinguishable from siblings like get_financial_history by its breadth-of-summary framing, though it never states that distinction outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over get_financial_history, get_stock_answers, or search_stocks. The description is purely a content listing with no context or exclusions, leaving the agent to infer selection from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stocksFind a stockARead-onlyIdempotentInspect
Find US-listed companies Ryufin covers by ticker or company name. Returns ticker, name, sector, market value and the Ryufin page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Ticker or part of the company name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and a closed-world scope, so the safety profile is covered. The description adds genuine behavioral context by scoping coverage to 'US-listed companies Ryufin covers' and naming the returned fields, but it says nothing about result ordering, pagination, or what happens when the query matches nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the scope and lookup keys are front-loaded and the return value is appended second. Nothing repeats the title or restates the tool name unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully compensates by listing return fields, and annotations carry the safety profile. However, the undocumented limit parameter and the absence of any routing guidance to sibling retrieval tools leave real gaps for a tool whose main role is to feed tickers into the other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'query' is documented in the schema, and the description reinforces its accepted forms (ticker or company name). The 'limit' parameter (default 8, max 20) is undocumented in both the schema and the description, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Find US-listed companies Ryufin covers') plus the lookup keys (ticker or company name), which is unambiguous. It does not, however, distinguish it from siblings like get_stock_overview or get_stock_answers, so an agent gets no help choosing among them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the wording suggests this is a discovery/lookup step for finding a ticker, but there is no explicit when-to-use, no when-not-to-use, and no named alternative among the five sibling tools. An agent has to infer that this is the entry point before calling get_stock_overview or get_company_news.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_answer_changes - First observed
get_company_news - First observed
get_financial_history - First observed
get_stock_answers - First observed
get_stock_overview - First observed
search_stocks
Related MCP Connectors
Intrinsic stock value from SEC filings: DCF, EPV, Graham, moat signals. Deterministic, not guessed.
Real SEC EDGAR filing metrics: margin-of-safety, EPS growth, going-concern flags.
Brina Gap valuation, screener and market score for US-listed stocks. SEC data, free, no key.
9,900+ US equities, 64 years of prices, financials, technicals, and earnings. Ask in plain English.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceSEC-filed financial statements back to 1985 for US-listed companies, plus global coverage, every number cited to its filing with an accession number. 59 tools for income statements, balance sheets, cash flow, growth rates, valuation (DCF, reverse DCF, comparables, fair-value range), SEC filing and earnings-call search, supply chains, 13F holders, options positioning and thesis monitoring.MIT- AlicenseAqualityBmaintenanceEnables deep-value stock screening from SEC EDGAR XBRL filings by computing tangible book, NCAV, NNWC and net cash, checking filing-index disqualifiers, and producing equal-weight whole-share allocations and rebalance orders.29Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables risk analysis of US public companies by analyzing 8-K filings and insider activity using live SEC EDGAR data.-

akyla-mcpofficial
AlicenseAqualityBmaintenanceProvides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.