MCP Server / Available tools
Available tools
Norn's MCP server exposes 20+ tools scoped to your organization, workspaces, and connected accounts. Tools are grouped below by what they do. Every tool respects your subscription tier — Pro-only tools return
code
Permission deniedIdentity & scoping
Use these first to figure out what the assistant has access to.
- — organizations you're a member of, with your role (code
list_organizations/codeOWNER) and subscription tier.codeSTANDARD - — workspaces under an organization. Every account and saved portfolio lives inside a workspace.code
list_workspaces - — connected brokerage accounts under a workspace.code
list_accounts
NOTE
Most tools require you to pass an
code
organization_idcode
workspace_idBrokerage data
Read-only access to whatever you've connected. Requires Pro.
- — current positions with market value, weight, unrealized P&L.code
get_account_positions - — 1M / 3M / 6M / 1Y / YTD returns joined with Norn's quant metrics (Sharpe, expected return, volatility).code
get_account_performance - — buys, sells, dividends, transfers, fees. Paginated at 100 rows.code
get_account_transactions
Asset discovery
Search Norn's asset database.
- — verify Norn has quant data for a set of tickers before running deeper analysis on them.code
check_tickers_tracked - — filter Norn's universe by asset type (code
screen_assets,codeEQUITY,codeETF), subtype (large-cap, mid-cap, etc.), and any quant filter (Sharpe > 1.5, volatility < 20%, etc.). Returns a ranked list.codeCRYPTO
Single-ticker analytics
Deep dive on one ticker. Requires Pro.
- — 252-day return, volatility, Sharpe, expected return, plus identity metadata (sector, industry, exchange).code
get_stock_details - — OHLCV price history. Daily bars for ranges ≤30 days, weekly bars for anything longer.code
get_stock_price
Multi-ticker analytics
Compare or correlate multiple tickers at once.
- — one row per ticker, ranked by Sharpe. Fastest way to compare a candidate list.code
get_quant_summary_for_tickers - — pairwise weekly-returns correlation matrix. Great for spotting concentration risk.code
get_ticker_correlations
Portfolio optimization
- — run mean-variance (historical) or Black-Litterman optimization on any list of tickers.code
optimize_portfolio- Mean-variance: uses 252-day empirical means.
- Black-Litterman: combines the market-implied prior with your own forward "views" (e.g. "AAPL will outperform SPY by 5%"). Supports min/max weight bounds; the assistant validates feasibility before returning.
json
{
"tickers": ["AAPL", "MSFT", "NVDA", "GOOG"],
"method": "black_litterman",
"views": [
{ "ticker": "NVDA", "vs": "SPY", "expected_bp": 500 }
],
"constraints": { "min_weight": 0.05, "max_weight": 0.5 }
}Saved portfolios
Persistent, optimizable watchlists. Requires Pro for reads;
code
mcp:write- — portfolios in the current workspace.code
list_portfolios - — allocations, computed weights, projections, constraint set.code
get_portfolio - — new portfolio with a set of starting tickers.code
create_portfolio - /code
add_tickers_to_portfolio— edit constituents.coderemove_tickers_from_portfolio - — set Black-Litterman views on the portfolio.code
update_portfolio_projections - — permanent. Owner-only.code
delete_portfolio
Error semantics
All tools return structured errors so the assistant can react intelligently.
- — you haven't told the assistant which account to work with. Callcode
NO_ACCOUNT_SELECTEDand pass one.codelist_accounts - — the caller's org is on BASIC. Upgrade or switch orgs.code
PERMISSION_DENIED (Pro required) - — the optimization can't satisfy your min/max weights. Relax them.code
INFEASIBLE_CONSTRAINTS - — Norn doesn't have quant data for that ticker. Callcode
NOT_TRACKEDfirst.codecheck_tickers_tracked
What Norn cannot do
The MCP server is strictly read + saved-portfolio-write. It has no tools for:
- Placing trades or transferring funds
- Modifying your brokerage credentials or account settings
- Reading anything from your AI client's memory, chat, or files
See Security for the full trust model.