Skip to main content
Glama

Panel Todo MCP

npm version License: MIT

MCP server for Panel Todo — lets AI assistants manage your tasks, issues, and sprints directly in VS Code.

Install

npm install -g panel-todo-mcp

Related MCP server: idea-base-mcp-server

Setup

Add to your MCP configuration (Claude Code, Cursor, etc.):

{
  "mcpServers": {
    "panel-todo": {
      "command": "npx",
      "args": ["panel-todo-mcp"],
      "env": {
        "PANEL_TODO_PROJECT_DIR": "/path/to/your/project"
      }
    }
  }
}

What It Does

Panel Todo is a VS Code extension that puts a todo list in your Panel area (next to Terminal and Problems). This MCP server gives AI assistants direct access to that task list.

  • Free tier: 5 tools for local todos stored in .vscode/panel-todo.json

  • Pro tier: 38 tools for issues, sprints, projects, tags, and comments with cloud sync

Tools

Free Tier — Local Storage (5 tools)

Tool

Description

panelTodo_add

Add a new todo

panelTodo_list

List all todos

panelTodo_update

Update a todo's text

panelTodo_complete

Mark a todo as complete

panelTodo_remove

Remove a todo

Configuration (2 tools)

Tool

Description

panelTodo_configure

Set up Pro connection

panelTodo_status

Check configuration and Pro status

Issues — Pro (8 tools)

Tool

Description

panelTodo_listIssues

List all issues (filter by status/sprint)

panelTodo_searchIssues

Search issues with text query and filters

panelTodo_getIssue

Get issue by ID or key (e.g., "PT-1")

panelTodo_addIssue

Create a new issue

panelTodo_batchCreateIssues

Create multiple issues at once

panelTodo_updateIssue

Update an issue

panelTodo_completeIssue

Mark issue as done

panelTodo_deleteIssue

Delete an issue

Sprints — Pro (9 tools)

Tool

Description

panelTodo_listSprints

List all sprints

panelTodo_getSprint

Get sprint details with issues

panelTodo_createSprint

Create a new sprint

panelTodo_updateSprint

Update sprint name or dates

panelTodo_startSprint

Start a sprint

panelTodo_completeSprint

Complete a sprint

panelTodo_deleteSprint

Delete a sprint

panelTodo_moveIssueToSprint

Move an issue to a sprint

panelTodo_getBacklog

Get backlog issues

Projects — Pro (4 tools)

Tool

Description

panelTodo_listProjects

List all projects

panelTodo_switchProject

Switch to a different project

panelTodo_createProject

Create a new project

panelTodo_deleteProject

Delete a project

Tags — Pro (6 tools)

Tool

Description

panelTodo_listTags

List all tags

panelTodo_createTag

Create a new tag

panelTodo_updateTag

Update a tag

panelTodo_deleteTag

Delete a tag

panelTodo_addTagToIssue

Add tag to issue

panelTodo_removeTagFromIssue

Remove tag from issue

Comments — Pro (4 tools)

Tool

Description

panelTodo_listComments

List comments on an issue

panelTodo_addComment

Add a comment

panelTodo_updateComment

Update a comment

panelTodo_deleteComment

Delete a comment

Examples

Quick todos (Free)

// Add a task
panelTodo_add({ text: "Fix login bug" })

// Check your list
panelTodo_list()

// Done
panelTodo_complete({ id: "<id>" })

Issue tracking (Pro)

// Create an issue
panelTodo_addIssue({
  title: "Add dark mode support",
  priority: "high"
})
// Returns: { issue: { key: "PT-3", id: "..." } }

// Start working on it
panelTodo_updateIssue({
  issueId: "<id>",
  status: "in_progress"
})

// Add notes
panelTodo_addComment({
  issueId: "<id>",
  content: "Using CSS variables for theming"
})

// Complete
panelTodo_completeIssue({ issueId: "<id>" })

Sprint planning (Pro)

