Kova

Where does your investment plan live?

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Kova List Strategies: List all user strategies with alignment scores. Returns strategy UUIDs, names, latest alignment score/label, and last evaluation timestamp.
  • Kova Show Strategy: Read a strategy's full content and metadata including alignment score and performance metrics.
  • Kova Delete Strategy: Permanently delete a strategy and all associated data (emails, manual assets). Associated briefs are preserved but unlinked. This action cannot be undone.

What data it sees

Do you need an account

No: the server works without sign-in

Where does your investment plan live?

Most investors have a strategy. Few have a system to stay consistent with it. When the plan only lives in your head, it's easy to make exceptions. Kova is the system that keeps your portfolio honest — measured against what you declared, not what this week's volatility made you feel.

The loop

  1. Declare your strategy. Allocation targets, rebalancing rules, sector constraints — written in plain language. Saved. Versioned.
  2. Send your portfolio. Your agent, a file, or text. Kova enriches each position with live market data.
  3. Read your brief. Alignment score, position-level drift, compliance against your own constraints, a short list of moves to close the gap.
  4. Act, then loop back. Send the updated portfolio. Get a fresh brief. The score moves as the strategy moves into reality.

Same saved strategy across Claude, Cursor, Codex, local MCP clients, scripts, and your own systems. The surface changes; the strategy standard stays the same.

23 tools covering strategies, versions, evaluations, briefs, portfolio simulations, assets, liabilities, and cash flows.

Example prompts

  • "Check my Long-Term Growth strategy against my current portfolio."
  • "Create a Kova strategy from my notes.md file."
  • "Simulate 60% VTI / 40% BND without saving it."
  • "Add my 401k as a tracked investment account."
  • "Show what changed since version 3."

Kova is a discipline tool, not advisory. It mirrors your own logic — it doesn't predict markets or manage money. Everything it tells you follows from the plan you wrote.

Get started at kovatools.com →

Server tool list (23)

Raw names from tools/list. Only developers need these.

