Skip to main content
Glama
MCP DevOps Plan Server

MCP DevOps Plan Server

by mrchris2000

MCP DevOps Plan Server

A Model Context Protocol (MCP) server implementation for DevOps Plan, enabling work item management through standardized MCP clients.

Features

  • Retrieve applications and projects from Plan

  • Get available components and work item types

  • Create, retrieve, and delete work items

  • Filter work items by type and owner

Related MCP server: Azure MCP FastMCP Server

Warranties

This MCP server is provided "as is" without any warranties. It is designed to work with the DevOps Plan system and may require specific configurations to function correctly. Users are responsible for ensuring compatibility with their Plan instance. This server provides data destructive functionality, the author is not liable for any data loss due to use of this MCP capability.

Example Use Cases

1. Setting Up a New Project Sprint

Scenario: You're a project manager starting a new sprint and need to create multiple work items for your team.

Steps:

  1. "Get me all available applications in Plan"

  2. "Show me the projects in the 'WebApp Development' application"

  3. "What work item types are available in the 'Customer Portal' project?"

  4. "Create a new Epic titled 'User Authentication System' in the Customer Portal project"

  5. "Create three tasks: 'Design login UI', 'Implement OAuth integration', and 'Add password reset functionality'"

Benefits: Quickly set up organized work items for sprint planning and team assignment.

2. Sprint Review and Cleanup

Scenario: At the end of a sprint, you need to review completed work and clean up obsolete items.

Steps:

  1. "Show me all work items in the 'Mobile App' project"

  2. "Filter work items by type 'Bug' to see what issues were resolved"

  3. "Show me work items assigned to 'john.doe' to review his contributions"

  4. "Delete the work item with ID '12345' as it's no longer relevant"

  5. "Create a summary report of completed vs remaining work items"

Benefits: Maintain clean project state and generate insights for retrospectives.

3. Cross-Team Dependency Management

Scenario: You're coordinating between frontend and backend teams and need to track dependencies.

Steps:

  1. "Get all work items in the 'E-commerce Platform' project"

  2. "Filter by work item type 'Story' to see feature requirements"

  3. "Create a new task 'API endpoint for user profiles' in the 'Backend Services' component"

  4. "Create a dependent task 'Integrate user profile API' in the 'Frontend' component"

  5. "Check work items assigned to backend team members to see their current workload"

Benefits: Coordinate cross-functional work and ensure proper dependency tracking.

Configuration

The server requires configuration for authentication and connection to your Plan instance. You can provide configuration in several ways:

Run the interactive setup script:

npm run setup

This will prompt you for your configuration values and create a .env file automatically.

Option 1: Environment Variables

Set the following environment variables:

export PLAN_ACCESS_TOKEN="your_base64_encoded_token_here"
export PLAN_SERVER_URL="https://your-plan-server.com/plan"
export PLAN_TEAMSPACE_ID="your-teamspace-id-here"

Option 2: Command Line Arguments

Pass configuration as command line arguments:

node src/lib/server.js --token "your_token" --server-url "https://your-server.com/plan" --teamspace-id "your-teamspace-id"

Option 3: Environment File

Copy .env.example to .env and fill in your values:

cp .env.example .env
# Edit .env with your actual configuration values

Installation

You can run the MCP server directly without installation:

npx @securedevops/mcp-devops-plan --token "your_token" --server-url "https://your-server.com/plan" --teamspace-id "your-teamspace-id"

Option 2: Global Installation

npm install -g @securedevops/mcp-devops-plan
mcp-devops-plan --token "your_token" --server-url "https://your-server.com/plan" --teamspace-id "your-teamspace-id"

Option 3: Local Development

git clone https://github.com/securedevops/mcp-devops-plan.git
cd mcp-devops-plan
npm install
npm run setup  # Interactive configuration setup
npm start      # Start the MCP server

Use with Claude Desktop

Add the following to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "devops-plan": {
      "command": "npx",
      "args": [
        "@securedevops/mcp-devops-plan",
        "--token", "your_token_here",
        "--server-url", "https://your-server.com/plan",
        "--teamspace-id", "your_teamspace_id"
      ]
    }
  }
}

Option 2: Environment Variables with NPX

{
  "mcpServers": {
    "devops-plan": {
      "command": "npx",
      "args": ["@securedevops/mcp-devops-plan"],
      "env": {
        "PLAN_ACCESS_TOKEN": "your_token_here",
        "PLAN_SERVER_URL": "https://your-server.com/plan",
        "PLAN_TEAMSPACE_ID": "your_teamspace_id"
      }
    }
  }
}

Option 3: Local Installation

Add the following to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "devops-plan": {
      "command": "node",
      "args": ["/path/to/mcp-devops-plan/src/lib/server.js"],
      "env": {
        "PLAN_ACCESS_TOKEN": "your_token_here",
        "PLAN_SERVER_URL": "https://your-server.com/plan",
        "PLAN_TEAMSPACE_ID": "your_teamspace_id"
      }
    }
  }
}

Or with command line arguments:

{
  "mcpServers": {
    "devops-plan": {
      "command": "node",
      "args": [
        "/path/to/mcp-devops-plan/src/lib/server.js",
        "--token", "your_token_here",
        "--server-url", "https://your-server.com/plan",
        "--teamspace-id", "your_teamspace_id"
      ]
    }
  }
}