// Create a sprint
panelTodo_createSprint({
  name: "Sprint 1",
  startDate: "2024-01-15",
  endDate: "2024-01-29"
})

// Add issues in bulk
panelTodo_batchCreateIssues({
  sprintId: "<sprint-id>",
  issues: [
    { title: "User authentication", priority: "high" },
    { title: "Password reset flow", priority: "medium" },
    { title: "Session management", priority: "medium" }
  ]
})

// Start the sprint
panelTodo_startSprint({ sprintId: "<sprint-id>" })

Pro Configuration

To use Pro features:

panelTodo_configure({
  projectId: "your-project-id",
  token: "pt_your_api_token"
})

Get your token from the Panel Todo VS Code extension: Account tab → Create API Token

For local development:

panelTodo_configure({
  projectId: "your-project-id",
  devMode: true,
  devUserId: "test-user-id"
})

License

MIT

Available Tools

38 tools
panelTodo_addAdd TodoA

Add a new todo item to Panel Todo (local storage)

Inputs: text (required). Returns: todo, success

panelTodo_addCommentAdd CommentB

Add a comment to an issue

Inputs: content (required), issueId (required). Returns: comment, message, success

panelTodo_addIssueAdd IssueA

Create a new issue in Panel Todo Pro. For sprint planning, include a description with: (1) implementation approach, (2) key tasks/steps, and (3) acceptance criteria.

Inputs: title (required), status, assignee, priority, +3 more. Returns: issue, message, success

panelTodo_addTagToIssueAdd Tag to IssueB

Add a tag to an issue

Inputs: tagId (required), issueId (required). Returns: message, success

panelTodo_batchCreateIssuesBatch Create IssuesA

Create multiple issues at once. Useful for sprint planning when creating many related issues.

Inputs: issues (required), sprintId. Returns: count, issues, message, success

panelTodo_completeComplete TodoA

Mark a todo as complete and remove it from the list

Inputs: id (required). Returns: message, success

panelTodo_completeIssueComplete IssueB

Mark an issue as done in Panel Todo Pro

Inputs: issueId (required). Returns: message, success

panelTodo_completeSprintComplete SprintA

Complete a sprint and optionally move incomplete issues to backlog

Inputs: sprintId (required), moveIncomplete. Returns: message, success

panelTodo_configureConfigure ProC

Configure Panel Todo Pro connection (API URL, token, project)

Inputs: projectId (required), token, devMode, devUserId. Returns: message, success

panelTodo_createProjectCreate ProjectB

Create a new Panel Todo Pro project

Inputs: key (required), name (required), switchTo, description. Returns: message, project, success

panelTodo_createSprintCreate SprintA

Create a new sprint in Panel Todo Pro

Inputs: name (required), endDate, startDate, description. Returns: sprint, message, success

panelTodo_createTagCreate TagB

Create a new tag in the current project

Inputs: name (required), color (required). Returns: tag, message, success

panelTodo_deleteCommentDelete CommentA

Delete a comment from an issue. You can only delete your own comments.

Inputs: issueId (required), commentId (required). Returns: message, success

panelTodo_deleteIssueDelete IssueA

Permanently delete an issue from Panel Todo Pro

Inputs: issueId (required). Returns: message, success

panelTodo_deleteProjectDelete ProjectA

Permanently delete a project and all its issues, sprints, and tags. This action cannot be undone.

Inputs: projectId (required). Returns: message, success

panelTodo_deleteSprintDelete SprintA

Delete a sprint. Cannot delete the default Backlog sprint.

Inputs: sprintId (required), moveToBacklog. Returns: message, success

panelTodo_deleteTagDelete TagB

Delete a tag from the project

Inputs: tagId (required). Returns: message, success

panelTodo_getBacklogGet BacklogA

List issues not assigned to any active sprint (backlog items)

Inputs: status, priority. Returns: count, issues, success

panelTodo_getIssueGet IssueA

Get details of a specific issue by ID or key (e.g., "PT-1")

Inputs: key, issueId. Returns: issue, message, success

panelTodo_getSprintGet SprintA

