Nomina
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NominaCompare Apple and Microsoft over the last month, with price history and related news."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nomina
Markets research for agents.
Four read-only tools, no API key, no account, no trading access:
search_markets— find ticker symbols and dated headlines for a company, asset, sector, or market topic.research_asset— quote, period return, drawdown and volatility, dated price history, and related news for one symbol, over a named period or an exact date window.compare_assets— align 2–6 symbols on shared observation dates, in local currencies, with an explicit adjusted-vs-raw basis.market_overview— period returns for major indexes, rates, the dollar, gold, oil, BTC, ETH and EURUSD.
Install
Claude Desktop: Settings → Extensions → Advanced settings → Extension Developer →
Install Extension… → select Nomina.mcpb from a
release (or build it yourself, see below). Requires a Claude Desktop
release with MCPB v0.4 UV-runtime support and internet access on first install.
Any other MCP client (Claude Code, etc.): point it at this as a local stdio server:
{
"mcpServers": {
"nomina": {
"command": "uv",
"args": ["run", "--frozen", "--no-dev", "--directory", "/path/to/nomp", "server.py"]
}
}
}Self-hosted (Streamable HTTP): docker run --rm -p 8000:8000 ghcr.io/nomina-xyz/nomina-mcp:1.3.0,
then connect to http://localhost:8000/mcp. Details in the docs below.
Related MCP server: FinanceKit MCP
Docs
Install guides, tool reference, privacy policy, and data-source limits: https://nomina-xyz.github.io/nomina-mcp/ — see especially Data sources and limits.
Build from source
Requires uv.
uv sync
uv run python scripts/build_bundle.py # writes dist/Nomina.mcpb
uv run pytest -q # 14 tests
uv run ruff check .License
Code in this repository is MIT-licensed (see LICENSE).
Available Tools
4 toolscompare_assetsCompare assetsARead-onlyIdempotent
Compare 2–6 distinct symbols over aligned observation dates in their local currencies.
Example: ['NVDA', 'AMD', 'SPY']. Includes period returns, actual dates, source URLs,
adjustment basis and individual failures. No FX conversion or trading advice.
Give start and end (YYYY-MM-DD) for an exact window instead of period.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ISO date, inclusive; requires start. | |
| start | No | ISO date, inclusive; requires end. | |
| period | No | 3mo | |
| symbols | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, and open-world behavior. The description adds valuable behavioral context beyond those annotations: aligned observation dates, local currencies, inclusion of period returns, actual dates, source URLs, adjustment basis, and individual failures. This gives the agent a strong sense of what the tool returns and its limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. The first sentence states the core purpose, followed by an example, output contents, limitations, and parameter guidance. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema and rich annotations, the description covers the essential user-facing behavior: symbol count, period vs. exact-date selection, output contents, and explicit non-goals. An agent has enough information to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: start and end are documented in the schema, while symbols and period rely on types/enums. The description adds useful context by stating the 2–6 symbol range and advising start/end for an exact window instead of a period. It does not fully compensate for the period parameter semantics, but the enum values are largely self-explanatory.
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 starts with a specific verb and resource: 'Compare 2–6 distinct symbols over aligned observation dates in their local currencies.' This clearly identifies what the tool does and distinguishes it from sibling tools like search_markets or market_overview. The example symbols further reinforce the intended use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is for multi-asset comparisons and explicitly excludes FX conversion and trading advice. It also gives clear directional guidance on choosing an exact start/end window instead of a preset period. However, it does not explicitly name alternative tools or state when not to use this tool in favor of a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_overviewMarket overviewARead-onlyIdempotent
Snapshot of major indexes, rates, dollar, gold, oil, BTC/ETH and EURUSD with period returns.
Read-only; not a recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 1mo |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the description only adds 'Read-only; not a recommendation.' This is a useful disclaimer but does not reveal additional behavioral traits such as data recency, source, or refresh behavior. No contradiction with annotations exists.
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, purposeful lines. The core resource and output are front-loaded, and the disclaimer is kept separate. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only overview tool with one optional enum parameter, an output schema, and rich annotations, the description covers purpose, scope, and a caution. Nothing essential for an agent to select and invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the only parameter is a self-explanatory enum with a default. The phrase 'period returns' hints that the period parameter controls the return horizon, adding some meaning beyond the schema, though it does not explain each enum value or default behavior in detail.
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 action and resource: 'Snapshot of major indexes, rates, dollar, gold, oil, BTC/ETH and EURUSD with period returns.' It clearly identifies the broad macro-market scope, which distinguishes it from siblings like search_markets, research_asset, and compare_assets that target narrower or comparative queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for a quick, broad market overview, but it does not explicitly say when to choose this tool over alternatives such as research_asset or compare_assets. There are no exclusions or when-not-to-use conditions, so the guidance is mostly inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_assetResearch an assetARead-onlyIdempotent
Research one Yahoo Finance symbol with dated prices, performance, history and news links.
Examples: AAPL, SPY, ^GSPC, BTC-USD, EURUSD=X, GC=F. Discover unfamiliar symbols
with search_markets first. Includes source URLs and data limitations, not financial
statements or full articles. History uses daily bars, or weekly bars for five years.
Give start and end (YYYY-MM-DD) for an exact window instead of period.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ISO date, inclusive; requires start. | |
| start | No | ISO date, inclusive; requires end. | |
| period | No | 3mo | |
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds useful context: content boundaries ('source URLs and data limitations, not financial statements or full articles') and data granularity ('daily bars, or weekly bars for five years'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, purpose first, with no filler. Examples, usage guidance, data limitations, and parameter advice are packed into a compact, scannable block that earns each 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 an output schema present and a modest parameter count, the description covers symbol format, date/period alternatives, data scope, and a search hint. Minor omissions like the 3mo default and the required flag are already handled by the schema, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema coverage, the description compensates by giving concrete symbol format examples and explaining that start/end replace period for exact windows. It clarifies date format (YYYY-MM-DD) and that the two dates are used together, though it doesn't enumerate period values except the five-year behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Research one Yahoo Finance symbol with dated prices, performance, history and news links' – a specific verb and resource. The singular 'one symbol' scope and examples distinguish it from compare_assets and market_overview, while naming search_markets for discovery.
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?
Gives explicit guidance: use search_markets first for unfamiliar symbols, and use start/end for exact windows instead of period. It doesn't explicitly contrast when to prefer compare_assets or market_overview, but the 'one symbol' framing provides implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_marketsSearch financial marketsARead-onlyIdempotent
Find ticker symbols and dated news links for a company, asset, sector or market topic.
Examples: 'Nvidia', 'inflation', 'Japanese yen'. Returns headlines, not article text.
Use the exact returned symbol in research_asset or compare_assets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum symbols and headlines each. | |
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, read-only, idempotent profile, and the description adds meaningful behavior by disclosing that the tool returns headlines rather than article text and that the links are dated. This is consistent with openWorldHint (free-text queries may return world entities) and contradicts 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?
Three sentences with no wasted words: the first establishes purpose, the second adds examples and an output limitation, and the third explains downstream usage. Key scoping and behavioral information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations cover the safety profile and an output schema exists, the description supplies everything needed to invoke the tool correctly: what inputs look like, what outputs contain (headlines, not text), and how to use the results with sibling tools. No essential information for correct invocation is missing.
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 50%: limit is fully documented with default, range, and meaning, but query has no schema description. The description compensates for query by providing concrete examples of acceptable values, yet it does not add any explanation of limit beyond what the schema already states, so the value added over structured data is modest.
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 ('Find'), a clear resource ('ticker symbols and dated news links'), and a well-scoped subject ('a company, asset, sector or market topic'). Concrete examples like 'Nvidia' and 'inflation' make the input space unambiguous, and the final sentence positions this tool as the discovery step feeding research_asset/compare_assets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context by instructing the agent to use the exact returned symbol in research_asset or compare_assets, implying a clear before/after workflow. It does not, however, address when to prefer market_overview, so exclusion guidance for one sibling is missing.
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.
3 tool updates
v1.3.0- Changed
compare_assets2 fields changed- added
Input schema / properties / endAdded value: +{ + "anyOf": [ + { + "format": "date", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "ISO date, inclusive; requires start.", + "title": "End" +} - added
Input schema / properties / startAdded value: +{ + "anyOf": [ + { + "format": "date", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "ISO date, inclusive; requires end.", + "title": "Start" +}
- Added
market_overview - Changed
research_asset2 fields changed- added
Input schema / properties / endAdded value: +{ + "anyOf": [ + { + "format": "date", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "ISO date, inclusive; requires start.", + "title": "End" +} - added
Input schema / properties / startAdded value: +{ + "anyOf": [ + { + "format": "date", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "ISO date, inclusive; requires end.", + "title": "Start" +}
3 tool updates
v1.0.0- First observed
compare_assets - First observed
research_asset - First observed
search_markets
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: search_markets discovers symbols, research_asset covers a single asset, compare_assets handles multi-asset comparisons, and market_overview provides a macro snapshot. There is no meaningful overlap between the tools.
Three tools follow a consistent verb_noun pattern (search_markets, research_asset, compare_assets), while market_overview deviates by being noun-only. The naming is still clean, lowercase, and readable, so the inconsistency is minor.
Four tools is an appropriate, well-scoped size for a market data research server. Each tool earns its place and covers a distinct part of the research workflow without unnecessary redundancy.
The tool set covers the core research lifecycle: discover symbols, research one asset, compare multiple assets, and get a broad market snapshot. Limitations like no financial statements or full articles are explicitly scoped out rather than missing functionality.
Maintenance
Related MCP Connectors
Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.
Real-time financial news for AI agents: search by ticker and source, with sentiment and entities.
Agentic brokerage access to a US brokerage account: quotes, orders, positions, cash and documents.
Market data, financial statements, valuation, research, and news for investment workflows.
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables LLMs to retrieve real-time stock and cryptocurrency prices and news using ticker symbols through the yfinance API.25-
- AlicenseAqualityCmaintenanceProvides AI agents with real-time financial market intelligence including stock quotes, crypto data, technical analysis, and portfolio insights. Enables natural language queries for current prices, technical indicators, asset comparisons, and portfolio analysis.177MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform live stock and portfolio research using Yahoo Finance data, including quotes, fundamentals, price history, news, portfolio analysis, and ticker comparisons.-

AxionQuant MCP Serverofficial
AlicenseCqualityBmaintenanceEnables AI agents and LLM apps to answer natural-language financial questions using live market data, including stocks, crypto, forex, futures, indices, ETFs, economic data, news, sentiment, SEC filings, earnings, financials, insider trading, ESG, credit ratings, and web traffic.13266 npmMIT