mcpField
T
tm-mcp

tm-mcp

ローカル
tm.pyunto.com生産性02 週間前に更新

tm-mcp について

tm-mcpはPyunto Time Management向けのMCPサーバーで、AIアシスタントから予定の確認や記録時間の管理を行えます。パスワードがある場合、暗号化された内容はローカルで復号します。

主な機能

  1. 01プロジェクトとタスクの表示
  2. 02予定ブロックの一覧と時間集計
  3. 03時間ブロックの作成、更新、削除
  4. 04暗号化された名前とメモのローカル復号

活用シーン

  1. 01プロジェクト別または日付別の作業時間確認
  2. 02AIアシスタント経由の時間記録
  3. 03内容を復号せずに予定を確認

MCP 対応

Pyunto Time Managementのアカウント操作と時間管理機能をツールとしてMCPクライアントに公開します。APIキーなしでもツール一覧を取得できますが、アカウントデータにはキーが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pyunto-tm": {
"command": "npx",
"args": [
"-y",
"@pyunto/tm-mcp"
],
"env": {
"PYUNTO_TM_API_KEY": "<PYUNTO_TM_API_KEY>",
"PYUNTO_TM_BASE_URL": "<PYUNTO_TM_BASE_URL>",
"PYUNTO_TM_PASSWORD": "<PYUNTO_TM_PASSWORD>",
"PYUNTO_TM_PASSWORD_FILE": "<PYUNTO_TM_PASSWORD_FILE>"
}
}
}
}
起動コマンドnpx -y @pyunto/tm-mcp
設定が必要な環境変数
PYUNTO_TM_API_KEYシークレットAPI key (ptm_...) minted in Settings → Account → API keys
PYUNTO_TM_BASE_URLBase URL, for self-hosted instances
PYUNTO_TM_PASSWORDシークレットAccount password; unwraps the private key locally so E2EE project and task names decrypt
PYUNTO_TM_PASSWORD_FILEシークレットPath to a file holding the account password, instead of PYUNTO_TM_PASSWORD

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@pyunto/tm-mcp0.3.4

ツール

10

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

@pyunto/tm-mcp

Pyunto Time Management 用の MCP(Model Context Protocol)サーバーです。 Claude Code、Claude Desktop、Codex CLI、Cursor など、あらゆる MCP クライアントを Pyunto TM アカウントに接続し、アシスタントがスケジュールを読み取り、時間の使いみちを要約し、時間を記録できるようにします。

ユーザー向けのセットアップ手順は https://tm.pyunto.com/docs/mcp.en.md にあります(日本語: https://tm.pyunto.com/docs/mcp.ja.md)。このファイルは開発者向けです。

ツール

ツールスコープ
whoami — アカウント、キー名、スコープ、復号ステータス—
list_projectsprojects:read
list_tasks(プロジェクトまたはタスクが対象とする日付で絞り込み)projects:read
list_time_blocks(期間 ≤ 92 日)blocks:read
time_summary(プロジェクト/タスク/日付ごとにグループ化)record:read
log_time(書き込み)blocks:write
update_time_block(書き込み)blocks:write
delete_time_block — 1 つの ID、完全削除、添付ファイルも削除blocks:delete

すべてのツールは JSON をテキストとして返します。エラーは isError の結果として返されます。トランスポートレベルで例外をスローするのではなく、修正方法(不足しているスコープ、誤ったキー、ロックされた E2EE)をメッセージで示すため、エージェントは対応できますが、スタックトレースでは対応できません。

インストール

npx -y @pyunto/tm-mcp        # what an MCP client config runs

ソースからビルドする

このパッケージは、依存する SDK とともに npm-workspaces リポジトリにあります。ワークスペースのリンクを使うため、リポジトリのルートからビルドしてください。

npm install
npm run build                 # both packages
npm test                      # sdk crypto round-trips + 25 MCP tool checks

ビルド結果:mcp/dist/cli.js は実行可能な stdio サーバーです(dist/index.js はテストからインポートできる、副作用のないモジュールのままです)。

設定

環境変数のみを使用します。MCP クライアントがプロセスを起動し、設定ファイルから環境変数を渡します。

API キーがなくてもサーバーは起動し、tools/list に応答します。クライアントやディレクトリは、誰かがサインアップする前に、サーバーが提供する機能を確認できます。キーなしでツールを呼び出すと、不透明な 401 ではなく、isError として同じ案内が返されます。また、whoami は失敗する代わりにキーがないことを報告します。

変数必須デフォルト用途
PYUNTO_TM_API_KEYデータ利用時—ptm_…。Settings → Account → API keys で発行します。キーがなくてもツールの一覧表示はできます
PYUNTO_TM_BASE_URLhttps://tm.pyunto.comセルフホスト可能なインスタンス
PYUNTO_TM_PASSWORDなしE2EE の名前/メモを復号するため、秘密鍵をローカルで展開します
PYUNTO_TM_PASSWORD_FILEなし同じパスワードを環境変数ではなくファイルから読み込みます
{
  "mcpServers": {
    "pyunto-tm": {
      "command": "npx",
      "args": ["-y", "@pyunto/tm-mcp"],
      "env": { "PYUNTO_TM_API_KEY": "ptm_…" }
    }
  }
}

E2EE の処理方法

コンテンツフィールドはユーザーのブラウザーで暗号化されます。サーバーが平文を保持することはなく、このプロセスもデフォルトでは保持しません。パスワードを指定すると、サーバーはユーザーの パスワードでラップされた 秘密鍵の BLOB(GET /api/v1/keys、スコープ keys:read)をこのプロセス内で展開し、メモリー上で各プロジェクトのシールされた DEK を開きます。パスワードが送信されることはなく、ディスクに書き込まれることもありません。

パスワードがなくても、サーバーはスケジュールに関するすべての情報(ID、日付、時刻、期間、集計)に応答します。名前フィールドは、理由を説明する NOTE: を付けて空で返されます。そのため、モデルは名前を作り出すのではなく、制限があることを報告できます。

構成

src/index.ts     tool definitions + implementations + server wiring
src/cli.ts       the bin: calls start()
test/tools.mjs   stub /api/v1 server, exercises every tool and error path
test/cli.mjs     spawns the built bin (directly and via symlink) over real MCP

テスト用に callTool(name, args) をエクスポートしています。start() はトランスポートを接続しますが、呼び出すのは cli.ts のみです。

delete_time_block が 1 つの ID のみを対象とするのは意図的です。範囲指定やフィルターによる削除は提供していません。自動化された呼び出し元が範囲を誤ると、復元手段のない大量のデータが失われるためです。このツールの説明では、モデルに対し、対象のブロックを正確にユーザーに示したうえで、そのブロックについてユーザーから「はい」という確認を得るよう求めています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。