MCP 服务器

Marketgenius

app.marketgenius/mcp
数据与分析 金融与投资 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Provides interactive calculators for CAGR, dividends, market capitalization, and profit margins, with state synchronization and field updates.

mg_calculator_cagr
CAGR Calculator
Open the CAGR Calculator React MCP App UI. ALWAYS ask first — never call this tool silently: "Open the calculator directly, or pre-fill it with your inputs?" IF directly → call this tool now with no params. STOP. Do not ask anything else. IF pre-fill → collect only the input schema fields — do not guess or invent field names.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'years': {'type': 'integer', 'default': 10, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of years of investment. Default: 0'}, 'endingValue': {'type': 'string', 'default': '20000', 'description': 'Ending (final) investment value.'}, 'beginningValue': {'type': 'string', 'default': '10000', 'description': 'Beginning (initial) investment value.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_calculator_cagr_state
CAGR Calculator — State
Read the current field values of the open CAGR Calculator. Call this before answering any question about the current values — the user may have changed fields manually in the GUI. Do not call this on a loop; call it once on demand.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string'}}}
mg_calculator_cagr_sync
CAGR Calculator — Sync
Sync user-entered field values of the open CAGR Calculator back to the session store so the model can read them via the state tool. Called by the View after any field change; hidden from the model.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'years': {'type': 'integer', 'default': 10, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of years of investment. Default: 0'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'endingValue': {'type': 'string', 'default': '20000', 'description': 'Ending (final) investment value.'}, 'beginningValue': {'type': 'string', 'default': '10000', 'description': 'Beginning (initial) investment value.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_calculator_cagr_update
CAGR Calculator — Update
Update one or more fields in the already-open CAGR Calculator. ALWAYS call mg_calculator_cagr_state first — the user may have changed values manually in the GUI and you must not overwrite them. Pass the version you received from that call (or from the open tool if updating immediately after opening). Only pass the fields the user explicitly asked to change; omit all others. Send all changes in a single call — multiple sequential calls lose intermediate updates (only the last one applies).
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'version'], 'properties': {'years': {'type': 'integer', 'default': 10, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of years of investment. Default: 0'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Current session version â\x80\x94 call mg_calculator_cagr_state first to get this.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'endingValue': {'type': 'string', 'default': '20000', 'description': 'Ending (final) investment value.'}, 'beginningValue': {'type': 'string', 'default': '10000', 'description': 'Beginning (initial) investment value.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_calculator_dividend
Dividend Calculator
Open the Dividend Calculator React MCP App UI. ALWAYS ask first — never call this tool silently: "Open the calculator directly, or pre-fill it with your inputs?" IF directly → call this tool now with no params. STOP. Do not ask anything else. IF pre-fill → ask "By amount invested or by number of shares?", then collect only the input schema fields matching that mode — do not guess or invent field names.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mode': {'enum': ['amount', 'shares'], 'type': 'string', 'default': 'amount', 'description': 'Entry mode. Default: "amount"'}, 'bsShares': {'type': 'string', 'default': '500', 'description': 'By shares: Number of shares.'}, 'baReinvest': {'type': 'boolean', 'default': True, 'description': 'By amount: Reinvest dividends. Default: true'}, 'bsReinvest': {'type': 'boolean', 'default': True, 'description': 'By shares: Reinvest dividends. Default: true'}, 'bsSharePrice': {'type': 'string', 'default': '50', 'description': 'By shares: Share price.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'baDepositAmount': {'type': 'string', 'default': '200', 'description': 'By amount: Monthly deposit amount.'}, 'baDepositMonths': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Deposit months per year (1-12). Default: 1'}, 'baDividendYield': {'type': 'string', 'default': '3', 'description': 'By amount: Dividend yield percentage.'}, 'baInflationRate': {'type': 'number', 'default': 0, 'description': 'By amount: Inflation rate %. Default: 0'}, 'bsDividendYield': {'type': 'string', 'default': '3', 'description': 'By shares: Dividend yield percentage.'}, 'bsInflationRate': {'type': 'number', 'default': 0, 'description': 'By shares: Inflation rate %. Default: 0'}, 'baProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Projection period in years. Default: 0'}, 'bsProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By shares: Projection period in years. Default: 0'}, 'baInitialInvestment': {'type': 'string', 'default': '10000', 'description': 'By amount: Initial investment amount.'}, 'baDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By amount: Annual dividend growth rate %. Default: 0'}, 'bsDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By shares: Annual dividend growth rate %. Default: 0'}, 'baSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By amount: Annual price growth rate %. Default: 0'}, 'bsSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By shares: Annual price growth rate %. Default: 0'}}}
mg_calculator_dividend_state
Dividend Calculator — State
Read the current field values of the open Dividend Calculator. Call this before answering any question about the current values — the user may have changed fields manually in the GUI. Do not call this on a loop; call it once on demand.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string'}}}
mg_calculator_dividend_sync
Dividend Calculator — Sync
Sync user-entered field values of the open Dividend Calculator back to the session store so the model can read them via the state tool. Called by the View after any field change; hidden from the model.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'mode': {'enum': ['amount', 'shares'], 'type': 'string', 'default': 'amount', 'description': 'Entry mode. Default: "amount"'}, 'bsShares': {'type': 'string', 'default': '500', 'description': 'By shares: Number of shares.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'baReinvest': {'type': 'boolean', 'default': True, 'description': 'By amount: Reinvest dividends. Default: true'}, 'bsReinvest': {'type': 'boolean', 'default': True, 'description': 'By shares: Reinvest dividends. Default: true'}, 'bsSharePrice': {'type': 'string', 'default': '50', 'description': 'By shares: Share price.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'baDepositAmount': {'type': 'string', 'default': '200', 'description': 'By amount: Monthly deposit amount.'}, 'baDepositMonths': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Deposit months per year (1-12). Default: 1'}, 'baDividendYield': {'type': 'string', 'default': '3', 'description': 'By amount: Dividend yield percentage.'}, 'baInflationRate': {'type': 'number', 'default': 0, 'description': 'By amount: Inflation rate %. Default: 0'}, 'bsDividendYield': {'type': 'string', 'default': '3', 'description': 'By shares: Dividend yield percentage.'}, 'bsInflationRate': {'type': 'number', 'default': 0, 'description': 'By shares: Inflation rate %. Default: 0'}, 'baProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Projection period in years. Default: 0'}, 'bsProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By shares: Projection period in years. Default: 0'}, 'baInitialInvestment': {'type': 'string', 'default': '10000', 'description': 'By amount: Initial investment amount.'}, 'baDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By amount: Annual dividend growth rate %. Default: 0'}, 'bsDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By shares: Annual dividend growth rate %. Default: 0'}, 'baSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By amount: Annual price growth rate %. Default: 0'}, 'bsSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By shares: Annual price growth rate %. Default: 0'}}}
mg_calculator_dividend_update
Dividend Calculator — Update
Update one or more fields in the already-open Dividend Calculator. ALWAYS call mg_calculator_dividend_state first — the user may have changed values manually in the GUI and you must not overwrite them. Pass the version you received from that call (or from the open tool if updating immediately after opening). Only pass the fields the user explicitly asked to change; omit all others. Send all changes in a single call — multiple sequential calls lose intermediate updates (only the last one applies).
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'version'], 'properties': {'mode': {'enum': ['amount', 'shares'], 'type': 'string', 'default': 'amount', 'description': 'Entry mode. Default: "amount"'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Current session version â\x80\x94 call mg_calculator_dividend_state first to get this.'}, 'bsShares': {'type': 'string', 'default': '500', 'description': 'By shares: Number of shares.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'baReinvest': {'type': 'boolean', 'default': True, 'description': 'By amount: Reinvest dividends. Default: true'}, 'bsReinvest': {'type': 'boolean', 'default': True, 'description': 'By shares: Reinvest dividends. Default: true'}, 'bsSharePrice': {'type': 'string', 'default': '50', 'description': 'By shares: Share price.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'baDepositAmount': {'type': 'string', 'default': '200', 'description': 'By amount: Monthly deposit amount.'}, 'baDepositMonths': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Deposit months per year (1-12). Default: 1'}, 'baDividendYield': {'type': 'string', 'default': '3', 'description': 'By amount: Dividend yield percentage.'}, 'baInflationRate': {'type': 'number', 'default': 0, 'description': 'By amount: Inflation rate %. Default: 0'}, 'bsDividendYield': {'type': 'string', 'default': '3', 'description': 'By shares: Dividend yield percentage.'}, 'bsInflationRate': {'type': 'number', 'default': 0, 'description': 'By shares: Inflation rate %. Default: 0'}, 'baProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By amount: Projection period in years. Default: 0'}, 'bsProjectionPeriod': {'type': 'integer', 'default': 20, 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'By shares: Projection period in years. Default: 0'}, 'baInitialInvestment': {'type': 'string', 'default': '10000', 'description': 'By amount: Initial investment amount.'}, 'baDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By amount: Annual dividend growth rate %. Default: 0'}, 'bsDividendGrowthRate': {'type': 'number', 'default': 5, 'description': 'By shares: Annual dividend growth rate %. Default: 0'}, 'baSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By amount: Annual price growth rate %. Default: 0'}, 'bsSharePriceGrowthRate': {'type': 'number', 'default': 6, 'description': 'By shares: Annual price growth rate %. Default: 0'}}}
mg_calculator_market_cap
Market Cap Calculator
Open the Market Cap Calculator React MCP App UI. ALWAYS ask first — never call this tool silently: "Open the calculator directly, or pre-fill it with your inputs?" IF directly → call this tool now with no params. STOP. Do not ask anything else. IF pre-fill → ask "Would you like to pre-fill share price and shares outstanding?", then collect only the input schema fields matching that mode — do not guess or invent field names.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'marketCap': {'type': 'string', 'default': '', 'description': 'Market capitalization.'}, 'sharePrice': {'type': 'string', 'default': '150', 'description': 'Price per share.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'sharesOutstanding': {'type': 'string', 'default': '1000000000', 'description': 'Total shares outstanding.'}}}
mg_calculator_market_cap_state
Market Cap Calculator — State
Read the current field values of the open Market Cap Calculator. Call this before answering any question about the current values — the user may have changed fields manually in the GUI. Do not call this on a loop; call it once on demand.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string'}}}
mg_calculator_market_cap_sync
Market Cap Calculator — Sync
Sync user-entered field values of the open Market Cap Calculator back to the session store so the model can read them via the state tool. Called by the View after any field change; hidden from the model.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'marketCap': {'type': 'string', 'default': '', 'description': 'Market capitalization.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'sharePrice': {'type': 'string', 'default': '150', 'description': 'Price per share.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'sharesOutstanding': {'type': 'string', 'default': '1000000000', 'description': 'Total shares outstanding.'}}}
mg_calculator_market_cap_update
Market Cap Calculator — Update
Update one or more fields in the already-open Market Cap Calculator. ALWAYS call mg_calculator_market_cap_state first — the user may have changed values manually in the GUI and you must not overwrite them. Pass the version you received from that call (or from the open tool if updating immediately after opening). Only pass the fields the user explicitly asked to change; omit all others. Send all changes in a single call — multiple sequential calls lose intermediate updates (only the last one applies).
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'version'], 'properties': {'version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Current session version â\x80\x94 call mg_calculator_market_cap_state first to get this.'}, 'marketCap': {'type': 'string', 'default': '', 'description': 'Market capitalization.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'sharePrice': {'type': 'string', 'default': '150', 'description': 'Price per share.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}, 'sharesOutstanding': {'type': 'string', 'default': '1000000000', 'description': 'Total shares outstanding.'}}}
mg_calculator_profit_margin
Profit Margin Calculator
Open the Profit Margin Calculator React MCP App UI. ALWAYS ask first — never call this tool silently: "Open the calculator directly, or pre-fill it with your inputs?" IF directly → call this tool now with no params. STOP. Do not ask anything else. IF pre-fill → ask "Would you like to pre-fill revenue and cost?", then collect only the input schema fields matching that mode — do not guess or invent field names.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cost': {'type': 'string', 'default': '7000000', 'description': 'Cost of goods sold.'}, 'revenue': {'type': 'string', 'default': '10000000', 'description': 'Annual revenue.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_calculator_profit_margin_state
Profit Margin Calculator — State
Read the current field values of the open Profit Margin Calculator. Call this before answering any question about the current values — the user may have changed fields manually in the GUI. Do not call this on a loop; call it once on demand.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string'}}}
mg_calculator_profit_margin_sync
Profit Margin Calculator — Sync
Sync user-entered field values of the open Profit Margin Calculator back to the session store so the model can read them via the state tool. Called by the View after any field change; hidden from the model.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'cost': {'type': 'string', 'default': '7000000', 'description': 'Cost of goods sold.'}, 'revenue': {'type': 'string', 'default': '10000000', 'description': 'Annual revenue.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_calculator_profit_margin_update
Profit Margin Calculator — Update
Update one or more fields in the already-open Profit Margin Calculator. ALWAYS call mg_calculator_profit_margin_state first — the user may have changed values manually in the GUI and you must not overwrite them. Pass the version you received from that call (or from the open tool if updating immediately after opening). Only pass the fields the user explicitly asked to change; omit all others. Send all changes in a single call — multiple sequential calls lose intermediate updates (only the last one applies).
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'version'], 'properties': {'cost': {'type': 'string', 'default': '7000000', 'description': 'Cost of goods sold.'}, 'revenue': {'type': 'string', 'default': '10000000', 'description': 'Annual revenue.'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Current session version â\x80\x94 call mg_calculator_profit_margin_state first to get this.'}, 'sessionId': {'type': 'string', 'description': 'Session ID returned by the open tool.'}, 'currencySymbol': {'type': 'string', 'description': 'Currency symbol, e.g. "$" or "â\x82¬". Default: "$"'}}}
mg_list
List Marketgenius Tools
List all available Marketgenius tools with their names, descriptions, categories, and resource URIs. Use mg_list to discover what's available, or filter by category.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'category': {'enum': ['calculators'], 'type': 'string', 'description': 'Filter by category. Omit to list all tools.'}}}
已添加
mg_calculator_profit_margin_state
2026年9月17日 07:57
已添加
mg_calculator_profit_margin_sync
2026年9月17日 07:57
已添加
mg_calculator_profit_margin_update
2026年9月17日 07:57
已添加
mg_calculator_profit_margin
2026年9月17日 07:57
已添加
mg_calculator_market_cap_state
2026年9月17日 07:57
已添加
mg_calculator_market_cap_sync
2026年9月17日 07:57
已添加
mg_calculator_market_cap_update
2026年9月17日 07:57
已添加
mg_calculator_market_cap
2026年9月17日 07:57
已添加
mg_calculator_dividend_state
2026年9月17日 07:57
已添加
mg_calculator_dividend_sync
2026年9月17日 07:57
已添加
mg_calculator_dividend_update
2026年9月17日 07:57
已添加
mg_calculator_dividend
2026年9月17日 07:57
已添加
mg_calculator_cagr_state
2026年9月17日 07:57
已添加
mg_calculator_cagr_sync
2026年9月17日 07:57
已添加
mg_calculator_cagr_update
2026年9月17日 07:57
已添加
mg_calculator_cagr
2026年9月17日 07:57
已添加
mg_list
2026年9月17日 07:57