JPI

Provides programmatic access to Just Plan It’s API via an MCP client for jobs, tasks, resources, and events.
  • typescript

0

GitHub Stars

typescript

Language

2 months ago

First Indexed

3 weeks ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "etep82-jpi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "jpi-mcp"
      ],
      "env": {
        "JPI_BASE_URL": "https://api.just-plan-it.com",
        "JPI_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

You run a Machine Communication Protocol (MCP) server that bridges the Just Plan It (JPI) API with your AI workflows. This MCP server exposes JPI endpoints as a set of tools your assistant can invoke, enabling you to manage jobs, tasks, resources, templates, and events in a structured, scalable way. It is designed for practical use, with type-safe implementation, comprehensive error handling, and support for batch operations.

How to use

You interact with the MCP server through an MCP client that connects via stdio (local process) or via an http endpoint if configured. Your client will call the 69 available tools to create, read, update, and delete JPI entities such as jobs, tasks, components, resources, and events. Start the MCP server in your development environment and point your client to the running process. Ensure your client passes the required JPI API token for authentication.

How to install

Prerequisites you need before installing and running the MCP server:

  • Node.js 18 or later

  • A JPI API token

Follow these steps to set up and run the MCP server locally:

# Step 1: Install dependencies (if applicable)
# Step 2: Install or fetch the MCP server package (via npm/pnpm/yarn as appropriate)
# Step 3: Start the MCP server
# Step 4: Configure your MCP client to connect to the running server

Additional notes

Environment variable for API token: JPI_API_TOKEN is required to authenticate with the JPI API. You may also configure a base URL for the JPI API with JPI_BASE_URL if you are using a custom deployment.

Security recommendations

Treat your JPI API token as a secret. Do not commit it to source control or expose it in logs. Use secure storage for tokens and rotate them periodically. When running the MCP server, ensure the environment in which it operates is trusted and access-controlled.

Troubleshooting

If you encounter authentication or network errors, verify that the JPI_API_TOKEN is correctly set in the environment of the MCP server process and that JPI_BASE_URL (if used) points to the correct API endpoint. Check that the MCP server process is running and that your MCP client is configured to connect to the correct stdio or HTTP endpoint.

Notes on time units and field naming

All time fields in the JPI API are in seconds. Field names use PascalCase to match the API schemas exactly, such as DueDate, TaskNo, and ResourceGroupConstraints.

Examples of common usage patterns

Create a batch of jobs, update multiple tasks, or link components to jobs using JCRs and TCRs to compose complex production workflows. Use the provided 69 tools to perform these operations in a robust, type-safe manner.

API reference essentials

This server wraps the JPI REST API v1. For detailed API endpoints and request shapes, you typically rely on the API's surface as exposed by the 69 MCP tools. Each tool corresponds to a specific operation (list, get, create, update, delete) on JPI entities.

Development

Build, test, and run the MCP server locally while developing integrations. The project uses TypeScript types to ensure correctness and clear error handling for API interactions.

FAQ for quick reference

How do I start the MCP server? Start the server using the provided CLI/stdio approach and ensure the JPI_API_TOKEN is available in the environment.

How do I connect my client? Point your MCP client to the running stdio process or to the configured HTTP endpoint if you expose one.

Available tools

jpi_api_info

Get API information and available endpoints

jpi_list_components

List all components

jpi_create_component

Create a new component

jpi_get_component

Get a component by GUID

jpi_update_component

Update a component

jpi_delete_component

Delete a component

jpi_get_component_task

Get a component task

jpi_add_component_task

Add a task to a component

jpi_update_component_task

Update a component task

jpi_delete_component_task

Delete a component task

jpi_list_jobs

List all jobs

jpi_list_jobs_summary

List jobs without task details (~80% smaller)

jpi_list_jobs_at_risk

List jobs at risk of missing due dates

jpi_create_job

Create a new job with tasks

jpi_get_job

Get a job by GUID

jpi_update_job

Update a job

jpi_delete_job

Delete a job

jpi_get_task

Get a job task

jpi_add_task

Add a task to a job

jpi_update_task

Update a job task

jpi_delete_task

Delete a job task

jpi_get_jcr

Get a Job Component Reference

jpi_add_jcr

Add a JCR to a job

jpi_update_jcr

Update a JCR

jpi_delete_jcr

Delete a JCR

jpi_create_jobs_batch

Create multiple jobs

jpi_update_jobs_batch

Update multiple jobs

jpi_delete_jobs_batch

Delete multiple jobs

jpi_add_tasks_batch

Add multiple tasks to a job

jpi_update_tasks_batch

Update multiple tasks

jpi_delete_tasks_batch

Delete multiple tasks

jpi_add_jcrs_batch

Add multiple JCRs

jpi_update_jcrs_batch

Update multiple JCRs

jpi_delete_jcrs_batch

Delete multiple JCRs

jpi_create_tasks_cross_jobs

Create tasks across multiple jobs

jpi_update_tasks_cross_jobs

Update tasks across multiple jobs

jpi_delete_tasks_cross_jobs

Delete tasks across multiple jobs

jpi_list_templates

List all templates

jpi_create_template

Create a new template

jpi_get_template

Get a template by GUID

jpi_update_template

Update a template

jpi_delete_template

Delete a template

jpi_get_template_task

Get a template task

jpi_add_template_task

Add a task to a template

jpi_update_template_task

Update a template task

jpi_delete_template_task

Delete a template task

jpi_get_tcr

Get a Template Component Reference

jpi_add_tcr

Add a TCR to a template

jpi_update_tcr

Update a TCR

jpi_delete_tcr

Delete a TCR

jpi_get_events

Get events (change log) after a timestamp

jpi_get_events_filtered

Get events filtered by type

jpi_list_resource_categories

List all resource categories

jpi_create_resource_category

Create a resource category

jpi_get_resource_category

Get a resource category

jpi_update_resource_category

Update a resource category

jpi_delete_resource_category

Delete a resource category

jpi_list_resource_groups

List all resource groups

jpi_create_resource_group

Create a resource group

jpi_get_resource_group

Get a resource group

jpi_update_resource_group

Update a resource group

jpi_delete_resource_group

Delete a resource group

jpi_list_resources

List all resources

jpi_create_resource

Create a resource

jpi_get_resource

Get a resource

jpi_update_resource

Update a resource

jpi_delete_resource

Delete a resource

jpi_get_settings

Get application settings

jpi_update_settings

Update settings

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational