kekincai

taskpaper-mcp-server

Community kekincai
Updated

Model Context Protocol server for TaskPaper on macOS

taskpaper-mcp-server

Model Context Protocol server for automating TaskPaper on macOS.

This server talks to TaskPaper through JavaScript for Automation (osascript -l JavaScript) and TaskPaper's document.evaluate({ script, withOptions }) bridge. It exposes a small set of safe, fixed tools rather than arbitrary TaskPaper JavaScript execution.

Requirements

  • macOS
  • TaskPaper installed
  • Node.js 20+
  • Automation permission for the MCP host to control TaskPaper

Tools

  • taskpaper_status - check install/running status and open document count
  • taskpaper_read_front_document - read the front document as TaskPaper text
  • taskpaper_read_file - read a .taskpaper file from disk
  • taskpaper_search_items - search tasks. Pass file to search a .taskpaper file directly
  • taskpaper_add_task - add a task to root or a named project. Pass file to edit a .taskpaper file directly; otherwise it tries the front TaskPaper document.
  • taskpaper_complete_task - mark the first matching task as @done(yyyy-mm-dd). Pass file to edit a .taskpaper file directly
  • taskpaper_list_projects - list projects in a .taskpaper file
  • taskpaper_archive_done - move done tasks into an archive project in a .taskpaper file
  • taskpaper_set_filter - set the front document's TaskPaper filter

For reliability, prefer passing an explicit file path. TaskPaper window ordering is not stable enough to make front-document writes the primary workflow.

Development

npm install
npm test
npm run build

Run locally over stdio:

npm run build
node dist/server.js

Example MCP configuration:

{
  "mcpServers": {
    "taskpaper": {
      "command": "node",
      "args": ["/absolute/path/to/taskpaper-mcp-server/dist/server.js"]
    }
  }
}

Example direct file write:

{
  "file": "/Users/you/tasks.taskpaper",
  "project": "Inbox",
  "text": "Buy milk",
  "due": "today",
  "tags": {
    "home": true
  }
}

Humans can ask in natural language, for example "add buy milk to Inbox for today". The model should pass text, project, and friendly metadata such as due, start, or tags; the server writes valid TaskPaper tags like @due(today) into the file.

Example complete task in a file:

{
  "file": "/Users/you/tasks.taskpaper",
  "query": "Buy milk",
  "date": "2026-07-07"
}

Example archive done tasks:

{
  "file": "/Users/you/tasks.taskpaper",
  "archiveProject": "Archive"
}

MCP Server · Populars

MCP Server · New

    cbtw-apac

    QDrant Loader

    Enterprise-ready vector database toolkit for building searchable knowledge bases from multiple data sources. Supports multi-project management, automatic ingestion from Confluence/JIRA/Git, intelligent file conversion (PDF/Office/images), and semantic search. Includes MCP server for seamless AI assistant integration.

    Community cbtw-apac
    aks129

    HealthClaw Guardrails

    Open-source guardrails between AI agents and FHIR clinical data — PHI redaction, immutable audit, step-up auth, tenant isolation. MCP server + OpenAI/Gemini adapters. A healthclaw.io project.

    Community aks129
    opentargets

    Open Targets Platform MCP

    Official MCP server implementation for accessing Open Targets Data

    Community opentargets
    longsizhuo

    openInvest

    基于multiple LLM的风险投资助手

    Community longsizhuo
    CCCpan

    Gebaini

    中国数据核验 MCP Server | 身份核验/企业查询/车辆信息/OCR识别/风险评估 | 10个Tool覆盖5大类 | 微信: chenganp | 邮箱: [email protected]

    Community CCCpan