Briefs Finance Connector
Question 1 of 2

What do you want your portfolio to do?

Which sounds more like you?

You're a General Purpose investor

Your copy-paste prompt below is now personalized to this profile — it leads with the right Briefs Score archetype.

Watch: connecting Briefs to Claude

Bring Briefs into Claude or ChatGPT

Investment research, financial scoring, watchlists, and portfolio coaching — right inside the AI tools you already use, secured behind your Briefs account.

How to connect with other providers

Works with any connector-compatible client — pick yours below.

  1. 1

    Add the connector

    Use a one-click link, paste a command, or add https://mcp-dev.briefs.co/mcp manually in your client's connector settings.

  2. 2

    Sign in via OAuth

    Your client opens a browser window. Approve access with your existing Briefs account — no API keys to manage.

  3. 3

    Call tools

    Try whoami or help first to confirm the connection, then explore the catalog below.

Claude

Recommended

claude.ai on web, desktop, and mobile share one connector config.

Add to Claude

Opens Claude's Add custom connector dialog prefilled with this server — you review and confirm. Works on Free, Pro, and Max. Team and Enterprise admins: use Organization settings → Connectors with the same link.

Manual: Customize → Connectors → Add custom connector.

Claude Code

CLI coding agent.

claude mcp add --transport http briefs-finance https://mcp-dev.briefs.co/mcp

The OAuth flow opens automatically in your browser. Verify with claude mcp list.

Cursor

One-click install via deep link.

Add to Cursor

OAuth uses automatic dynamic client registration -- nothing to configure.

Manual: Settings → MCP → New MCP Server.

VS Code

GitHub Copilot agent mode.

Add to VS Code
code --add-mcp '{"name":"briefs-finance","type":"http","url":"https://mcp-dev.briefs.co/mcp"}'

ChatGPT

Requires Plus or Pro (or Business/Enterprise with admin enablement) — not available on ChatGPT Free.

  1. Settings → Apps → Advanced settings
  2. Enable Developer mode
  3. Add connector with URL https://mcp-dev.briefs.co/mcp
  4. Complete the OAuth sign-in

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json.

{"mcpServers":{"briefs-finance":{"serverUrl":"https://mcp-dev.briefs.co/mcp"}}}

If OAuth sign-in doesn't trigger, Windsurf may need the mcp-remote local proxy — see the Windsurf docs.

Gemini CLI

Add to ~/.gemini/settings.json.

{"mcpServers":{"briefs-finance":{"httpUrl":"https://mcp-dev.briefs.co/mcp"}}}

OAuth is discovered automatically on the first 401.

Manual configuration

Any other connector-compatible client: Streamable HTTP transport, OAuth 2.0 browser-flow auth, no API keys.

Connector Endpoint
https://mcp-dev.briefs.co/mcp
Connecting to remote MCP servers

Available Tools (65)

Grouped by capability, derived live from the registered tool catalog.

Get guidelines
tier: nullscope: briefs:readwrites: no

Return the full Briefs best-practices / guardrails document. Returns the canonical guide for using Briefs: what Briefs is, how to sequence tools (profile → coach → watchlist/score), the educational and impersonal advice ceiling (BT-883), and entitlement behavior. Bridge for tool-only clients that cannot read skills. Callable by any authenticated token regardless of scope (intentionally not scope-gated); the briefs:read scope tag is the closest convention value for this read-only tool. Side effects: None Idempotency: Safe to retry

Coach foundation build
tier: nullscope: briefs:readwrites: no

Coach the user through a financial-foundation framework — debt payoff, emergency savings, or planning — chosen by the `topic` param (debt | emergency_savings | planning | analyze). Reads the continuity spine (get_coach_context) plus optional capture-only financial-situation answers, then returns a meta-prompt that teaches the framework generically with illustrative example math (avalanche vs snowball, the 3-6 month emergency-fund rule, the foundation ordering). Educational and impersonal state only (BT-883) — never a buy/sell/hold recommendation, never a personalized 'you should' directive, and never the user's captured figures in math. Capture happens via set_profile_answer (pointed to by the prompt) — this tool writes nothing and never moves risk level or guardrails (those are set by profile answers). Personalized figures are Ring 3 (Plaid/BT-440). May reference Briefs content (search_content) when available. Requires briefs:read scope. Side effects: None Idempotency: Safe to retry

Thesis discover
tier: nullscope: briefs:readwrites: no

Start a Thesis Finder discovery session from a free-text investment idea (seed). Returns one of two shapes keyed on `kind`: (1) a **Question** (`kind: "question"`) when the seed is ambiguous — it carries a `prompt`, selectable `options` (each with an `option_id`), and an opaque `state` blob. Present the options to the user; when they pick one, call **thesis_refine** with that `option_id` and the `state` blob echoed verbatim from this tool's resource. The option id "__other__" means the user supplied free text — pass it as refine's free_text. (2) a **DiscoveryResult** (`kind: "result"`) with matched ETFs, a thesis summary, and sources — skip refine and call **thesis_plan** with the `result` blob echoed verbatim from this tool's resource. If the user has exhausted their monthly discovery limit, returns a readable upgrade prompt instead of a result. Requires briefs:read scope. Side effects: Consumes one Thesis Finder query against the monthly cap (Plus/Platinum tiers; Pro and free are uncapped) Idempotency: Not idempotent (each call consumes a query and may start a new session)

Get briefs score
tier: proscope: briefs:readwrites: no

