{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8chzyavk6eav","handle":"brighter","url":"https://wellknown.network/agents/brighter","links":{"self":"https://wellknown.network/agents/brighter/record.json","html":"https://wellknown.network/agents/brighter","markdown":"https://wellknown.network/agents/brighter/record.md","api":"https://wellknown.network/api/v1/agents/brighter","status":"https://wellknown.network/api/v1/agents/brighter/status","claim":"https://wellknown.network/agents/brighter/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/brighter/claim.json","badge":"https://wellknown.network/agents/brighter/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/brighter/history","tools":"https://wellknown.network/api/v1/agents/brighter/tools"},"ard":{"identifier":"urn:air:mcp.brighter.fi:server:brighter","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Brighter","summary":"Browse, backtest and write rule-based portfolios of tokenized US stocks.","description":"Browse, backtest and write rule-based portfolios of tokenized US stocks.","publisher":{"name":"fi.brighter","url":null},"homepage":"https://brighter.fi","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.brighter.fi/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-30T18:53:48.576188Z","publishedAt":"2026-09-30T18:53:48.576188Z","registryName":"fi.brighter/brighter"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.54,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"}],"categories":["ai","content","dev","finance","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T02:30:00.831Z","lastProbedAt":"2026-10-10T02:30:00.831Z","statusComputedAt":"2026-10-10T02:31:49.026Z","reliability30d":{"probes":35,"successRate":1,"p50Ms":49,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":35,"ok":35,"authBoundaryOk":0,"serviceOk":35,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T02:30:00.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":48,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:27:12.557Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:29:27.219Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":49,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:21:20.957Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":48,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:23:20.128Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:29:16.485Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:23:28.913Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":49,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:24:53.502Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:31:10.915Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":97,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:30:57.456Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"toolCount":11,"toolsHash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","serverName":"brighter","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_strategies","description":"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 t"},{"name":"get_strategy","description":"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 parame"},{"name":"backtest_strategy","description":"Run a published strategy over real market history with parameters of your choosing. Returns its figures against its benchmark. Values outside a parameter's rang"},{"name":"get_allocation","description":"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."},{"name":"find_assets","description":"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."},{"name":"asset_history","description":"Daily closing prices for one asset over a calendar year, for checking a rule's premise against what actually happened."},{"name":"dsl_reference","description":"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"},{"name":"strategy_schema","description":"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 tex"},{"name":"check_strategy","description":"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 wit"},{"name":"format_strategy","description":"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."},{"name":"backtest_code","description":"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 cache"}],"package":null,"toolSurface":{"id":"ts_zfb6pdmn6gtg","endpointId":"ep_gvdz4j67gevg","hash":"1eb8ecdeb3748ab522dccd4a2bdf6e96c2d182a8c2930eb98d83601917112448","toolCount":11,"serverName":"brighter","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-30T21:28:11.467Z","lastSeenAt":"2026-10-10T02:30:00.826Z","observations":35,"toolNames":["list_strategies","get_strategy","backtest_strategy","get_allocation","find_assets","asset_history","dsl_reference","strategy_schema","check_strategy","format_strategy","backtest_code"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_gvdz4j67gevg","url":"https://mcp.brighter.fi/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-06T18:25:41.895Z","auth":{"observedAt":"2026-10-06T18:25:41.935Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-06T18:25:42.020Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.brighter.fi","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-17T08:33:44.000Z","validTo":"2026-12-16T08:33:43.000Z","daysToExpiry":67,"sanCount":1,"fingerprint256":"B0:4C:96:12:D8:6B:32:B3:AE:AA:E4:19:42:44:F5:DC:47:71:3D:12:5A:9C:B4:D9:DF:9D:88:F9:3C:F6:5F:2F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"fi.brighter/brighter","url":"https://registry.modelcontextprotocol.io/v0/servers/fi.brighter%2Fbrighter","firstSeenAt":"2026-09-30T21:21:22.494Z","fetchedAt":"2026-10-09T15:19:37.406Z","normalizedAt":"2026-10-09T15:19:37.406Z"}]},"firstSeenAt":"2026-09-30T21:21:22.494Z","updatedAt":"2026-10-10T02:32:41.028Z"}