Bullion Tracker MCP
Pricing
from $5.00 / 1,000 add bullion items
Bullion Tracker MCP
SQLite-backed bullion portfolio tracker with live spot price sync. Track gold, silver, platinum, palladium, and copper holdings. Calculates cost basis, unrealized gains, and portfolio performance.
Pricing
from $5.00 / 1,000 add bullion items
Rating
0.0
(0)
Developer
Brian Mowell
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
SQLite-backed bullion portfolio tracker with live spot price sync via yfinance.
Supported metals: Gold, Silver, Platinum, Palladium, Copper
Known products: American Eagle, Maple Leaf, Krugerrand, Buffalo, Philharmonic, Britannia, Panda
Tools
| Tool | Description | PPE |
|---|---|---|
add_bullion | Add a holding to the portfolio | $0.005 |
get_portfolio | Full item list with live values | $0.005 |
get_portfolio_summary | Totals grouped by metal | $0.005 |
refresh_values | Sync all values to current spot prices | $0.01 |
record_sale | Mark item sold, record realized gain | $0.005 |
portfolio_performance | Full P&L: unrealized + realized gains | $0.01 |
remove_bullion | Permanently delete an item | $0.005 |
Setup
No API keys required. Uses yfinance for spot prices (free).
Local Development
cd bullion-trackerpython3 -m venv venvsource venv/bin/activatepip install -r requirements.txtpython run_server.py
Server starts on http://localhost:4321/mcp
Optional: Custom DB path
export BULLION_DB_PATH="/path/to/bullion.db"python run_server.py
Testing
from server import add_bullion, get_portfolio, get_portfolio_summary# Add a 1 oz gold American Eagleresult = add_bullion(user_id="user_123",metal_type="gold",weight_oz="1",bullion_type="coin",product_name="American Eagle",purity=0.9167,purchase_price=2050.00,purchase_date="2024-01-15",purchase_source="APMEX",)print(result)# Add 10 oz silver barresult = add_bullion(user_id="user_123",metal_type="silver",weight_oz="10",bullion_type="bar",product_name="Generic Silver Bar",purchase_price=280.00,)print(result)# Add fractional goldresult = add_bullion(user_id="user_123",metal_type="gold",weight_oz="1/4",bullion_type="coin",product_name="Maple Leaf",purity=0.9999,)print(result)# Get portfolioportfolio = get_portfolio(user_id="user_123")print(f"Total value: ${portfolio['total_value_usd']:,.2f}")# Summary by metalsummary = get_portfolio_summary(user_id="user_123")for metal in summary["summary"]:print(f"{metal['metal_type'].title()}: {metal['total_oz']} oz = ${metal['total_value_usd']:,.2f}")
Deploy to Apify
rm -rf venvapify push
Re-enable Actor Standby after push. No environment variables required.
Claude Desktop config
{"mcpServers": {"bullion-tracker": {"command": "npx","args": ["-y", "mcp-remote", "https://YOUR_USERNAME--bullion-tracker.apify.actor/mcp?token=YOUR_APIFY_TOKEN"]}}}
PPE Pricing
| Event | Price |
|---|---|
| add-bullion | $0.005 |
| portfolio-query | $0.005 |
| refresh-values | $0.01 |
| record-sale | $0.005 |
| portfolio-performance | $0.01 |
80% revenue share on Apify.
Notes
- Spot prices cached 1 hour via yfinance futures tickers
- Fallback prices used if yfinance unavailable
- SQLite stored at
/tmp/bullion_tracker.dbby default (Apify ephemeral storage) user_idisolates portfolios — use a consistent ID per userweight_ozaccepts decimals ("0.5") and fractions ("1/4", "1/10")
License
MIT — Mowell Labs 2025