Usage

The MCP DevOps Plan server provides the following tools for interacting with DevOps Plan:

Available Tools

1. get_applications

Purpose: Retrieves all applications from the Plan system Parameters: None Usage: Use this to get a list of all available applications in your Plan instance. This is typically the first step to understand what applications you can work with.

2. get_available_projects

Purpose: Get the list of projects in Plan for a given application Parameters:

  • application (string): Name of the plan application Usage: Once you have an application name, use this to see all projects within that application.

3. get_available_components

Purpose: Get the list of components for a project in Plan for a given application Parameters:

  • application (string): Name of the application

  • projectId (string): ID of the project Usage: Retrieve available components within a specific project. Components are optional organizational units for work items.

4. get_available_workitem_types

Purpose: Get the available work item types for a project in Plan for a given application Parameters:

  • application (string): Name of the application

  • projectId (string): ID of the project Usage: Get the list of work item types (e.g., Task, Bug, Story) available in a specific project. This is needed before creating work items.

5. create_work_item

Purpose: Creates a new work item in Plan Parameters:

  • component (string, optional): An optional component name if any are available in the project

  • title (string): Title of the work item

  • description (string): Description of the work item

  • workItemType (string): Type of the work item from the list of available work item types

  • application (string): Name of the application

  • projectId (string): ID of the project Usage: Create new work items like tasks, bugs, or stories in a specific project.

6. get_work_items

Purpose: Retrieves all work items for a given application, can filter by work item type and specific owner Parameters:

  • applicationName (string): Name of the application

  • projectId (string): ID of the project

  • workitemType (string, optional): Type of the work item to filter by, if any

  • owner (string, optional): Filter the work items by owner, if any Usage: List existing work items with optional filtering. Use this to see current work items, track progress, or find specific items.

7. delete_work_item

Purpose: Deletes a work item in Plan Parameters:

  • dbid (string): The dbid field from the work item to identify it (this is the first field returned for each work item in the get_work_items tool)

  • application (string): Name of the application Usage: Remove work items that are no longer needed. The dbid can be obtained from the get_work_items tool output.

Available Tools

14 tools
change_work_item_stateB

Changes the state of a work item in Plan using a two-step process (movement request + commit)

Inputs: dbid (required), application (required), targetState (required).

create_or_update_releaseA

Creates a new release or updates an existing release in Plan. If releaseDbid is provided, updates the release; otherwise creates a new one. If projectID is provided, automatically adds the release to the project (atomic operation).

Inputs: application (required), projectID (required), fields (required), releaseDbid.

create_or_update_sprintA

Creates a new sprint or updates an existing sprint in Plan. If sprintDbid is provided, updates the sprint; otherwise creates a new one. If projectID is provided, automatically adds the sprint to the project (atomic operation).

Inputs: application (required), sprintDbid, projectID, name, +2 more.

create_work_itemC

Creates a new work item in Plan

Inputs: title (required), description (required), workItemType (required), application (required), +2 more.

delete_work_itemC

Deletes a work item in Plan

Inputs: dbid (required), application (required).

get_applicationsB

Retrieves all applications from the Plan system

Inputs: no named parameters.

get_available_componentsC

Get the list of components for a project in Plan for a given application

Inputs: application (required), projectId (required).

get_available_projectsB

Get the list of projects in Plan for a given application

Inputs: application (required).

get_available_statesA

Gets the state transition matrix for work items in Plan for a given application, showing available transitions/actions

Inputs: application (required).

get_available_workitem_typesC

Get the available workitem types for a project in Plan for a given application

Inputs: application (required), projectId (required).

get_releasesB

Get the list of releases in Plan for a given application

Inputs: application (required).

get_sprintsB

Get the list of sprints in Plan for a given application

Inputs: application (required).

get_work_itemsC

Retrieves all work items for a given application, can filter by work item type and specific owner

Inputs: applicationName (required), projectName (required), workitemType, owner.

update_work_itemA

Updates fields of an existing work item. Provide the fields you want to update with their new values. IMPORTANT: When assigning a Sprint to a work item, the work item MUST first have the corresponding Release assigned to its PlannedRelease field. You cannot assign a sprint to a work item unless that work item is already part of the release that owns the sprint. Always update PlannedRelease before updating Sprint field.

Inputs: dbid (required), application (required), fields (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific resources and actions in the Plan system. For example, create_work_item, update_work_item, and delete_work_item handle different lifecycle stages, while get_available_components, get_available_projects, and get_available_states retrieve distinct metadata types. There is no overlap or ambiguity in functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case, such as create_work_item, get_applications, and update_work_item. The naming is predictable and uniform across all 14 tools, making it easy for agents to understand and select the correct tool.

    Tool Count5/5

    With 14 tools, the server is well-scoped for a DevOps Plan domain, covering work items, releases, sprints, applications, and metadata. Each tool serves a specific, necessary function without redundancy, aligning with typical tool counts for such systems (e.g., 3-15 tools).

    Completeness5/5

    The tool set provides complete CRUD and lifecycle coverage for work items (create, get, update, delete, state changes), releases and sprints (create/update, get), and essential metadata (applications, projects, components, states, types). There are no obvious gaps; agents can perform all core DevOps planning operations without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers