akapal-mcp-portfolio
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@akapal-mcp-portfolioShow me my portfolio holdings and account summary"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
akapal-mcp-portfolio
MCP server that exposes portfolio and brokerage data through Model Context Protocol tools over streamable HTTP transport.
Data is currently backed by mock brokerage data (StaticBrokerageService). Live quotes are attempted first via LiveMarketService (yfinance) with automatic fallback to mock data when the live source is unavailable. A real E*TRADE API connection is planned as the next step.
Features
Streamable HTTP transport on port
8080(configurable viaPORT), binds to0.0.0.0; MCP endpoint served at/mcpMock brokerage data — balances, holdings, sector allocation, quotes, market summary, FAQ
Live quote fallback — real-time quotes when available, mock otherwise
Order preview — estimates the portfolio impact of a buy/sell order without placing it
Concentration analysis — flags positions exceeding a 15% threshold
Keyword search — queries brokerage data and lists public financial sources (Yahoo, Bloomberg, Reuters, Morningstar, SEC)
Related MCP server: Open Stocks MCP
Requirements
Python 3.11+
Installation
pip install .For development:
pip install -e .Usage
Start the server:
python -m appOr via Docker:
docker build -t akapal-mcp-portfolio .
docker run -p 8080:8080 akapal-mcp-portfolioThe server listens on http://0.0.0.0:8080 and serves the MCP endpoint at /mcp. Point an MCP client (e.g. Claude Desktop, IDE MCP config, Google Agent Registry) at it to discover and call the tools.
Configuration
Variable | Default | Description |
|
| HTTP port for the streamable HTTP server |
Google Agent Registry
The server is registered in Google Cloud Agent Registry so agents can discover and call its tools. Registration uploads toolspec.json (the MCP tool specification for the 9 tools) and points at the public Cloud Run endpoint.
To register or update the entry:
gcloud agent-registry services create mcp-portfolio \
--project="$PROJECT_ID" \
--location=us-east1 \
--display-name="ETrade Portfolio MCP" \
--mcp-server-spec-type=tool-spec \
--mcp-server-spec-content=@toolspec.json \
--interfaces=url="https://mcp-portfolio-492310803820.us-east1.run.app/mcp",protocolBinding=jsonrpcdeploy.sh runs this automatically after deploying to Cloud Run. Keep toolspec.json in sync with the tools declared in app.py; it must stay under the 10KB specification limit.
Tools
Tool | Description |
| Active account balances and portfolio performance summary |
| All holdings with allocation and performance fields |
| Portfolio allocation by sector |
| Current quote for a symbol; live first, mock fallback |
| Market index summary data |
| Mock support FAQ entries, optionally filtered by text |
| Keyword search over broker data and public sources |
| Estimate mock order impact without placing it ( |
| Positions exceeding the 15% concentration threshold |
Project Structure
├── app.py # FastMCP server, streamable HTTP transport, tool definitions
├── models/ # Dataclasses for account, holdings, quote, market, etc.
├── services/
│ ├── static_brokerage_service.py # Mock brokerage data
│ └── live_market_service.py # Live quotes (yfinance) with fallback
└── toolspec.json # MCP tool specification uploaded to Agent RegistryRoadmap
Connect real E*TRADE API for live brokerage data
Wire up live financial-news retrieval for the public sources in
search_financial_info
This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth
Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server built with the mcp-framework designed to provide brokerage-related tools and functionality. It allows users to integrate financial brokerage services and data into the MCP ecosystem.-
- AlicenseCqualityDmaintenanceAn MCP server providing stock market data and trading capabilities through multiple broker APIs including Robinhood and Schwab.1009Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA Test/Sandbox MCP server that integrates with the SnapTrade API Sandbox environment to provide portfolio oversight, market data, and trading capabilities.-
- AlicenseCqualityAmaintenanceLocal paper-trading and market simulation MCP server for multi-account portfolios, advanced orders, options/futures, backtesting, alerts, and automation.60MIT