Skip to content

Connect Your AI (MCP)

Agni Folio ships a Model Context Protocol (MCP) server. Point any MCP-compatible client — Claude Desktop, Cursor, Cline, Continue, or your own — at our server, sign in once, and your AI can read your holdings, run portfolio analytics, and propose transactions just like Astra does inside the app.

Model Context Protocol is an open spec for connecting AI assistants to external data and tools. Instead of pasting your portfolio into ChatGPT or building bespoke integrations for every tool, MCP gives any AI client a standard way to call typed functions on your data.

Agni Folio’s MCP server lives at:

https://agnifolio.com/mcp

It speaks JSON-RPC 2.0, supports MCP protocol version 2025-03-26, and is gated by OAuth 2.1 with PKCE.

  • Use the AI you already pay for. If you have Claude Desktop, Cursor, or a Pro plan elsewhere, you don’t need to use Astra inside the Agni Folio web app — your existing AI can answer portfolio questions directly with your real data.
  • Bring your own model. Run a local LLM via an MCP-compatible client (Cline, Continue) and keep your portfolio analysis fully on-device after the data is fetched.
  • Mix it into wider workflows. Ask your AI to “look at my Agni Folio holdings and compare them to the watchlist in this Notion doc” — MCP lets one assistant pull from many sources in a single conversation.
  • Build automations. Any tool that speaks MCP — including custom scripts — can query your portfolio without screen-scraping or unofficial APIs.

Any client that implements MCP 2025-03-26 with OAuth 2.1 should work out of the box. Tested:

ClientStatus
Claude Desktop✅ Supported via custom MCP server URL
Cursor✅ Supported via mcpServers config
Cline✅ Supported (VS Code extension)
Continue✅ Supported (open-source AI coding assistant)
Custom MCP clients✅ Anything implementing the MCP 2025-03-26 spec
  1. Open the MCP settings in your AI client.

    Each client has its own way to add a remote MCP server. Look for a “Remote MCP server” or “Custom MCP server URL” field.

    In Settings → Developer → MCP Servers, click “Add” and enter:

    https://agnifolio.com/mcp

    Claude Desktop will automatically discover the OAuth flow via .well-known/oauth-authorization-server and walk you through the rest.

  2. Approve the OAuth consent screen.

    The first time your AI client calls Agni Folio, you’ll be redirected to a consent screen showing:

    • Which client is requesting access (by name)
    • Which scopes it wants: agnifolio:read, agnifolio:write, or both
    • The plain-English permissions those scopes grant

    Click Approve to grant access, or Deny to abort. We never share your credentials with the AI client — only a scoped access token.

  3. Start asking your AI portfolio questions.

    Open your MCP-enabled chat and try:

    • “List my Agni Folio holdings”
    • “What’s my exposure to technology stocks?”
    • “Add a buy transaction for 100 shares of AAPL at $185 to my brokerage account” (mutating — requires agnifolio:write scope)

    Your AI will discover the available tools, call the right one, and answer with your real data.

Your connected AI gets the same tool catalogue Astra has inside Agni Folio:

CapabilityTool examplesScope required
Read holdingslist_holdings, get_entry_details, get_recent_transactionsagnifolio:read
Run analyticscompute_concentration, compute_xirr, get_dividend_summaryagnifolio:read
Propose changesadd_portfolio_entry, add_transaction, edit_entry, delete_entryagnifolio:write

Use tools/list (the standard MCP discovery method) to see the live, up-to-date catalogue from any client.

ScopeGrantsRecommended for
agnifolio:readRead holdings, run analytics, view transactionsRead-only AI assistants, dashboards, research
agnifolio:writeEverything in read PLUS create / edit / delete entries and transactionsAI assistants you trust to make changes on your behalf

You decide which scopes to grant at the consent screen. Most users start with read only and upgrade to write once they’ve seen how the AI behaves.

  • OAuth 2.1 + PKCE. Industry-standard authorization-code flow — no password sharing, no copy-paste tokens.
  • Dynamic Client Registration (RFC 7591). New MCP clients self-register; you approve them by name on the consent screen.
  • Scope-gated calls. Read-only tools require agnifolio:read; mutating tools require agnifolio:write. You choose which to grant on the consent screen.
  • Per-call audit trail. Every tool execution is logged: which client called, which tool, when. You can audit your own usage from Settings → Connected AI.
  • Revocable at any time. Disconnect a client from Settings → Connected AI. Future requests from that client are rejected immediately.

Open Settings → Connected AI to:

  • See every AI client connected to your account, by name
  • Review the scopes each one has
  • See the last time each client called the server
  • Revoke any client with one click (instant — no cooldown)

Every external MCP call shows up alongside Astra’s in-app activity in the same audit view.

If you’re building or debugging an MCP client, our discovery endpoints follow the spec:

Terminal window
# Authorization server metadata (RFC 8414)
curl https://agnifolio.com/.well-known/oauth-authorization-server
# Protected resource metadata
curl https://agnifolio.com/.well-known/oauth-protected-resource

Both return JSON declaring our authorization_endpoint, token_endpoint, registration_endpoint, revocation_endpoint, supported scopes, supported response types, and code_challenge_methods_supported: ["S256"].

The resource URL is https://agnifolio.com/mcp.

  • Real-time price quotes during market hours. Agni Folio’s MCP returns cached daily prices, not the live tape. Use your broker’s app for execution-time prices.
  • Bulk one-time imports. If you have a 500-row broker statement, the dedicated AI Transaction Import page is faster and more deterministic than asking an external AI to do the same.
  • Sensitive accountability conversations. Money Crew check-ins, legacy nominee setup, and other people-facing workflows live inside the Agni Folio app — they’re not exposed via MCP.