StackTrackerdocs
AI layer (MCP)

Tool reference

All 20 StackTracker MCP tools with params and JSON-RPC examples.

The server exposes 20 tools: 9 read and 11 write. Read tools return data and change nothing. Write tools mutate your workspace and revalidate cached data right after they run.

Every call uses the tools/call method. The body shape is:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"<tool>","arguments":{}}}

Projects and portfolio

  • list_projects — READ — list all projects (name, slug, currency, hourly_rate, tagline). Params: none.
  • create_project — WRITE — create a project (slug auto-derived from name). Params: name (required), slug (optional), hourly_rate (number, default 50), currency (default "EUR").
  • get_project_metrics — READ — full ROI picture for one project: cash, hours and priced time, revenue, net, ROI with and without time, monthly burn, verdict. Params: project.
  • get_portfolio_overview — READ — totals across all projects plus per-project rows and a combined sum; flags mixed currencies. Params: none.
  • set_hourly_rate — WRITE — update a project's hourly rate. Params: project, hourly_rate (positive number).

Costs

  • get_cost_breakdown — READ — cash per cost category (expenses plus subscription charges), optional month range. Params: project, from (optional, YYYY-MM), to (optional, YYYY-MM).
  • log_expense — WRITE — record money spent (one-off or variable). Params: project, vendor, amount (positive), date (optional), category (optional), description (optional).
  • add_category — WRITE — create a custom cost category. Params: project, name, emoji (optional).

Subscriptions and renewals

  • list_subscriptions — READ — active subscriptions with id, vendor, plan, amount, cadence, next renewal. Params: project.
  • add_subscription — WRITE — create a subscription and anchor its renewal schedule. Params: project, vendor, amount (positive), currency (optional), cadence (monthly | yearly, default monthly), next_renewal_date, category (optional), plan (optional).
  • cancel_subscription — WRITE — mark a subscription inactive by id (history kept). Params: id.
  • upcoming_renewals — READ — renewals due in the next N days. Params: project, days (int, default 30).
  • upcoming_cashflow — READ — day-by-day cash out from renewals, one project or all. Params: project (optional), days (int, max 365, default 30).
  • find_cheaper_alternatives — READ — match subscriptions against an alternatives catalog and estimate yearly savings. Params: project.
  • scan_import — WRITE — bulk-add CLI-scanned tools as candidates at price 0, deduped with aliases. Params: project, tools (array of objects, each with a vendor field).

Time

  • log_time — WRITE — record hours worked. Areas: backend, frontend, design, marketing, content, sales, support, ops, research, other. Params: project, hours (positive), area (default "other"), date (optional), notes (optional).
  • get_time_summary — READ — hours by work area, priced at the project hourly rate. Params: project.

Revenue and social

  • log_revenue — WRITE — record money earned. Sources: stripe, revenuecat, manual, ads, sponsorship, affiliate, lifetime_deal. Params: project, amount (positive), source (default "manual"), date (optional), notes (optional).
  • log_social_posts — WRITE — record published social posts. Platforms: x, linkedin, tiktok, instagram, youtube, reddit, producthunt, other. Params: project, platform (default "x"), count (int, default 1), date (optional).

Maintenance

  • delete_entry — WRITE — delete a logged row. Params: table (one of expenses | time_entries | revenue_entries), id.

Worked examples

A read call, get_project_metrics:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_project_metrics","arguments":{"project":"stacktracker"}}}

A write call, log_expense:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"log_expense","arguments":{"project":"stacktracker","vendor":"Vercel","amount":20,"date":"2026-07-20","category":"Hosting","description":"Pro plan"}}}

On this page