About taskboard-port
taskboard-port is a REST client that exposes a core subset of Asana workspace, project, and task operations as MCP tools. It uses a personal access token rather than reproducing the hosted server's OAuth interface.
Key features
- 0111 Asana MCP tools
- 02Workspace and project operations
- 03Create, read, update, and delete tasks
- 04Search tasks
- 05Personal access token authentication
Use cases
- 01List workspaces and projects
- 02Create or update Asana tasks
- 03Search for tasks or retrieve task details
MCP support
The stdio MCP server exposes 11 tools for Asana users, workspaces, projects, and tasks. It connects to the Asana REST API using `ASANA_ACCESS_TOKEN`.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @reneturcios/taskboard-portLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
11Saved tool list · updated 1w ago
This tool takes no parameters.
Details
From the project READMEtaskboard-port
Asana workspaces, projects and tasks as MCP tools, talking to the Asana REST API. taskboard-port is a clean-room rebuild of the core subset of the Asana MCP surface, under a new name: fresh code written from the public Asana API documentation, no copied branding. The original Asana server is hosted/remote with OAuth; this rebuild is a REST client for the same upstream API using a personal access token, and does not reproduce the hosted OAuth surface.
Tools (core subset, 11)
get_current_user, list_workspaces, list_projects, get_project,
create_project, list_tasks, get_task, create_task,
update_task, delete_task, search_tasks.
Not in this subset: sections, tags, stories/comments, subtasks, custom fields, portfolios/goals, rules, attachments, teams/users admin, typeahead, events/webhooks.
Notes on shaping: Asana wraps request bodies and responses in a
data envelope — create/update calls send {data: {...}} and parsed
responses are returned as-is. list_tasks picks its route
deterministically (project tasks endpoint, else assignee query, else a
capped list) and applies the completed filter client-side, since
Asana's list endpoints take no such parameter.
Setup
export ASANA_ACCESS_TOKEN=...
Optionally override the API base with ASANA_API_URL
(default https://app.asana.com/api/1.0). Without the token, every
tool call fails with an error naming the missing variable.
CLI
npx @reneturcios/taskboard-port get_task '{"task_gid":"12345"}'
npx @reneturcios/taskboard-port mcp # stdio MCP server
Each tool name is a subcommand taking one JSON object argument.
MCP client config
{
"mcpServers": {
"taskboard-port": {
"command": "npx",
"args": ["-y", "@reneturcios/taskboard-port", "mcp"],
"env": { "ASANA_ACCESS_TOKEN": "..." }
}
}
}
Docker
docker run -i -e ASANA_ACCESS_TOKEN ghcr.io/cloudcorprecords/taskboard-port
Development
npm install
npm run build
npm test
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.