kova_list_strategiesList all user strategies with alignment scores. Returns strategy UUIDs, names, latest alignment score/label, and last evaluation timestamp.
kova_show_strategyRead a strategy's full content and metadata including alignment score and performance metrics.
kova_delete_strategyPermanently delete a strategy and all associated data (emails, manual assets). Associated briefs are preserved but unlinked. This action cannot be undone.
kova_create_strategyCreate a new investment strategy. Before calling this tool, help the user draft their strategy — it can be three lines or a detailed playbook. Good strategies include: target allocations with actual tickers (e.g. "40% VOO, 20% QQQ, 15% IBIT"), investment horizon and objective, action rules (e.g. "rebalance at 5% drift, sell calls when neutral"), and constraints (e.g. "no single position over 15%, no leverage"). Concrete tickers and rules produce specific dollar-based analysis; vague language produces generic commentary. After creating a strategy, use kova_create_asset and kova_create_liability to register non-ticker holdings and obligations before evaluating.
kova_save_strategyUpdate an existing strategy's name, content, or both. Provide at least one of name or content.
kova_evaluate_portfolioSubmit a portfolio for evaluation against a strategy. The portfolio param expects individual ticker holdings (stocks, options, cash) — for accounts where individual tickers aren't accessible (investment accounts, 401k, real estate), use kova_create_asset instead, then omit portfolio entirely to evaluate using only registered assets. Use kova_create_liability for persistent obligations like lines of credit or mortgages. Submitting a portfolio also updates the portfolio on file for this strategy. Returns a brief_id with status 'processing' — call kova_show_brief with that brief_id until status is 'completed' to get the full brief with alignment score, analysis, and compliance checks. Evaluation typically takes 60–90 seconds.
kova_show_briefRead a brief by ID. Returns status ('processing' or 'completed') and, when completed, the alignment score, label, markdown analysis, summary, and timestamps. Use 'latest' as brief_id to get the most recent brief. When status is 'processing', the response includes elapsed_seconds, expected_duration_seconds (~90s), retry_after_seconds, and a human-readable message — briefs typically complete in 60–120 seconds, so wait retry_after_seconds before calling again.
kova_list_briefsList all completed briefs for a strategy with ID, alignment score, and timestamps.
kova_list_strategy_versionsList the version history for a strategy. Each entry captures the content before it was overwritten. Returns version numbers, names, previews, and timestamps. Use this before editing a strategy to understand what has changed over time.
kova_show_strategy_versionRead the full content of a specific strategy version snapshot.
kova_restore_strategy_versionRestore a strategy to a previous version. The current content is automatically saved as a new version before the restore, so nothing is permanently lost.
kova_simulate_portfolioRun an ephemeral what-if simulation — evaluates a portfolio against a strategy without saving any records. Use this to check a specific trade idea ('should I sell puts on MARA at 15?'), test a hypothetical portfolio composition, or compare scenarios before committing. Results are temporary (expire after 1 hour) and never appear in brief history. For research-heavy scenarios, enrich with market data (earnings, price action, analyst sentiment) before calling this tool and pass it via context. Optionally override the strategy text to test 'what if my strategy said X?' without modifying the stored strategy. Returns a simulation_id with status 'processing' — call kova_show_simulation with that simulation_id until status is 'completed'. Simulation typically takes 60–120 seconds.
kova_show_simulationRead a simulation result by ID. Returns status ('processing' or 'completed') and, when completed, the alignment score, analysis, and summary. Simulations expire after 1 hour. When status is 'processing', the response includes elapsed_seconds, expected_duration_seconds (~120s), retry_after_seconds, and a human-readable message — simulations typically complete in 80–160 seconds, so wait retry_after_seconds before calling again.
kova_show_portfolioRead the current portfolio on file for a strategy — the most recent holdings (stocks, options, cash, assets, and liabilities) with performance metrics. Persisted manual assets and liabilities include uuid values so agents can update or remove existing records without creating duplicates.
kova_create_assetRegister a non-ticker asset on a strategy — anything owned and tracked by total value rather than individual ticker symbols. Use this for managed accounts where tickers aren't accessible: robo-advisors, 401k plans, real estate, or other lump-sum holdings. Once registered, the asset is part of the strategy's portfolio and is included in every evaluation. Types: investment_account, real_estate, bitcoin, other. Bitcoin uses live pricing — omit current_value and provide quantity instead. After registering assets, call kova_evaluate_portfolio without a portfolio param to generate a brief.
kova_update_assetUpdate a non-ticker asset on a strategy. Merge semantics — only supplied fields change. Provide at least one field to update.
kova_remove_assetRemove a non-ticker asset from a strategy. The asset UUID is returned by kova_create_asset or by kova_show_portfolio for existing manual assets.
kova_create_liabilityRegister a non-portfolio liability on a strategy. Use this for persistent obligations like a line of credit, mortgage, personal loan, or other debt that should be visible during evaluation. Liabilities are included as structured context in every evaluation but do not change portfolio value math in this iteration.
kova_update_liabilityUpdate a liability on a strategy. Merge semantics — only supplied fields change. Provide at least one field to update.
kova_remove_liabilityRemove a liability from a strategy. The liability UUID is returned by kova_create_liability or by kova_show_portfolio for existing liabilities.
kova_record_cash_flowRecord a deposit or withdrawal on a strategy's portfolio. Cash flows adjust performance calculations — deposits don't count as gains, withdrawals don't count as losses. Use this to track contributions, distributions, or transfers that affect the portfolio's value but aren't investment returns.
kova_list_cash_flowsList all recorded cash flows (deposits and withdrawals) for a strategy's portfolio. Returns flows ordered by date, most recent first.
kova_remove_cash_flowRemove a cash flow record from a strategy's portfolio. Use kova_list_cash_flows to find the cash_flow_id.
Kova: connect to Claude, ChatGPT, Cursor · Connectors.fun