MCP 服务器

Brighter

fi.brighter/brighter
加密货币与 Web3 金融与投资 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Browses tokenized stock and ETF assets, validates rule-based portfolio strategies, retrieves allocations, and runs historical backtests.

asset_history
Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened.
输入模式
{'type': 'object', 'required': ['ticker', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 2000, 'description': 'Calendar year.'}, 'ticker': {'type': 'string', 'description': 'Asset ticker, as find_assets returns it.'}}, 'additionalProperties': False}
backtest_code
Run a strategy you have written against real market history and return its figures. This is a real backtest against real prices — not a simulation and not cached per call — so run it deliberately, after check_strategy passes. Returns metrics only, never the curve.
输入模式
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': "The strategy, in Brighter's language."}, 'range': {'enum': ['1y', '3y', '5y'], 'type': 'string', 'description': 'Window to test over.'}}, 'additionalProperties': False}
backtest_strategy
Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's range are snapped into it. This is a real backtest, so make each one count.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Strategy id.'}, 'range': {'enum': ['1y', '3y', '5y'], 'type': 'string', 'description': 'Backtest window. Only these are kept warm; anything else is refused.'}, 'params': {'type': 'object', 'description': 'Parameter values by key, from get_strategy. Omitted keys use their default.', 'additionalProperties': {'type': 'number'}}}, 'additionalProperties': False}
check_strategy
Check a strategy written in Brighter's language: syntax, semantics, and whether every ticker it names is one Brighter can actually trade. Returns the faults with their line and column. Costs nothing and calls nothing upstream — check before you backtest.
输入模式
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': "The strategy, in Brighter's language."}}, 'additionalProperties': False}
dsl_reference
How to write a Brighter strategy: the language's blocks, indentation rules, indicators and limits. Read this before writing any rule — the language is small and specific, and guessing its syntax wastes a turn.
输入模式
{'type': 'object', 'properties': {'limits': {'type': 'boolean', 'description': 'Include the numeric limits a rule must stay inside.'}, 'indicators': {'type': 'boolean', 'description': "Include the full indicator table with every measure's syntax. Off by default; the reference already names them."}}, 'additionalProperties': False}
find_assets
Search the assets a Brighter strategy can hold — tokenized US stocks, ETFs and T-bills. A rule may only name a ticker that appears here.
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'How many to return.'}, 'query': {'type': 'string', 'description': 'Match against ticker or company name.'}, 'offset': {'type': 'integer', 'maximum': 1000, 'minimum': 0, 'description': 'Where to start.'}, 'tickers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30, 'description': 'Look up these exact tickers.'}}, 'additionalProperties': False}
format_strategy
Rewrite a strategy in the language's canonical form — the spelling Studio's editor shows. Useful for checking that what you wrote means what you think it means.
输入模式
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': "The strategy, in Brighter's language."}}, 'additionalProperties': False}
get_allocation
What a published strategy's rule holds right now, in basis points of the portfolio. This is the live target, computed from the latest close.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Strategy id.'}, 'params': {'type': 'object', 'description': 'Parameter values by key. Omitted keys use their default.', 'additionalProperties': {'type': 'number'}}}, 'additionalProperties': False}
get_strategy
One strategy in full: what its rule does, the parameters you can tune with their ranges and defaults, every asset it can hold, and its benchmark. Use the parameter keys with backtest_strategy.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Strategy id, as list_strategies returns it.'}}, 'additionalProperties': False}
list_strategies
List the strategies published on brighter.fi, newest or best-performing first. Each carries its rebalance cadence, the assets it can hold, and its return over the chosen period against its benchmark. Strategies that can hold leveraged or inverse funds are excluded unless asked for.
输入模式
{'type': 'object', 'properties': {'sort': {'enum': ['return', 'newest'], 'type': 'string', 'description': 'Order of the list.'}, 'limit': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'How many to return.'}, 'assets': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30, 'description': 'Only strategies that can hold any of these tickers.'}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Where to start, for paging.'}, 'period': {'enum': ['1y', '3y', '5y'], 'type': 'string', 'description': 'Window the returns cover.'}, 'cadence': {'type': 'array', 'items': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only these rebalance cadences.'}, 'leveraged': {'type': 'boolean', 'description': 'Include strategies that can hold leveraged or inverse funds. Off by default.'}, 'beatsBenchmark': {'type': 'boolean', 'description': 'Only strategies ahead of their benchmark over the period.'}}, 'additionalProperties': False}
strategy_schema
The JSON schema for a strategy as an object, for when you would rather build the rule tree than write the text. check_strategy and backtest_code both accept text, which is usually easier.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
已添加
backtest_code
2026年10月2日 02:40
已添加
format_strategy
2026年10月2日 02:40
已添加
check_strategy
2026年10月2日 02:40
已添加
strategy_schema
2026年10月2日 02:40
已添加
dsl_reference
2026年10月2日 02:40
已添加
asset_history
2026年10月2日 02:40
已添加
find_assets
2026年10月2日 02:40
已添加
get_allocation
2026年10月2日 02:40
已添加
backtest_strategy
2026年10月2日 02:40
已添加
get_strategy
2026年10月2日 02:40
已添加
list_strategies
2026年10月2日 02:40