npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@anish23_05/timo-mcp

v0.3.0

Published

Detailed read-only MCP server for Timo workspace data.

Readme


Timo MCP runs locally over stdio and talks only to the Timo API using a scoped API token.

It does not connect to the VM, Postgres, dashboard cookies, Lark write APIs, screenshots, or raw activity samples.

Install

Create an API token in Timo:

  1. Open Timo Dashboard.
  2. Go to Integrations.
  3. Create an API token with the read-only scopes you want.
  4. Copy the token once and keep it private.

Add this to your MCP client config:

{
  "mcpServers": {
    "timo": {
      "command": "npx",
      "args": ["-y", "@anish23_05/timo-mcp@latest"],
      "env": {
        "TIMO_API_BASE": "https://timo.emiactech.com",
        "TIMO_API_TOKEN": "timo_mcp_atk_..."
      }
    }
  }
}

Restart the MCP client after editing the config.

Tools

  • timo_mcp_capabilities — explains tools, scopes, limits, date formats, and privacy boundaries.
  • timo_workspace_overview — workspace totals for people, teams, devices, versions, today time, manual-time requests, and open activity flags.
  • timo_people_list — active people with role, team, managed team, shift, and device summary.
  • timo_user_detail — one user's profile, device health, time totals, and recent manual-time requests.
  • timo_device_health — app version, platform, runtime state, heartbeat freshness, and permission health.
  • timo_version_adoption — version/platform/state adoption buckets and unknown/stale users.
  • timo_running_users — users currently RUNNING with a fresh heartbeat.
  • timo_team_summary — team managers, roster, device counts, permission issues, and time totals.
  • timo_break_summary — inferred break time by user/day with source-of-truth gap evidence; lunch is separated as the longest qualifying candidate when a long break overlaps the local lunch window.
  • timo_time_summary — per-user/per-day tracked, meeting, manual, invalidated, and total time.
  • timo_manual_time_requests — manual-time request and decision audit metadata.
  • timo_activity_flags_summary — privacy-safe flag counts and recent flag summaries.

Scopes

  • read:people — people, roles, teams, shifts, roster context.
  • read:device-health — desktop platform, version, runtime state, heartbeat, permissions.
  • read:time-summary — aggregated time summaries and privacy-safe activity flag summaries.
  • read:manual-time — manual-time requests and approval audit metadata.

Some detailed tools require multiple scopes. If a token is missing a scope, the tool fails clearly with insufficient_scope instead of returning partial or guessed data.

Example Questions

  • "Which Timo version is everyone using?"
  • "Who is currently running Timo?"
  • "Show me users with stale or missing desktop heartbeats."
  • "Which Mac users are missing Screen Recording or Accessibility?"
  • "Summarize today's tracked time by team."
  • "Kal kisne kitna break liya?"
  • "Yesterday, show lunch candidates separately from other breaks."
  • "For yesterday's breaks, show the actual gaps and any manual-time approval reasons."
  • "Show pending manual-time requests."
  • "Give me privacy-safe activity flag counts for this week."
  • "What can this Timo MCP read, and what is intentionally blocked?"

Privacy

This MCP never exposes:

  • screenshots or screenshot URLs
  • S3 keys
  • raw ActivitySample rows
  • raw keystroke/click/mouse minute timelines
  • foreground window titles
  • browser URLs
  • dashboard cookies
  • token hashes or secrets

It also has no write tools. It cannot approve requests, edit time, create users, change settings, or send Lark messages.

Limits

  • List tools return at most 200 rows.
  • Summary-style tools allow at most 31 days per request.
  • Dates use YYYY-MM-DD.
  • Timezone accepts IANA names such as Asia/Kolkata or UTC.
  • Break summaries default to yesterday. Breaks are inferred from gaps between tracked work/meeting/manual blocks; each gap includes previous/next tracked-block evidence. Lunch is the longest qualifying candidate only unless users explicitly label it.

Security

  • Use one token per person or machine.
  • Do not paste tokens into chat or commit them to git.
  • Revoke lost or shared tokens from Integrations.
  • Rotate any token that was accidentally shared.

Local Development

pnpm --filter @anish23_05/timo-mcp build
TIMO_API_BASE=http://localhost:4010 TIMO_API_TOKEN=token node apps/mcp/dist/index.cjs