kabu-mcp
Click 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., "@kabu-mcpget real-time quote for Toyota (7203.T)"
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.
kabu-mcp π
Japanese & Global Stock Market MCP Server for AI assistants.
Real-time quotes, technical analysis, market screening β all from your AI agent.
Works with Claude Desktop, Cursor, VS Code, Claude Code, and any MCP-compatible client.
βΌοΈ No other MCP server covers Japanese stocks (JPX/TSE). This is the only one.
β¨ Features
Free Tools
get_quote β Real-time stock prices (JPX, NYSE, NASDAQ, crypto)
search_stocks β Find any stock by name or keyword (ζ₯ζ¬θͺ OK)
get_chart β Historical OHLCV candlestick data
Pro Tools ($4.99/mo)
technical_analysis β RSI, SMA (5/20/50) with auto buy/sell signals
multi_quote β Batch quotes for portfolio monitoring
market_screener β Japan, US, and crypto market overview
Related MCP server: japan-intelligence-api
π Quick Start
{
"mcpServers": {
"kabu-mcp": {
"command": "npx",
"args": ["-y", "github:kame6493-del/kabu-mcp"]
}
}
}With Pro License
{
"mcpServers": {
"kabu-mcp": {
"command": "npx",
"args": ["-y", "github:kame6493-del/kabu-mcp"],
"env": {
"KABU_MCP_LICENSE_KEY": "kabu_pro_your_key_here"
}
}
}
}π―π΅ Japanese Stock Symbols
Company | Symbol |
γγ¨γΏθͺεθ» | 7203.T |
γ½γγγγ³γ―G | 9984.T |
γ½γγΌG | 6758.T |
ζ₯η΅225ζζ° | ^N225 |
π Get Pro
Unlock all tools for $4.99/month: Get Pro License
Landing page: kabu-mcp-landing.netlify.app
π License
MIT β Built by HatoTools
Available Tools
7 toolscompare_stocksC
π [PRO] Compare stock performance.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | 3mo | |
| symbols | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of disclosing behavior. It only states a generic compare function and does not mention read-only status, output format, error conditions, or any restrictions beyond the PRO indicator. The π [PRO] hint is the only behavioral signal, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler, making it concise. However, it is under-specified rather than efficient; the emoji and [PRO] prefix add minimal informational value and could be seen as decorative.
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 lack of annotations, an output schema, and any parameter documentation, the description is far from complete. An agent cannot determine return structure, how to format input, or what 'compare' actually reveals, making the tool difficult to invoke 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 description coverage is 0%, and the description provides no information about the 'symbols' or 'range' parameters. The agent must rely solely on the schema and tool name, with no guidance on symbol format, how multiple symbols are separated, or the meaning of range options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Compare') and a resource ('stock performance'). It is distinguishable from siblings like get_quote and search_stocks, though 'performance' is somewhat vague and could be interpreted as price change, returns, or other metrics.
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?
No guidance is provided on when to use this tool versus alternatives like multi_quote or technical_analysis. The π [PRO] marker implies a prerequisite, but there is no explicit context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chartC
Historical OHLCV data. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | 1mo | |
| symbol | Yes | ||
| interval | No | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It only states 'Historical OHLCV data. Free.' which hints at read-only behavior but does not disclose response format, rate limits, authentication needs, or any side effects. This is minimal and leaves many unknowns for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, but it is under-specifiedβit omits necessary information about parameters and usage. While there is no fluff, the brevity is not 'appropriate' for a tool with three parameters and no output schema, so it does not earn a higher score.
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 three parameters (one required), no output schema, and no annotations, the description is severely inadequate. It should explain the meaning of range/interval, give expectations about the return format, and clarify any constraints. Essentially nothing beyond the tool's core purpose is covered.
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%, so the description must compensate by explaining parameters. It does not mention symbol, range, or interval at all, and provides zero semantic context for the values. The agent is left to infer meaning solely from parameter names and enums, which is insufficient.
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 the verb 'get' (implied by name) and resource 'chart', and specifies it returns historical OHLCV data. This is clear about what it does. However, it does not differentiate from siblings like get_quote or technical_analysis, so it stops short of a 5.
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?
No guidance on when to use this tool versus alternatives. It does not mention that this is for historical data as opposed to current quotes (get_quote) or derived indicators (technical_analysis). The word 'Historical' implies a use case, but there is no explicit comparison or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteA
Real-time stock quote. Use .T for Japan (7203.T=Toyota). Japanese names OK (γγ¨γΏ,γ½γγΌ). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Ticker or Japanese name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds value by stating the data is real-time and free, and by clarifying Japanese symbol conventions. It does not mention what fields are returned, rate limits, market coverage, or error 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?
The description is extremely compact, front-loads the core purpose, and uses short fragments for additional guidance. Every element adds useful operational information, and the formatting conventions are directly actionable.
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?
This is a low-complexity single-parameter tool, and the schema fully documents the parameter. However, with no output schema and no annotations, the description should at least hint at what a quote contains or which markets are supported beyond Japan. It is enough for a basic call but leaves the agent guessing about the return shape and global symbol handling.
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 schema only says the symbol is a 'Ticker or Japanese name.' The description adds concrete meaning with the .T suffix rule, an explicit example (7203.T=Toyota), and confirmation that Japanese names are accepted. This materially improves parameter understanding.
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 action and resource: 'Real-time stock quote.' The Japanese symbol guidance and example make it clear this fetches current market data. It distinguishes itself from chart/analysis tools, though it does not explicitly contrast with multi_quote.
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 useful input-format usage context: use .T for Japan, Japanese names are accepted, and it is free. However, it provides no guidance on when to choose this tool over its siblings, such as multi_quote for multiple symbols or search_stocks for finding tickers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_screenerC
π [PRO] Japan/US/Crypto market overview.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | japan |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations and no output schema, so the description carries the full burden of behavioral disclosure. It does not describe what the market overview returns, whether it is a snapshot or streaming data, what metrics are included, or any constraints beyond the PRO lock emoji. The lock hint is not a substantive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and front-loaded, with no filler or repetition. It is concise, though slightly too skeletal to be considered fully appropriately sized for a tool definition.
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 single-parameter tool with no output schema, the description barely meets the minimum for making a call. An agent still cannot tell what data will be returned, how the screener differs from the sibling tools, or what 'overview' means in practice, so the context is 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?
The schema description coverage is 0%, and the description never explicitly names the market parameter or explains how it affects results. It does list Japan/US/Crypto, which maps to the enum values, giving the agent some inference about the parameter, but it adds no meaning beyond what the schema already provides.
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 identifies a market overview scoped to Japan, US, and crypto, which is a distinct resource from the quote/chart siblings. However, it lacks an actionable verb and does not specify what the overview contains or how it behaves as a screener, leaving the exact purpose somewhat vague.
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?
No usage guidance is given. The description does not say when to choose market_screener over get_quote, search_stocks, technical_analysis, or compare_stocks, so the agent must infer that a broad market-level snapshot is intended.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_quoteC
π [PRO] Batch quotes for portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the PRO requirement and batch nature, but does not mention read-only behavior, rate limits, maximum number of symbols, or error handling for invalid symbols.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short with no redundant words; the [PRO] tag and batch scope are useful. However, it is a fragment rather than a complete sentence, which limits its informational value without being verbose.
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 there is no output schema and no annotations, the description should explain more about return values and usage context. It fails to mention what the response looks like, maximum batch size, or when to prefer multi_quote over get_quote, leaving gaps for an agent.
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 schema already documents 'symbols' as comma-separated with 100% coverage. The description adds no parameter-level detail beyond the schema, so it meets the baseline for schema-covered parameters but does not enhance clarity.
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 'Batch quotes for portfolio' clearly identifies the resource (quotes) and scope (batch/portfolio), and the 'Batch' keyword distinguishes it from sibling get_quote. It lacks an explicit action verb like 'Get' or 'Fetch', but the meaning is unambiguous.
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?
No guidance is given about when to choose this tool over get_quote or other siblings. The description implies a portfolio batch scenario but does not state exclusions, prerequisites, or explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stocksA
Search stocks by name. Japanese OK. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It adds two facts: Japanese language queries are supported ('Japanese OK') and the service is free. However, it does not disclose potential partial matching, result ordering, or rate limits, and the absence of an output schema leaves return behavior unspecified.
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 short sentences, all informative. The core purpose is front-loaded, followed by two concise supplemental notes. No filler or repetition.
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 single-parameter search with no annotations and no output schema, the description is nearly sufficient. It explains the input semantics and adds relevant context (language and cost). It stops short of describing the result format, but for a search tool this is typically inferable.
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 schema provides only a bare 'query' string with no description (0% coverage). The description compensates by specifying that the query is a stock name and that Japanese is accepted, giving the agent meaningful semantic guidance absent from 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 verb ('Search'), a resource ('stocks'), and a scoping attribute ('by name'). This distinguishes it from siblings like get_quote or get_chart, though it does not name them explicitly.
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?
No guidance on when to use this tool instead of sibling tools such as market_screener or get_quote. The description only states the tool's basic function, leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
technical_analysisC
π [PRO] RSI, MACD, Bollinger Bands, SMA with signals.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that the tool is PRO-gated and that signals are included, but it does not explain what form the output takes, whether signals are buy/sell/neutral, what indicator periods are used, or any limitations. This is a significant gap for a tool with no structured behavioral metadata.
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 very brief and has no wasted words, but it is a bare noun phrase rather than a structured definition with an action and key context. It is concise to the point of under-specification, without the front-loaded clarity that would make it easy to parse.
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 no output schema, no annotations, and no usage guidance, the description is not complete enough. An agent knows the general subject but cannot confidently predict the response structure, signal semantics, or when this tool should be chosen over get_chart or market_screener. The low parameter count reduces complexity, but the missing output and usage context still leaves a clear gap.
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 schema contains one parameter, symbol, with 0% description coverage, and the description adds no information about it. While the parameter name is fairly self-explanatory, the description does not compensate for the low schema coverage by explaining expected symbol format, source, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as technical analysis and lists the specific indicators (RSI, MACD, Bollinger Bands, SMA) and mentions that signals are included. It is not a tautology and is distinguishable from quote/search/chart siblings by its technical-indicator subject matter, though it lacks an explicit action verb like 'calculates' or 'returns'.
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 no guidance on when to use this tool versus siblings such as get_quote, get_chart, or market_screener. It does not state alternatives, prerequisites, or conditions that would route an agent to this tool correctly. Usage is only implied by the tool name and indicator list.
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.
7 tool updates
v1.1.0- First observed
compare_stocks - First observed
get_chart - First observed
get_quote - First observed
market_screener - First observed
multi_quote - First observed
search_stocks - First observed
technical_analysis
TDQS
Scored across 7 tools
Most tools target distinct use cases: single quote, batch quote, historical chart, technical indicators, screening, comparison, and name search. The only mild ambiguities are get_quote/search_stocks both accepting Japanese names and get_chart/technical_analysis both relating to price-derived data, but the descriptions clarify the boundaries.
Names are readable and consistently snake_case, but they mix verb-first patterns like get_quote and search_stocks with noun/adjective-style names like technical_analysis and multi_quote. This makes the action of each tool somewhat less predictable.
Seven tools is a well-scoped count for a market-data MCP. Each tool earns its place, covering quick quotes, discovery, charting, technical analysis, batch portfolios, market screening, and comparison without unnecessary redundancy.
The tool surface covers the core read-only stock analysis workflow: search, quote, chart, indicators, batch quotes, screener, and comparison. Minor gaps like fundamentals, news, or trading actions exist, but agents can complete typical analysis workflows without dead ends.
Maintenance
Related MCP Connectors
US stock market data for AI agents: SEC filings, financials, insider trades, 13F, options, macro.
Provide AI assistants with real-time access to official SEC EDGAR filings and financial data. Enabβ¦
Provide access to Chinese stock market data including historical prices, real-time data, news, andβ¦
Real-time data API for AI Agents: stocks, weather, forex, logistics, search, scrape, news, IP.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides AI assistants with real-time stock prices, financial statements, SEC filings, and analytical tools like DCF valuation and ratio analysis.14-
- FlicenseNot gradedqualityDmaintenanceProvides AI agents with comprehensive Japanese market intelligence through 27 MCP tools, covering corporate data, macroeconomics, financials, and environmental data from 14 integrated sources.-
- FlicenseCqualityBmaintenanceEnables AI assistants to access National Stock Exchange of India (NSE) data, including live quotes, market status, indices, option chains, corporate actions, and historical data, through natural language.824-
- AlicenseBqualityBmaintenanceProvides real-time market data, technical analysis, screeners, and backtesting for stocks, crypto, forex, and futures across global exchanges, enabling AI assistants to fetch quotes, indicators, and strategy results via natural language.2371MIT