Back to Browse

Tm Integrations MCP Server

by Pyunto
Developer ToolsLow Risk9.7MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

9.7
Low Risk9.7Low Risk

Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

8 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

API key (ptm_...) minted in Settings → Account → API keysRequired

Environment variable: PYUNTO_TM_API_KEY

Base URL, for self-hosted instancesOptional

Environment variable: PYUNTO_TM_BASE_URL

Account password; unwraps the private key locally so E2EE project and task names decryptRequired

Environment variable: PYUNTO_TM_PASSWORD

Path to a file holding the account password, instead of PYUNTO_TM_PASSWORDRequired

Environment variable: PYUNTO_TM_PASSWORD_FILE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-pyunto-tm-mcp": {
      "env": {
        "PYUNTO_TM_API_KEY": "your-pyunto-tm-api-key-here",
        "PYUNTO_TM_BASE_URL": "your-pyunto-tm-base-url-here",
        "PYUNTO_TM_PASSWORD": "your-pyunto-tm-password-here",
        "PYUNTO_TM_PASSWORD_FILE": "your-pyunto-tm-password-file-here"
      },
      "args": [
        "-y",
        "@pyunto/tm-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

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.

Reviews

No reviews yet

Be the first to review this server!