mcp-portfolio-ideas
MCP Portfolio Ideas helps you expand your LLM conversations with solid financial tools, efficient thinking, and relevant data.
Ask AI about mcp-portfolio-ideas
Powered by Claude · Grounded in docs
I know everything about mcp-portfolio-ideas. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MCP Portfolio Ideas (Hosted Remote MCP Server)
mcp-portfolio-ideas is a hosted MCP server for portfolio understanding and idea generation with LLMs.
With the guest key below, your MCP client can:
- create equity portfolios and inspect their allocations
- analyze risk, concentration, sector exposure, and tail risk
- optimize portfolios using the full no-input strategy suite
- compare portfolios against benchmarks
- explore available strategies and settings
The server endpoint is:
https://mcp-portfolio-ideas.metapartner.ai/mcp/sse/
Why Use It
Without MCP, portfolio analysis in chat is mostly unstructured text and guesses.
With this server, your LLM can call typed tools and return:
- reproducible outputs
- strategy-aware optimization
- auditable settings used for each run
- a consistent workflow from portfolio input to optimized result
Quick Start (LM Studio First)
LM Studio uses an mcp.json file with an mcpServers object.
- Open your LM Studio MCP config file.
- Add the server entry below under
mcpServers. - Restart/reload MCP servers in LM Studio.
Use this entry:
{
"mcpServers": {
"mcp-portfolio-ideas": {
"url": "https://mcp-portfolio-ideas.metapartner.ai/mcp/sse/",
"transport": "sse",
"headers": {
"X-API-Key": "mcp_portf_ideas_guest_512B6vEMEMUZqJorLW9JlEzQrpMagnlwi-95QkqvxZk"
}
}
}
}
Copy-paste example file:
github/examples/lm-studio-mcp.json
Use In Other MCP Clients
Any MCP client that supports:
- remote
ssetransport - custom HTTP headers
can use this same server. See:
github/examples/remote-mcp-entry.json
Tool Catalog
Current toolset:
Portfolio management
create_portfolio
- Purpose: create and store an equity portfolio from symbols or symbol→weight map.
- Args:
portfolio:dict[str,float]orlist[str]portfolio_name(optional):str
- Note: bond ETFs (BND, AGG, TLT, etc.) are not available at this level and will be excluded.
- Access: guest + registered.
list_portfolios
- Purpose: list accessible portfolios and pre-built example portfolios.
- Args:
examples(optional):bool
- Access: guest + registered.
get_portfolio_details
- Purpose: inspect a portfolio's metrics, concentration, sector exposure, tail risk, or performance contributors.
- Args:
portfolio_id:strdetail(optional):"metrics" | "concentration" | "sector_exposure" | "tail_risk" | "contributors" | "all" | "help"
- Access: guest + registered.
compare_benchmark_portfolios
- Purpose: compare a portfolio's risk/return profile against a benchmark.
- Args:
portfolio_name:strbenchmark_portfolio_name:str
- Access: guest + registered.
rename_portfolio
- Purpose: rename an existing portfolio.
- Args:
old_name:strnew_name:str
- Access: registered users only.
delete_portfolio
- Purpose: delete a portfolio.
- Args:
portfolio_id:str
- Access: registered users only.
Optimization
manage_optimization_params
- Purpose: explore available strategies, constraints, and settings; validate proposed settings.
- Args:
operation:"get" | "validate" | "set" | "strategies" | "hierarchy" | "constraints" | "profiles" | "help"portfolio_name(optional):strsettings(optional):dict— used withvalidateorsetscope:"user" | "portfolio"(default:"user")
- Access: guest + registered.
optimize_portfolio
- Purpose: optimize an existing portfolio and save result as
optimized_{PORTFOLIO}_{TIMESTAMP}. - Args:
portfolio_name:strstrategy: strategy name or"auto"constraints(optional):dict— e.g.{"max_weight_per_asset": 0.30}strategy_parameters(optional):dict— e.g.{"risk_free_rate": 0.03}save_as_preference(optional):bool
- Access: guest + registered.
Discovery and feedback
get_help
- Purpose: task-focused help and prompt guidance.
- Args:
topic(optional):str
- Access: guest + registered.
get_capabilities
- Purpose: inspect strategies, constraints, library support, and role permissions.
- Args: none.
- Access: guest + registered.
submit_feedback
- Purpose: send product feedback / feature requests.
- Args:
text:str
- Access: guest + registered.
Available Strategies
Strategies available at guest level (no additional inputs required):
maximize_sharpe_ratio— maximize risk-adjusted returnminimize_volatility— minimize portfolio variancemaximize_return— maximize expected returnhrp— Hierarchical Risk Parityherc— Hierarchical Equal Risk Contributionequal_risk_contribution— equalize each asset's risk contributionmaximum_diversification— maximize the diversification ratio
Strategy aliases also accepted:
mean-variance,mean_variance,markowitz
Additional strategies (higher access levels):
- target-return and target-risk strategies
- CVaR-based strategies
- Black-Litterman (requires forward-looking views)
Example User Interactions
Starter prompts for your LLM:
- "Show me the available example portfolios."
- "Create a portfolio named
CoreTechwith AAPL 40%, MSFT 35%, GOOGL 25%." - "Show performance metrics and sector exposure for
CoreTech." - "Optimize
CoreTechfor maximum Sharpe ratio with max 30% per asset." - "Optimize
CoreTechusing HRP — no inputs needed." - "Compare
CoreTechagainstexample_sector_technology."
More prompt flows:
examples/prompt-playbook.md
Technical Implementation
High-level architecture:
- FastAPI service with MCP mounted at
/mcp - SSE transport at
/mcp/sse/
Implementation highlights:
- Optimization:
- supports
PyPortfolioOptandRiskfolioLib - loads data via
yfinance
- supports
- Defaults:
- 1 year horizon
- mean-variance portfolio optimization
- maximize Share ratio (relative return, scaled by associated risk)
Access Modes and Limits
- The config above uses a guest key:
- create equity portfolios, run the full optimization suite, analyze and compare
- guests operate in a shared workspace — it is cleaned up nightly
- For private portfolios and access to advanced strategies (target-return, CVaR, Black-Litterman), use a registered user key (ask us).
Disclaimer
This service is for informational and educational purposes, it does not constitute financial advice. Portfolio optimization is based on historical data which may not predict future performance. Past performance does not guarantee future results. All investments carry risk including potential loss of principal. Consult with a qualified financial advisor before making investment decisions. Calculations have been done using your assets percentages, but scaled to an account value of $100,000.00 for illustrative purposes. You are expected to learn and make up your mind from this analysis, not to to follow it blindly.
