Skip to main content
Glama
JosiahSiegel

Planview MCP Server

by JosiahSiegel

Planview MCP Server

MCP server for Planview Enterprise One with Okta passwordless authentication and automated timesheet completion.

What This Does

  • πŸ” Authenticate to Planview using Okta Verify (no passwords)

  • πŸ“Š Access Planview API (work items, projects, users)

  • πŸ€– Auto-complete timesheets with /complete-timesheets command

Related MCP server: Timesheet Assistant MCP

Quick Start

Step 1: Clone and Install

git clone <your-repo-url>
cd planview-mcp
npm install
npx playwright install chromium

Step 2: Configure

Linux/macOS:

cp .mcp.json.example .mcp.json
nano .mcp.json  # or use any text editor

Windows:

copy .mcp.json.windows.example .mcp.json
notepad .mcp.json  # or use any text editor

Edit the env section in .mcp.json with your Planview details:

  • PLANVIEW_BASE_URL: Your company's Planview URL

  • OKTA_USERNAME: Your email address

Step 3: Authenticate

npm run okta-login

This opens a browser and waits for you to approve the Okta Verify notification on your phone.

Step 4: Build and Restart Claude

npm run build

Then restart Claude Code to load the MCP server.

Usage

Available Commands

Command

Description

/complete-timesheets

Auto-fills all overdue timesheets (8h/day, 40h/week)

Available Tools

Use these directly in Claude:

  • planview_get_work_items - List work items

  • planview_get_projects - List projects

  • planview_get_current_user - Get your user info

  • planview_update_work_item - Update a work item

  • planview_execute_request - Make custom API calls

More Examples

See EXAMPLES.md for detailed usage examples including:

  • Timesheet automation workflows

  • Work item management

  • Custom API requests

  • Creating your own commands

  • Troubleshooting tips

How It Works

This setup uses two MCP servers:

  1. Planview MCP (this repo) - Handles Planview API and authentication

  2. Playwright MCP (auto-installed) - Handles browser automation for timesheets

Both are configured in your .mcp.json file. Playwright MCP downloads automatically when Claude starts.

Authentication flow:

  1. You run npm run okta-login once

  2. Creates planview-auth.json with your session

  3. Both MCP servers use this session file

  4. Re-authenticate when session expires

Troubleshooting

Problem

Solution

"Authentication error"

Run npm run okta-login

"Can't see browser during login"

Add HEADLESS=true before npm run okta-login

Windows npx warning

Use .mcp.json.windows.example (has cmd /c wrapper)

"Timesheet automation fails"

Check .mcp.json has both planview and playwright servers

"Missing PLANVIEW_BASE_URL"

Check the env section in .mcp.json

Configuration

Use .mcp.json in this repo directory.

Linux/macOS: Uses npx directly

{
  "mcpServers": {
    "planview": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
        "PLANVIEW_STORAGE_STATE": "planview-auth.json",
        "OKTA_USERNAME": "your.email@company.com"
      }
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    }
  }
}

Windows: Requires cmd /c wrapper

{
  "mcpServers": {
    "planview": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
        "PLANVIEW_STORAGE_STATE": "planview-auth.json",
        "OKTA_USERNAME": "your.email@company.com"
      }
    },
    "playwright": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
    }
  }
}

Global Setup (All Projects)

Add to Claude Code MCP settings with absolute paths.

Linux/macOS:

{
  "mcpServers": {
    "planview": {
      "command": "node",
      "args": ["/full/path/to/planview-mcp/dist/index.js"],
      "env": {
        "PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
        "PLANVIEW_STORAGE_STATE": "/full/path/to/planview-mcp/planview-auth.json",
        "OKTA_USERNAME": "your.email@company.com"
      }
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    }
  }
}

Windows:

{
  "mcpServers": {
    "planview": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\planview-mcp\\dist\\index.js"],
      "env": {
        "PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
        "PLANVIEW_STORAGE_STATE": "C:\\full\\path\\to\\planview-mcp\\planview-auth.json",
        "OKTA_USERNAME": "your.email@company.com"
      }
    },
    "playwright": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
    }
  }
}

Why Clone Instead of Direct Install?

This MCP requires cloning because:

  • Authentication creates planview-auth.json locally

  • Both MCP servers need access to the same auth file

  • Each company has different Planview URLs

  • Configuration is set in .mcp.json (committed to repo)

Direct GitHub URL installation won't work due to these local file requirements.

Development

npm run dev    # Watch mode (auto-rebuild)
npm run build  # Build once
npm start      # Run server manually

API Documentation

View Planview API docs at: https://yourcompany.pvcloud.com/planview/swagger/index.html

Security

Never commit these files (already in .gitignore):

  • .mcp.json - Your configuration with credentials

  • planview-auth.json - Your session

License

MIT

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Project portfolio management for PMOs. Alternative to Microsoft Project Online. OAuth + PAT.

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Provide seamless access to Appfolio Property Manager Reporting API through a standardized MCP serv…

View all MCP Connectors

Latest Blog Posts

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/JosiahSiegel/planview-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server