Problem
When using a User MCP Token (created via https://open.teambition.com/user-mcp), calling any API endpoint to mark a task as done returns 401 InvalidUserToken:
PUT /api/v3/task/{taskId}/isDone → 401
POST /api/v3/task/{taskId}/done → 401
PUT /api/v2/task/{taskId}/isDone → 401
The same token works fine for:
- ✅ Querying tasks
- ✅ Creating tasks
- ✅ Updating task fields (title, note, priority, executor, due date, etc.)
- ❌ Marking tasks as done/undone
Expected Behavior
User MCP Token should be able to mark tasks as done, as this is a basic task management operation. The update_task.py script in this repo supports --taskflowstatus-id, but for projects without a custom taskflow, there's no way to complete a task via the API.
Suggested Fix
Either:
- Include
isDone write permission in the User MCP Token scope
- Document which operations are supported by User MCP Token vs other token types
- Provide an alternative API endpoint that works with User MCP Token
Environment
- Token type: User MCP Token
- API version: v3
- Skill:
dingtalk-teambition from this repo
Problem
When using a User MCP Token (created via https://open.teambition.com/user-mcp), calling any API endpoint to mark a task as done returns
401 InvalidUserToken:PUT /api/v3/task/{taskId}/isDone→ 401POST /api/v3/task/{taskId}/done→ 401PUT /api/v2/task/{taskId}/isDone→ 401The same token works fine for:
Expected Behavior
User MCP Token should be able to mark tasks as done, as this is a basic task management operation. The
update_task.pyscript in this repo supports--taskflowstatus-id, but for projects without a custom taskflow, there's no way to complete a task via the API.Suggested Fix
Either:
isDonewrite permission in the User MCP Token scopeEnvironment
dingtalk-teambitionfrom this repo