- summary
- Remote MCP server for portfolio reads and Warren MOAT analysis. Listed via Anthropic's Connectors Directory (Claude marketplace).
- server url
- https://trefolio.com/api/mcp/user/mcp
- transport
- Streamable HTTP (POST JSON-RPC to /api/mcp/user/mcp)
- auth
- type
- oauth2
- authorization server
- https://user.trefolio.com
- protected resource metadata
- https://trefolio.com/.well-known/oauth-protected-resource
- oauth callback
- https://claude.ai/api/mcp/auth_callback
- oauth client id
- claude-mcp
- anthropic held credentials
- Email [email protected] with claude-mcp client_id + secret if DCR is unavailable.
- pat alternative
- Cursor and Claude Desktop config file still support `Authorization: Bearer tfp_pat_…` (not accepted in the public directory UI).
- documentation url
- https://trefolio.com/docs
- privacy policy url
- https://trefolio.com/privacy
- support contact
- https://trefolio.com/contact
- example prompts
- List my portfolios and show holdings with stored EUR values.
- Run a Warren MOAT evaluation for AAPL and summarize the verdict.
- Screen my MOAT universe for scores above 70 in the technology sector.
- tools read only
- listPortfolios
- listHoldings
- listCash
- getMoatEvaluation
- generateMoatNarrative
- listMoatReports
- screenMoat
- tools write
- saveMoatReport
- submission portal
- Claude.ai → Admin settings → Directory (Team/Enterprise) or https://claude.com/docs/connectors/building/submission
- review email
- [email protected]
- prerequisites
- HTTPS server URL
- OAuth 401 with WWW-Authenticate resource_metadata on unauthenticated requests
- Every tool has title + readOnlyHint or destructiveHint
- Public docs + privacy policy URLs
- Test account credentials for reviewers
- troubleshooting
- issue
- 401 / missing auth / expired OAuth token
- resolution
- Reconnect the connector in Claude.ai to refresh the OAuth access token. Unauthenticated MCP requests return 401 with WWW-Authenticate resource_metadata pointing at /.well-known/oauth-protected-resource.
- issue
- user_not_linked (IdP account not linked to trefolio user)
- resolution
- OAuth succeeded on user.trefolio.com but no local trefolio user matches that IdP subject. Sign in once at trefolio.com with the same account, then retry the connector.
- issue
- MOAT quota errors (quota_exceeded)
- resolution
- getMoatEvaluation with fresh=true consumes stock_evaluation quota; generateMoatNarrative consumes ai_consult quota. Omit fresh for cached reads, or upgrade tier when limits are hit.
- issue
- OAuth callback failures
- resolution
- Confirm oauth_callback is https://claude.ai/api/mcp/auth_callback, authorization_server is https://user.trefolio.com, client_id claude-mcp is registered with Anthropic, and CORS preflight (OPTIONS) succeeds on the MCP URL.
- issue
- PAT vs OAuth confusion
- resolution
- Connectors Directory uses OAuth 2.0 only. Claude Desktop config-file MCP uses Authorization: Bearer tfp_pat_… — see /docs/claude-desktop.