com.pyunto/time-management

Read your Pyunto Time Management schedule and log time from an AI assistant. E2EE project planning.

AI & MLTypeScriptv0.3.5

Pyunto Time Management — integrations

Open-source client libraries for Pyunto Time Management, a time-management and project-planning service with end-to-end encryption.

PackageWhat it is
@pyunto/tm-sdkTypeScript client for the public REST API (v1), with client-side E2EE decryption
@pyunto/tm-mcpMCP (Model Context Protocol) server — connects Claude Code, Claude Desktop, Codex CLI, Cursor and other AI clients to an account

The service itself is not open source. This repository contains only the client side: HTTP calls against the documented public API, plus the crypto needed to decrypt your own data locally. There is nothing here that talks to the database, handles billing, or holds a key.

Why this part is public

The MCP server can be given your account password so it can decrypt project and task names. That is a lot to ask of a program you cannot read, so this is the part we publish: you can verify for yourself that the password is used only to unwrap the private key in your own process, and is never transmitted.

See sdk/src/crypto.ts for the primitives and mcp/src/index.ts for how they're used.

Quick start (MCP)

No clone needed — the published package runs straight from npm:

claude mcp add pyunto-tm \
  --env PYUNTO_TM_API_KEY=ptm_your_key \
  -- npx -y @pyunto/tm-mcp

Full setup instructions, including Claude Desktop, Codex CLI and Cursor: https://tm.pyunto.com/docs/mcp.en.md (日本語: https://tm.pyunto.com/docs/mcp.ja.md).

Get an API key from Settings → Account → API keys in the app. Scopes decide what an integration may read or write, and a key can be revoked at any time.

Quick start (SDK)

npm install @pyunto/tm-sdk
import { PyuntoTM } from "@pyunto/tm-sdk";

const tm = new PyuntoTM({ apiKey: process.env.PTM_KEY! });

// Dates, durations and aggregates need no key material at all
const record = await tm.serviceRecord("2026-08-01", "2026-08-31");

// Names and memos are encrypted; unlock decrypts them locally
await tm.unlock(process.env.PTM_PASSWORD!);
const projects = await tm.projects({ decrypt: true });

Development

npm workspaces; Node 18+.

npm install
npm run build     # both packages
npm test          # sdk crypto round-trips + mcp tools against a stub API

mcp depends on @pyunto/tm-sdk by version, so the published package resolves it from the registry while local development links the workspace copy.

Security

Found a problem in this code, or in the service? Please report it privately rather than opening a public issue: support@pyunto.com.

Licence

MIT — see LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @pyunto/tm-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-pyunto-time-management": {
      "command": "npx",
      "args": [
        "-y",
        "@pyunto/tm-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@pyunto/tm-mcpnpm

Compatible MCP Clients

com.pyunto/time-management works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More