Skip to main content

MCP server + CLI for the plintho voice journal

Project description

plintho-mcp

A small CLI + MCP server that lets any MCP-capable client (Claude Desktop, Cursor, Cline, Zed, …) query the plintho voice-journal backend on behalf of a single user.

Install

Direct from GitHub (no PyPI release yet):

pipx install 'git+https://github.com/vtech-ai/plintho-mcp.git'

Or with pip:

pip install 'git+https://github.com/vtech-ai/plintho-mcp.git'

Local checkout while developing:

git clone https://github.com/vtech-ai/plintho-mcp.git
cd plintho-mcp
pipx install -e .

Requires Python 3.11+. Runtime deps: mcp, httpx. The package does not pull in any of the plintho backend's heavy dependencies.

Pair this device with your account

$ plintho-mcp login --name "MacBook Cursor"
配对码: WXYZ-2345
请在 plintho iOS app  Settings  MCP Access 输入此码
等待中...
✓ 已登录为 user-abc

The token is saved to ~/.plintho/mcp_token (mode 600). The plaintext exists only on this machine; the server stores only its sha256 hash.

Wire into your MCP client

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "plintho": { "command": "plintho-mcp" }
  }
}

Claude Code

claude mcp add plintho -- plintho-mcp

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "plintho": { "command": "plintho-mcp" }
  }
}

Same command key works for Cline / Zed / Continue / any stdio-MCP client.

Tools exposed

Tool What it does
list_events_by_date All events on a given date (YYYY-MM-DD or today/yesterday).
get_event_detail One event's note (Markdown) + raw utterances.
search_events Free-text search across event titles/summaries/notes, optional date.
search_utterances Substring search across raw transcribed utterances.
get_daily_summary Daily summary (日报) for a given date.

All tools are scoped to the user the token was issued to — there is no user_id parameter and the server enforces ownership on every call.

Other commands

plintho-mcp whoami             # show current user_id / token name
plintho-mcp logout             # delete the local token file
plintho-mcp login --force      # re-pair (replaces existing token locally)

To revoke a token server-side, use the iOS app → Settings → MCP Access.

Environment variables

Var Default Purpose
PLINTHO_API_BASE https://api.plintho.app Backend URL.
PLINTHO_HOME ~/.plintho Token + config directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plintho_mcp-0.1.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plintho_mcp-0.1.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file plintho_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: plintho_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for plintho_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7a70909078c24d63cbcc34232efeb83996b37c1d9e59ffa725b865000dafa6ab
MD5 74ba90a1b7d5bdf49b7009fbd9bf59a3
BLAKE2b-256 030d49b083965396e5a9893a9d594e2297c35423852105f9f01c025bec1a5f42

See more details on using hashes here.

File details

Details for the file plintho_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: plintho_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for plintho_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ea6ee2112043de782142eeb5babf22dd7969225712ce23148dbf966d7427957
MD5 2ba7a0bd2f6a248ed2f524a9e3f8b6b4
BLAKE2b-256 096ccacedb9558f23e8bf89edb4332f1f2f22fecd6add41c07ed3d53ef11471d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page