Return the Briefs investor-type scores for a stock ticker — one per investor archetype (Income, Wealth Preservation, Growth). Each archetype returns a letter grade and a neutral-labelled 7-axis snowflake (axis label → 0–100 value) plus a status (scored / na / stale). The scores are deterministic and educational; the underlying methodology (weights, formulas, thresholds) is not exposed. Call get_score_glossary to learn what each axis label means. Returns score_available=false when nothing has been computed for the symbol yet — check unavailable_reason to tell why: "not_yet_scored" means a real ticker whose score simply hasn't been computed/frozen yet (safe to retry shortly); "ticker_not_found" means the symbol itself could not be resolved by any data vendor — e.g. a company name ("Apple") or a misspelled ticker ("APPL") instead of the real symbol ("AAPL") — retrying won't help, the caller should re-check the symbol instead; "store_unavailable" means an infra/store outage, also safe to retry. This tool does NOT resolve a company name to a ticker — pass an actual ticker symbol. Requires a Briefs Pro subscription. A “Briefs score” is Briefs’ proprietary, named investor-type score — not a generic financial score. The briefs_score in this tool’s name is intentional and refers to that named concept; see get_guidelines for what a Briefs score is and how the score tools fit together. Side effects: None Idempotency: Safe to retry

Get profile answers
tier: nullscope: briefs:readwrites: no

Get the current user's answers to all profile questions. Returns the question id, label, input type, and the user's answer (text or selected options). Use this to see what the user has already answered. Side effects: None Idempotency: Safe to retry

Create watchlist
tier: nullscope: briefs:writewrites: yes

Create a new named watchlist for the user. Use this to set up a sleeve (e.g. "AI Semis") before adding tickers with create_watchlist_item. Returns the new watchlist's id. Requires briefs:write scope. Side effects: Creates a watchlist row Idempotency: Safe to retry (duplicate name returns conflict, no duplicate created)

Create bookmark
tier: nullscope: briefs:writewrites: yes

Save a content item as a bookmark. Supports brief, article, lesson, and post types. If no collection_id is specified, the item is saved to the default 'Saved' collection. Requires briefs:write scope. Side effects: Creates a bookmark row (in the default 'Saved' collection if none specified) Idempotency: Safe to retry (duplicate content returns conflict, no duplicate created)

Create comment
tier: proscope: briefs:writewrites: yes

Create a comment on a community feed post. Provide the post_id and text content. Posts containing external URLs will be auto-flagged for review. Requires a Briefs Pro subscription. Admins and support staff with community:moderate scope act with elevated privileges. Call get_post_thread first to get the post_id and understand the conversation context. Side effects: Creates a comment row; may auto-flag for moderation Idempotency: Not idempotent (each call creates a new comment)

Get article
tier: nullscope: briefs:readwrites: no

Read a single published Briefs news article by id (from search_articles). Returns the title, link, publish date, and full article content as HTML. Only published articles are available; drafts are not returned to members. Side effects: None Idempotency: Safe to retry

List reports
tier: nullscope: briefs:readwrites: no

List INDIVIDUAL Briefs research reports, newest first (content-identity design: a report lesson like "Briefs Pro Reports | 2026" is a year-archive, not a report itself — each entry here is one specific report, e.g. "Growth Report | August 2026"). Each entry has the content_id (the primary key for read_report_section), the parent lesson_id/lesson_slug and module_slug, title, published_on, minimum tier, whether it's locked for your current subscription tier, and has_text (false for a stub entry with no extracted body text — skip those). The FIRST entry is the latest report. Use search_report_content to find a specific passage across reports by natural language, or read_report_section with the content_id to page through a specific report deterministically (works even for a just-published report search hasn't ranked yet). Side effects: None Idempotency: Safe to retry

Create chat project
tier: nullscope: briefs:writewrites: yes

Create a new chat project (folder) for organizing chat sessions. Requires briefs:write scope. Side effects: Creates a chat project (folder) row Idempotency: Not idempotent (each call creates a new project)

Skills Repository

Prebuilt Claude Skills for common Briefs workflows.

Browse GitHub

Frequently asked questions

Is this free?

Connecting is free — you just need a Briefs account. Individual tools are gated by your Briefs subscription tier (Free, Plus, Pro, Platinum); calling a tool above your tier returns a friendly upgrade message instead of an error.

What is an MCP connector?

MCP (Model Context Protocol) is the open standard Claude, ChatGPT, and other AI assistants use to call outside tools. Adding the Briefs connector lets your AI assistant call Briefs Score, watchlists, reports, and portfolio coaching directly inside your normal chat.

Which AI clients does this work with?

Claude, Claude Code, Cursor, VS Code, ChatGPT, Windsurf, and Gemini CLI all have one-click or copy-paste setup below — plus any other MCP-compatible client via manual configuration. See Connect for every provider's steps.

Is my Briefs account secure?

Yes. The connector authenticates through OAuth — you sign in with your existing Briefs account in your browser, and no API keys are ever copied or stored in your AI client.

Does this give financial advice?

No. Every tool call returns educational investment research and data analysis, never a personalized buy/sell/hold recommendation or portfolio allocation advice. For personal decisions, talk to a licensed advisor.

What can I actually ask it to do?

Check the Briefs Score for any ticker, search and compare stocks, manage your watchlists, read your saved reports, and get portfolio coaching grounded in your own investor profile. See the full catalog in Available Tools.

I don't have a Briefs account yet — what do I do?

Step 1 above (Login to Briefs) creates one for free if you don't already have it, so start there.