Norn MCP setup
Connect your AI assistant to Norn to read and act on your portfolios, brokerage accounts, and stock research directly from the assistant.
What this is
Norn ships an MCP (Model Context Protocol) server. This lets AI assistants — Claude Code, Claude Desktop, Cursor, and any other MCP-compatible client — access Norn on your behalf.
Once connected, you can ask your AI assistant things like:
- "Screen for large-cap tech stocks with a Sharpe ratio above 1.5."
- "What's the current allocation of my Roth IRA at Fidelity?"
- "Build a Black-Litterman optimized portfolio with these five tickers, assuming NVDA outperforms by 10%."
- "Save that portfolio to my Growth workspace."
Prerequisites
- A Norn account with an active Pro subscription. Account and portfolio tools require Pro.
- An MCP-compatible AI client. Below covers Claude Code and Claude Desktop.
- A modern web browser for the OAuth login step.
Endpoint reference
For automation or unusual clients. Most users can skip this — the walkthroughs below cover client-specific setup.
| Field | Value |
|---|---|
| URL | https://norn-data.com/mcp |
| Transport | Streamable HTTP (per MCP spec) |
| Auth | OAuth 2.0 (PKCE), authorization code flow |
| Scopes | mcp:read, mcp:write |
| Discovery | https://norn-data.com/.well-known/oauth-protected-resource |
No API keys, no manual tokens — the "log in with Norn" browser flow does everything. Refresh tokens are handled by the client SDK.
Setup for Claude Code
Claude Code is Anthropic's terminal-based AI coding assistant.
-
Install Claude Code if you haven't already. Follow the instructions at docs.claude.com/en/docs/claude-code.
-
Add the Norn MCP server. Either method works — pick whichever you prefer.
Option A — in-session
/mcpcommand (recommended). Start Claude Code in any project directory and type:/mcpIn the MCP management interface, choose "Add server" and enter:
- Name:
norn - URL:
https://norn-data.com/mcp - Transport:
HTTP(streamable)
Option B — CLI command. From your shell:
claude mcp add --transport http norn https://norn-data.com/mcp - Name:
-
Authenticate. Claude Code opens a browser window to Norn's login page the first time it needs the connection. Sign in with your Norn credentials and approve the requested scopes (
mcp:read,mcp:write). The browser hands the session back to Claude Code automatically. -
Verify. Type
/mcpinside a session, or runclaude mcp listin the shell. Norn should appear asconnected. -
Try it out. In a Claude Code session, ask:
"Using the norn MCP server, list the organizations I'm a member of."
Config file reference
To commit the server config to a repo (so teammates get it automatically), add this to .mcp.json at your project root (or ~/.claude.json for a global config):
{
"mcpServers": {
"norn": {
"type": "http",
"url": "https://norn-data.com/mcp"
}
}
}
OAuth still runs through the browser on first use — the config file just tells Claude Code where the server lives.
Setup for Claude Desktop
Claude Desktop is Anthropic's Mac / Windows desktop app.
Note: Claude Desktop's built-in "Connectors" panel lists Anthropic-approved MCP servers from the Software Directory. Norn is applying for that directory — once approved, connection will be one click. Until then, connect Norn as a custom connector.
Option A — Connectors UI (recommended)
Requires a recent Claude Desktop version.
- Open Claude Desktop → Settings → Connectors.
- Click "Add Custom Connector" (button wording varies between releases — look for "Custom", "Add server", or a
+icon in the Connectors area). - Enter:
- Name:
Norn - URL:
https://norn-data.com/mcp - Transport:
HTTP (streamable)
- Name:
- Claude Desktop opens a browser window to Norn's login page. Sign in with your Norn credentials and approve the
mcp:readandmcp:writescopes. - Once the browser redirects back, Norn appears in the Connectors panel as Connected.
- Start a new Claude conversation and ask: "List my Norn organizations."
Option B — Config file with mcp-remote (fallback for older Claude Desktop)
Older Claude Desktop builds don't have the Connectors UI and speak MCP over stdio only. To connect to Norn's remote HTTP server from those versions, use the mcp-remote proxy — a small npx-run process that bridges stdio to Norn's HTTP endpoint and handles the OAuth handshake.
-
Install Node.js (v18 or newer) if you don't already have it.
mcp-remoteruns vianpx. -
Edit Claude Desktop's config file.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the
nornentry insidemcpServers:{ "mcpServers": { "norn": { "command": "npx", "args": ["-y", "mcp-remote", "https://norn-data.com/mcp"] } } }If you already have other MCP servers configured, add the
nornkey alongside them — don't overwrite the file. - macOS:
-
Fully quit and reopen Claude Desktop so it picks up the config.
-
The first time Claude Desktop uses the server,
mcp-remoteopens a browser window to Norn's login page. Sign in with your Norn credentials and approve the requested scopes. Subsequent starts reuse the stored session. -
In a new Claude conversation, ask: "List my Norn organizations."
Which option should you use? If your Claude Desktop has a "Connectors" tab in Settings, use Option A — it's simpler and doesn't require Node.js. Only fall back to Option B if the Connectors UI is missing or your version can't add custom connectors.
What Norn can see when connected
When you connect an MCP client, the client can call read tools without prompting you (it's your client, on your machine). Read tools cover:
- Your organizations and workspaces
- Your saved portfolios and their computed weights
- Your brokerage accounts, positions, and transaction history
- Norn's full stock database (screening, correlations, quant summaries)
Write tools (create / edit / delete saved portfolios) require the client to have obtained the mcp:write scope during login. If you skipped it, you can re-authenticate to grant it.
Norn does not read anything from your AI client's memory, chat history, or uploaded files. The connection is one-way: your client reads and writes Norn state; Norn does not read the client's state.
Troubleshooting
- "Authentication failed" or 401 errors: Sign out of Norn in your browser and re-authenticate through the MCP client.
- "Permission denied: organization X (Pro+ required)": The organization you're targeting is on a lower tier. Upgrade in the Norn web app.
- Tools show up but always return empty: Verify you're passing an
organization_idyou're actually a member of. Calllist_organizationsfirst. - Everything else: Email support@nornhq.com.