taskpaper-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@taskpaper-mcp-serveradd task 'Buy milk' to Inbox project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Things MCP
Tools
taskpaper_status- check install/running status and open document counttaskpaper_read_front_document- read the front document as TaskPaper texttaskpaper_read_file- read a.taskpaperfile from disktaskpaper_search_items- search tasks. Passfileto search a.taskpaperfile directlytaskpaper_add_task- add a task to root or a named project. Passfileto edit a.taskpaperfile directly; otherwise it tries the front TaskPaper document.taskpaper_complete_task- mark the first matching task as@done(yyyy-mm-dd). Passfileto edit a.taskpaperfile directlytaskpaper_list_projects- list projects in a.taskpaperfiletaskpaper_archive_done- move done tasks into an archive project in a.taskpaperfiletaskpaper_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 buildRun locally over stdio:
npm run build
node dist/server.jsExample 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"
}Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kekincai/taskpaper-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server