Get details of a specific sprint including its issues

Inputs: sprintId (required). Returns: sprint, message, success

panelTodo_listList TodosA

List all current todo items from Panel Todo (local storage)

Inputs: no named parameters. Returns: count, todos

panelTodo_listCommentsList CommentsA

List all comments on an issue

Inputs: issueId (required). Returns: count, success, comments

panelTodo_listIssuesList IssuesB

List all issues from Panel Todo Pro (requires Pro configuration)

Inputs: status, assignee, sprintId, isBlocked. Returns: count, issues, success

panelTodo_listProjectsList ProjectsA

List all your Panel Todo Pro projects

Inputs: no named parameters. Returns: count, success, projects, currentProjectId

panelTodo_listSprintsList SprintsC

List all sprints from Panel Todo Pro

Inputs: status. Returns: count, sprints, success

panelTodo_listTagsList TagsA

List all tags for the current project

Inputs: no named parameters. Returns: tags, count, success

panelTodo_moveIssueToSprintMove Issue to SprintB

Move an issue to a specific sprint

Inputs: issueId (required), sprintId (required). Returns: message, success

panelTodo_removeRemove TodoA

Remove a todo from the list without completing it

Inputs: id (required). Returns: message, success

panelTodo_removeTagFromIssueRemove Tag from IssueB

Remove a tag from an issue

Inputs: tagId (required), issueId (required). Returns: message, success

panelTodo_searchIssuesSearch IssuesA

Search issues with text query and filters. More powerful than listIssues for finding specific issues.

Inputs: limit, query, status, tagIds, +4 more. Returns: count, issues, success

panelTodo_startSprintStart SprintA

Start a sprint (change status from planning to active)

Inputs: sprintId (required). Returns: message, success

panelTodo_statusCheck StatusA

Check Panel Todo configuration and Pro status

Inputs: no named parameters. Returns: apiUrl, devMode, projectId, proEnabled, +3 more

panelTodo_switchProjectSwitch ProjectA

Switch to a different Panel Todo Pro project

Inputs: projectId (required). Returns: message, project, success

panelTodo_updateUpdate TodoA

Update the text of an existing todo item

Inputs: id (required), text (required). Returns: todo, message, success

panelTodo_updateCommentUpdate CommentA

Update the content of an existing comment. You can only update your own comments.

Inputs: content (required), issueId (required), commentId (required). Returns: comment, message, success

panelTodo_updateIssueUpdate IssueC

Update an existing issue in Panel Todo Pro

Inputs: issueId (required), title, status, assignee, +3 more. Returns: message, success

panelTodo_updateSprintUpdate SprintA

Update an existing sprint name, dates, or description

Inputs: sprintId (required), name, endDate, startDate, +1 more. Returns: sprint, message, success

panelTodo_updateTagUpdate TagA

Update an existing tag name or color

Inputs: tagId (required), name, color. Returns: tag, message, success

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 38 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, but panelTodo_complete and panelTodo_remove both remove todos (differing only in completion status), and listIssues/searchIssues/getBacklog overlap in listing issues with different filters. The descriptions clearly distinguish these cases, so overall it remains unambiguous.

    Naming Consistency4/5

    All tools share the consistent panelTodo_ prefix and use lowerCamelCase verb_noun style. The only deviation is panelTodo_status, which uses a noun instead of a verb. The pattern is otherwise predictable and coherent.

    Tool Count2/5

    With 38 tools, the count far exceeds the typical threshold of 25 and feels heavy for a server named 'panel-todo'. While the scope covers many entities, several tools overlap (e.g., complete vs remove, list vs search vs backlog) and could be consolidated. The count would be more appropriate if split into separate local and Pro servers.

    Completeness4/5

    The tool set provides full CRUD coverage for issues, sprints, tags, and comments, along with essential operations for local todos and projects. The only notable gap is the lack of an updateProject tool, but agents can work around this by using switchProject or recreating projects. Overall, the domain is well covered with minor dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers