Skip to main content
Glama
rankin-works

Vetroscope MCP

by rankin-works

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VETROSCOPE_DIRNoOverride the app-data directory where Vetroscope stores its SQLite database.
VETROSCOPE_DB_PATHNoPoint at an explicit .db file for Vetroscope's database.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_reportA

Aggregate Vetroscope time report for a period: total active seconds, top apps, and top projects (with sub-projects nested when present — e.g. individual YouTube videos, SoundCloud songs, Netflix episodes). Apps include the user's custom display_name when set. Applies the same SQLite settings as the desktop dashboard — ignored apps, ignored projects/breakdown patterns, and days_filter — plus optional hour-of-day/weekday/device filters layered on top. Totals therefore match Charts/Dashboard totals for the same range.

get_app_breakdownA

Per-project breakdown for a single app over a period, with sub-projects nested when present (e.g. individual YouTube videos under the YouTube project). Use this when the user asks 'what was I working on in After Effects this week?' or 'which YouTube videos did I watch today?' Supports the same hour-of-day / weekday filter as get_report.

get_goals_progressB

Current progress on the user's configured Vetroscope goals (per-app and overall). Defaults to today.

query_entriesA

Filtered list of raw tracking entries. Useful for digging into specific projects, tags, or finding what window titles appeared. When a period is set, respects the same dashboard exclusions stored in SQLite (ignored apps/projects/breakdown patterns, days_filter) plus optional hour/device filters so aggregates stay consistent with Charts; omit period to bypass those scope rules while still filtering by tag/app/search/etc. Defaults to active foreground entries only — pass mode='passive' or 'all' to include away-listening (background music while idle). Returns at most 5000 rows; default 200.

list_tagsA

List all of the user's tags (id, name, color, sticky flag). Useful as a reference before calling get_tag_breakdown or filtering entries by tag.

get_tag_breakdownA

Time-spent report for a single tag over a period: top apps and projects under the tag, daily series, active/passive split. Identify the tag by name (case-insensitive) — call list_tags first if you don't already know what's available.

get_app_statsA

Deeper statistics for a single app: lifetime totals (days active, first/last seen, average per active day), period totals, top projects, daily series, hour-of-day distribution (24 buckets), and weekday distribution (7 buckets). Use this for usage-pattern questions like 'when do I usually use Cursor?' or 'how has my After Effects time trended this month?'

list_markersA

User-placed markers on the Vetroscope timeline (timestamp, optional end_timestamp for regions, label, color, icon). Pass a period to scope to a window — markers whose region OVERLAPS the period are returned. Omit period to list every marker.

get_sessionsA

Continuous activity blocks reconstructed from the raw 30s entries — the natural grain for 'what did I work on this morning?'. Two consecutive entries are one session when they share the same (app, project, sub_project) and are within 90s of each other. Each session reports start/end/duration and tag/app metadata.

get_current_statusA

Most recent activity: what app / project / sub-project the tracker last logged, how many seconds ago, and whether the tracker appears to be live (state='tracking') or quiescent (state='idle'). Use this for 'what am I doing right now?' questions.

get_goal_achievementsA

Historical record of goals the user hit — one row per (goal, day). Each row carries a snapshot of the goal as it was when achieved (so renamed/deleted goals still report sensibly). Useful for streak questions ('how many days in a row…') or summaries ('which goals did I hit last week?').

list_projectsA

Every (app, project) pair ever recorded with all-time totals, days active, and first/last seen. Optional case-insensitive substring search against project name or app. Useful for 'have I ever worked on something called X?' or 'what's my biggest project all-time?'

get_calendarA

Dense per-day series of active and passive seconds for a period. Default period is 'year' for the GitHub-contribution-grid heatmap; pass any other period for narrower windows. Days with zero activity are explicitly included so streak / longest-gap analysis is straightforward.

get_device_breakdownA

Time per device for users who run Vetroscope across multiple machines (or paired with the browser extension). Each device reports total active / passive seconds, days active, first/last seen, and most-frequent platform. The user's current device is flagged with isCurrent=true.

get_music_splitA

Splits the period's tracked time into three buckets: 'work with music' (a music app/site was logging while a non-music app was foreground), 'music only' (just listening, no work foreground), and 'work without music' (heads-down silent work). Also returns per-source totals (Spotify, SoundCloud, etc.) with each source's working-vs-not-working overlap. Music classification defaults to native music apps (Spotify, Apple Music) plus common browser music sites (SoundCloud, YouTube Music, Bandcamp, Tidal, Pandora) — override via music_apps / music_browser_projects to e.g. include YouTube as music for a specific question. The same hour-of-day / weekday / device filters as get_report are honored.

get_category_breakdownA

Rolls up app totals into broad categories (editor, browser, adobe, communication, gaming, productivity, creative, music_creation, etc.) so you can ask 'how much creative work vs coding?' without naming every app. Categories mirror Vetroscope's internal app grouping. Apps not in the canonical map land in 'uncategorized' — useful for spotting missing classifications.

get_listening_historyA

Top tracks and top artists across native music apps and browser music sites for the period, plus per-day listening minutes. Tracks come from entries.sub_project (e.g. 'Fox Stevenson — Tryhard'); artists are parsed from the 'Artist — Title' convention. Same music classifier as get_music_split — override via music_apps / music_browser_projects to e.g. include YouTube as music for this query.

get_media_linksA

Lists canonical deep-links Vetroscope captured for media the user actually played — Spotify spotify:track:… URIs and YouTube https://www.youtube.com/watch?v=… URLs. Each row carries the matching time data so you can answer 'what YouTube videos did I rewatch this week + give me the link to the top one?' or 'send me a Spotify URI for the song I played the most yesterday'. Each row also includes a webUrl HTTPS variant — https://open.spotify.com/track/<id> for Spotify (which hands off to the desktop app when installed), same as url for YouTube — so a clickable link survives any markdown / chat renderer that strips custom URI schemes. Requires Vetroscope ≥ 0.2.30 with the capture_media_links setting enabled — available: false is returned on older installs or when nothing has been captured. With period set, the same dashboard filter stack as get_report applies and totals match Charts; without period, time columns are lifetime totals. URLs are filtered strictly at capture time (YouTube /watch only; track URIs only — no ads, no shorts, no channel pages) so anything returned here is safe to open directly.

get_focus_heatmapA

Returns a dense 168-cell grid (7 weekdays × 24 hours) of active foreground seconds. Reveals when you usually do specific kinds of work — patterns the marginal hour-of-day and weekday distributions can't show. Optional app / project / tag filters narrow the heatmap to a single activity (e.g. 'when do I usually code in Cursor?'). Cells array is in (weekday, hour) order so cells[w*24 + h] indexes directly. 0=Sunday in weekday.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rankin-works/Vetroscope-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server