JPI
- 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