Skip to main content
Glama
jin-codes

Porticific MCP Server

by jin-codes

porticific

English · 한국어

A portfolio journal as a service: record why you bought each holding, check that thesis every day, and see live prices — from a web UI or from any MCP client (Claude Desktop, Claude.ai, Claude Code).

Personal journal tool, not investment advice. See Disclaimer.

Features

  • Web UI — dashboard, per-stock page (thesis, analysis history, price chart, trades), watchlist, trades, settings

  • MCP server — /api/mcp, 34 tools to read the portfolio and edit it (record buys/sells, thesis and thesis claims, watchlist, tags, DCA plans). OAuth (Claude.ai connectors) or API key

  • Thesis tracking — split a buy thesis into checkable claims and track holding / weakened / broken over time

  • Daily analysis — a signal and reasoning per ticker against the buy thesis and the previous day's analysis, then a portfolio summary and a watchlist top pick (needs ANTHROPIC_API_KEY)

  • Email digest — opt-in alerts for signal changes and upcoming events

  • Security model — every per-user table has user_id + RLS with an owner SELECT policy and no write policies. All writes go through the server after the caller is verified. Buy/sell are atomic SQL functions only the service role can run

Related MCP server: agnifolio-mcp

Stack

Next.js (App Router, TypeScript) · Supabase (Postgres, Auth, RLS) · Google OAuth · Anthropic API · deployable on Vercel

Setup

cp .env.local.example .env.local   # fill in the values
npm install
npm run dev
  1. Create a Supabase project and apply supabase/migrations/ in order (CLI: supabase db push).

  2. Enable the Google provider in Supabase Auth. Add http://localhost:3000/auth/callback (and your production URL) to the allowed redirect URLs, and add https://<ref>.supabase.co/auth/v1/callback to the Google OAuth client.

  3. Sign in once, then (optionally) turn off new sign-ups in Supabase Auth while it is single-user.

Deploy (Vercel)

  • Import the repo and set the env vars from .env.local.example (including CRON_SECRET, which Vercel sends to the cron routes).

  • vercel.json schedules /api/cron/prices and /api/cron/daily-analysis on weekdays after the US close, /api/cron/thesis-check on Saturdays, and /api/cron/alerts daily (email digest, opt-in per user in Settings; needs ALERT_SMTP_USER / ALERT_SMTP_PASS, e.g. a Gmail app password). Vercel Hobby only allows daily crons.

  • For intraday prices every 10 minutes, set the repo secrets SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY; .github/workflows/fetch-prices.yml then runs scripts/fetch_prices.py.

  • Set NEXT_PUBLIC_SITE_URL to the production origin (shown on the settings page).

Connect Claude

  • Claude.ai / Claude Desktop connector: add a custom connector with https://<your-domain>/api/mcp. It signs in with Google and shows a consent screen.

  • API key: create one in Settings, then

    claude mcp add --transport http porticific https://<your-domain>/api/mcp \
      --header "Authorization: Bearer prt_..."

Market data

Prices come from src/lib/prices/ behind a provider interface. The default provider is unofficial (Yahoo Finance) and for personal use only. Replace it with a licensed provider before offering the service to other people.

Develop

npm run lint && npm run typecheck && npm test && npm run build

Business logic lives in src/lib/ and is shared by the UI server actions and the MCP tools. See CLAUDE.md for conventions. Schema changes go in a new file under supabase/migrations/ (never edit an applied one).

License / disclaimer

MIT, see LICENSE. Nothing here is investment advice, and prices may be delayed or inaccurate. The default price provider uses Yahoo Finance through unofficial libraries (yahoo-finance2, yfinance) for personal use only. Bring your own Supabase project and API keys: this repo ships with no credentials.

Related MCP Connectors

  • Research US-listed companies and funds with the StockPortfolio.pro MCP server. Tools cover SEC filing-grounded financials, filing timelines, company comparisons, watchlist screens, fund profiles, and cited filing questions. Filed figures include their fiscal period and EDGAR source URL; missing filing data is returned as null. Public tools work without authentication; optional API-key or OAuth access is supported. US-listed, USD-reporting companies only. Keyless access includes 3 free AI questions per rolling 30-day window. To get more now, choose the Dev plan ($19.99/month, 200 credits) at https://www.stockportfolio.pro/register?plan=dev, then follow https://www.stockportfolio.pro/docs/api-mcp to connect with OAuth or an API key. Or wait for the free allowance to renew.

  • Trades, stats, playbooks and notes from your Trandence trading journal. Read-only by default.

  • Remote MCP for KOYN FX: account, markets, and TradeLocker tools over OAuth.

  • Market Data App MCP — wraps the Market Data App API (marketdata.app)

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides authentication via wallet sign-in (SIWE) and authorization with scoped access to read and trade portfolios, enabling secure portfolio management through natural language.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Official MCP server for Agni Folio, a free multi-currency wealth & portfolio tracker. 23 tools for holdings, performance, FIRE planning, crypto P&L, and confirm-gated writes — hosted endpoint with OAuth 2.1, plus a Docker stdio bridge in this repo.
    4
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Gives MCP clients tools to discover tokenized Stock Tokens, read prices, corporate actions, and portfolio balances, and create route quotes. It prepares policy-checked trade plans with an explainable verdict and unsigned transactions for the user's wallet to sign.
    8
    231 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants in MCP clients to query real-time market data, inspect portfolio and Web3 wallet balances across brokers, place protected equity/ETF, crypto, forex, options, DeFi swap, and prediction market orders, and run backtests.
    MIT