{"id":14960,"library":"targetprocess-mcp-server","title":"Targetprocess MCP Server","description":"This package provides an an open-source MCP (Model Context Protocol) server designed to act as a crucial bridge, allowing AI assistants to seamlessly integrate with and manage the Targetprocess project management platform. It exposes a comprehensive set of structured tools that empower AI assistants to query, create, and manage Targetprocess entities such as user stories, bugs, tasks, and features through natural language workflows. The current stable version is 2.0.0, indicating a mature state for handling LLM-driven interactions. Release cadence is not explicitly stated in the provided documentation, but the package appears actively maintained given its recent major version. Its key differentiator is its explicit focus on providing an LLM-friendly, tool-based interface, specifically designed for agents like Claude MCP AI, by abstracting the complexities of the Targetprocess API into a more accessible paradigm. This server is valuable for managing large-scale Targetprocess implementations and integrating with other systems. It requires Node.js version 20 or higher for operation.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/SerhiiMaksymiv/targetprocess-mcp-server","tags":["javascript","mcp","tp","mcp-server","targetprocess","targetprocess-server"],"install":[{"cmd":"npm install targetprocess-mcp-server","lang":"bash","label":"npm"},{"cmd":"yarn add targetprocess-mcp-server","lang":"bash","label":"yarn"},{"cmd":"pnpm add targetprocess-mcp-server","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"The `targetprocess-mcp-server` package is designed to be run as a standalone server, exposing an MCP endpoint for AI agents. It does not export JavaScript/TypeScript symbols for direct library-style import into other applications for client-side consumption. The primary interaction model is by running the server as a process and then having AI agents communicate with its exposed MCP API. Programmatic startup, if supported internally, would be an advanced use case not typically exposed for direct import by consumers of the package.","symbol":"startServer","correct":"// This package is a server, not a library for direct import. Run it as a process."},{"note":"While the server internally interacts with the Targetprocess API, the `TargetprocessClient` (or similar internal components responsible for API communication) is not exported for direct import and use by external applications. This package acts as the server-side intermediary, and its internal logic is encapsulated. External applications should interact with the MCP server itself, not its internal Targetprocess client.","symbol":"TargetprocessClient","correct":"// This package's internal components are not exposed for direct import by external applications."},{"note":"The various Targetprocess tools (e.g., `create_bug`, `get_release_user_stories`) are exposed by the running MCP server for AI agents to discover and invoke via the MCP protocol. There is no direct JavaScript/TypeScript export of a `ToolRegistry` or individual tool functions from this package for client-side import. Agents interact with the server's API to utilize these tools.","symbol":"ToolRegistry","correct":"// Access to tools is via the running MCP server's API, not direct JS/TS import."}],"quickstart":{"code":"import { exec } from 'node:child_process';\nimport path from 'node:path';\n\n// IMPORTANT: Replace with your actual values or set as environment variables\n// Generate an Access Token in Targetprocess: Settings -> Authentication and Security -> New Access Token\nconst TP_TOKEN = process.env.TP_TOKEN ?? 'YOUR_TP_TOKEN';\n// Your Targetprocess API endpoint, e.g., 'https://your-instance.tpondemand.com'\nconst TP_BASE_URL = process.env.TP_BASE_URL ?? 'https://your-instance.tpondemand.com';\n// Your Targetprocess User ID, typically found in your Targetprocess profile\nconst TP_OWNER_ID = process.env.TP_OWNER_ID ?? 'YOUR_TP_OWNER_ID';\n\nif (!TP_TOKEN || !TP_BASE_URL || !TP_OWNER_ID) {\n  console.error('ERROR: Environment variables TP_TOKEN, TP_BASE_URL, and TP_OWNER_ID must be set.');\n  console.error('Please configure these either directly in this script or as system environment variables.');\n  process.exit(1);\n}\n\n// Determine the path to the server's executable script.\n// In a typical npm install, this might be in node_modules/targetprocess-mcp-server/build/index.js (after a build step)\n// For local development from a repository, it's often the main script in the root.\n// This example assumes it's within a local node_modules structure or a directly cloned repo.\nconst serverScriptPath = path.resolve(process.cwd(), './node_modules/targetprocess-mcp-server/build/index.js'); // Common for installed packages\n// Alternatively, if running directly from a cloned repo for development:\n// const serverScriptPath = path.resolve(process.cwd(), './index.js'); // Adjust based on actual project structure\n\nconst command = `node ${serverScriptPath}`;\nconst options = {\n  env: {\n    ...process.env,\n    TP_TOKEN,\n    TP_BASE_URL,\n    TP_OWNER_ID\n  }\n};\n\nconsole.log(`Attempting to start Targetprocess MCP Server with command: ${command}`);\nconst serverProcess = exec(command, options, (error, stdout, stderr) => {\n  if (error) {\n    console.error(`Server failed to start: ${error.message}`);\n    return;\n  }\n  if (stderr) {\n    console.error(`Server stderr: ${stderr}`);\n  }\n  console.log(`Server stdout: ${stdout}`);\n});\n\nserverProcess.stdout.on('data', (data) => {\n  console.log(`[MCP Server] stdout: ${data}`);\n});\n\nserverProcess.stderr.on('data', (data) => {\n  console.error(`[MCP Server] stderr: ${data}`);\n});\n\nserverProcess.on('close', (code) => {\n  console.log(`Targetprocess MCP Server process exited with code ${code}`);\n});\n\nconsole.log('Targetprocess MCP Server initiated. Check console for startup logs.');\nconsole.log('You will need an MCP client (e.g., LobeHub, Claude) to interact with the running server.');","lang":"typescript","description":"This quickstart demonstrates how to programmatically start the Targetprocess MCP Server as a child process, configuring it with necessary environment variables for connecting to your Targetprocess instance. It outlines the essential setup for a functional server instance that AI agents can then connect to and utilize."},"warnings":[{"fix":"Ensure your Node.js environment is updated to version 20.x or newer. Use `nvm use 20` or install the latest LTS version.","message":"The server explicitly requires Node.js version 20 or higher. Running with older Node.js versions will likely lead to startup failures or unexpected behavior.","severity":"breaking","affected_versions":"<2.0.0 (upgrade to 20.x)"},{"fix":"Verify that `TP_TOKEN` is a valid Targetprocess Access Token with necessary permissions, `TP_BASE_URL` is the correct API endpoint (e.g., `https://your-instance.tpondemand.com`), and `TP_OWNER_ID` is your user ID in Targetprocess. Generate new tokens if necessary.","message":"Correct configuration of `TP_TOKEN`, `TP_BASE_URL`, and `TP_OWNER_ID` environment variables is critical for server operation. Incorrect values will prevent connection to Targetprocess or result in unauthorized errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure you are using an MCP-compatible client or AI agent (e.g., LobeHub, Claude MCP AI) to interact with the server. Understand the JSON-RPC 2.0 message structure required by MCP.","message":"The server is designed for the Model Context Protocol (MCP). Attempting to interact with it via a standard REST API client or without an MCP-compatible agent will not work as intended, as it expects specific JSON-RPC 2.0 formatted messages.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Simplify complex queries. If encountering 'Error during parameters parsing' or similar, try breaking down complex filters into multiple steps or using alternative query methods. Refer to Targetprocess API documentation for supported query structures.","message":"Complex Targetprocess API queries using `WHERE` clauses with `IN` operators or `Count`-based filtering might not be fully supported by the underlying Targetprocess API via the server, leading to parsing errors.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Set `TP_TOKEN`, `TP_BASE_URL`, and `TP_OWNER_ID` in your environment or in the script that launches the server. Example: `export TP_TOKEN=\"your_token\" && export TP_BASE_URL=\"https://your-instance.tpondemand.com\" && node build/index.js`.","cause":"The server failed to start because one or more required environment variables for Targetprocess API connection were missing.","error":"ERROR: Environment variables TP_TOKEN, TP_BASE_URL, and TP_OWNER_ID must be set."},{"fix":"Verify your `TP_TOKEN` in Targetprocess settings. Generate a new Access Token if necessary and ensure it has the appropriate read/write permissions for the entities the server intends to manage. Also, check the `TP_BASE_URL` format.","cause":"The provided `TP_TOKEN` is invalid, expired, or lacks the necessary permissions to access the Targetprocess API.","error":"Failed to connect to Targetprocess API: Unauthorized (401)"},{"fix":"Adjust the AI agent's prompt or the tool's implementation to generate simpler and more direct Targetprocess API queries. Avoid highly complex `WHERE` clauses, especially with multiple `IN` operators.","cause":"An AI agent issued a tool command with a query that the Targetprocess API could not parse, often due to overly complex `WHERE` clauses or unsupported filter patterns.","error":"MCP error -32600: Search failed: Failed to search UserStorys after 3 attempts: search UserStorys failed: 400 - Error during parameters parsing."},{"fix":"Verify the server process is running and listening on the expected port. Check firewall rules. Ensure the `command` and `args` in your MCP client configuration correctly point to the server's executable script. Review server logs for startup errors.","cause":"The MCP host client (e.g., AI agent) cannot connect to the running MCP server, or the server failed to start properly.","error":"Connection refused errors. Server disconnected messages. Command not found errors."}],"ecosystem":"npm"}