Skip to main content
Glama
rankin-works

Vetroscope MCP

by rankin-works

Get music vs work split

get_music_split

Split tracked time into music-enriched work, pure listening, and silent work periods, with per-source music overlap details.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNotoday | yesterday | week | month | year | a single date YYYY-MM-DD | an inclusive date range YYYY-MM-DD..YYYY-MM-DDweek
music_appsNoOverride the native music app list. Default: ["Spotify","Apple Music","Music"]
music_browser_projectsNoOverride the browser-music project list. Default: ["SoundCloud","YouTube Music","Spotify","Apple Music","Bandcamp","Tidal","Pandora"]. Add 'YouTube' here if you want YouTube counted as music for this query.
hour_startNoInclusive start hour 0-24 in local time. Combine with hour_end (e.g. 9 and 17 = 9am to 4:59pm). Omit both for no hour filter.
hour_endNoExclusive end hour 0-24 in local time. Combine with hour_start.
weekdaysNoRestrict to specific weekdays. 0=Sunday, 1=Monday, …, 6=Saturday. Omit or pass [0,1,2,3,4,5,6] for no weekday filter.
deviceNoRestrict to a single device. Pass 'current' (or 'this') for the local machine, a device UUID from get_device_breakdown, or a platform name like 'darwin', 'win32', 'browser-extension'. Omit or pass 'all' for no device filter.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description effectively discloses behavioral traits: the classification logic (native apps vs. browser sites), override mechanisms, and filter inheritance from get_report. It lacks details on data freshness or rate limits, but is transparent about core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise, containing multiple sentences that each add necessary context (buckets, overrides, filters). It is front-loaded with the core purpose. Slightly verbose due to detailed filter explanations, but still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return value structure (three buckets plus per-source totals). It covers all key aspects for a complex tool with 7 parameters and no required fields. Could specify return units (hours/minutes), but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds significant meaning by explaining how parameters like music_apps and music_browser_projects override defaults, and how hour, weekday, and device filters work. This exceeds the schema's minimal descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool splits tracked time into three specific buckets ('work with music', 'music only', 'work without music') and returns per-source totals. It distinguishes itself from sibling tools like get_report by detailing the unique classification logic and honoring the same filters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool (to analyze music vs. work split), including how to override default music classification. It references get_report for filter consistency, but does not explicitly list when not to use it or suggest alternatives like get_app_breakdown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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