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"
}This server cannot be installed
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
- 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