targetprocess-mcp-server 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -58,6 +58,9 @@ Cards — Write
58
58
  - `create_bug_based_on_card` — Create a bug linked to an existing user story or bug card (card object with id+type, title, bugContent, optional origin)
59
59
  - `create_test_plan` — Create a test plan linked to a user story (title, userStoryId)
60
60
 
61
+ Projects
62
+ - `get_projects` — Get all Targetprocess projects (no params needed)
63
+
61
64
  User
62
65
  - `get_logged_in_user` — Get the currently logged-in user's info (no params needed)
63
66
 
@@ -77,7 +80,6 @@ User
77
80
  "env": {
78
81
  "TP_TOKEN": "<your-tp-token>" // Settings -> Authentication and Security -> New Access Token,
79
82
  "TP_BASE_URL": "<tp-api-endpoint>",
80
- "TP_API_VERSION": "v1",
81
83
  "TP_OWNER_ID": "<tp-owner-id>", // your user id
82
84
  "TP_PROJECT_ID": "<tp-project-id>",
83
85
  "TP_TEAM_ID": "<tp-team-id>"
@@ -102,7 +104,6 @@ User
102
104
  "env": {
103
105
  "TP_TOKEN": "<your-tp-token>" // Settings -> Authentication and Security -> New Access Token,
104
106
  "TP_BASE_URL": "<tp-api-endpoint>",
105
- "TP_API_VERSION": "v1",
106
107
  "TP_OWNER_ID": "<tp-owner-id>", // your user id
107
108
  "TP_PROJECT_ID": "<tp-project-id>",
108
109
  "TP_TEAM_ID": "<tp-team-id>"
@@ -115,7 +116,7 @@ User
115
116
 
116
117
  ### Claude Code
117
118
  ```bash
118
- claude mcp add tarteprocess -s user \
119
+ claude mcp add targetprocess -s user \
119
120
  -e TP_TOKEN=<your-tp-token> -e TP_BASE_URL=<tp-api-endpoint> -- npx -y targetprocess-mcp-server
120
121
  ```
121
122
 
package/build/index.js CHANGED
@@ -592,9 +592,8 @@ server.registerTool('get_bug_comments', {
592
592
  });
593
593
  server.registerTool('create_bug_based_on_card', {
594
594
  title: 'Create a new bug card based on provided card id',
595
- description: `Create a new bug card based on provided card id that summarizes the problem in concise,
596
- descriptive manner answering questions What? Where? When?,
597
- and content explaining what happened in detail.
595
+ description: `Create a new bug card based on provided card id that summarizes the problem in concise, descriptive manner answering questions What? Where? When?, and content explaining what happened in detail.
596
+ NOTE: this tool requires a user story or bug card as a reference (i.e. card ID).
598
597
  CRITICAL WORKFLOW: Before calling this tool, you MUST follow these steps:
599
598
  1) IF you already have user story or bug card content, proceed to step 3 skipping step 2;
600
599
  2) ELSE call "get_user_story_content" tool or "get_bug_content" tool to get user story or bug card content;
@@ -650,9 +649,8 @@ server.registerTool('create_bug_based_on_card', {
650
649
  });
651
650
  server.registerTool('create_bug', {
652
651
  title: 'Create a new bug card',
653
- description: `Create a new bug card that summarizes the problem in concise,
654
- descriptive manner answering questions What? Where? When?,
655
- and content explaining what happened in detail.
652
+ description: `Create a new bug card that summarizes the problem in concise, descriptive manner answering questions "What? Where? When?" and content explaining what happened in detail.
653
+ NOTE: this tool does not require a user story or bug card referenced.
656
654
  CRITICAL WORKFLOW: Before calling this tool, you MUST follow these steps:
657
655
  1) format the new bug inside html <div> tags with Issue Description, Steps to Reproduce, Expected Behavior, Actual Behavior;
658
656
  2) add a comment to the newly created bug with its Id and Title`,
@@ -660,11 +658,7 @@ server.registerTool('create_bug', {
660
658
  title: z.string()
661
659
  .describe('Bug card title that summarizes the problem in concise, descriptive, and actionable manner, enabling a developer to understand the issue without opening the report'),
662
660
  bugContent: z.string()
663
- .describe(`Bug description content, explain what happened in detail.
664
- Include expected behaviour and what actually occurred.
665
- Be specific and avoid assumptions.
666
- Clearly outline the actions needed to trigger the bug.
667
- Number each step so anyone can follow them easily`),
661
+ .describe(`Bug description content, explain what happened in detail. Include expected behaviour and what actually occurred. Be specific and avoid assumptions. Clearly outline the actions needed to trigger the bug. Number each step so anyone can follow them easily`),
668
662
  origin: z.enum([
669
663
  "Production - Customer",
670
664
  "Production - Internal",
@@ -858,6 +852,35 @@ server.registerTool('get_feature_user_stories', {
858
852
  }],
859
853
  };
860
854
  });
855
+ server.registerTool('get_projects', {
856
+ title: 'Get projects',
857
+ description: 'Get all Targetprocess projects',
858
+ }, async ({}) => {
859
+ const response = await tp.getProjects();
860
+ if (!response) {
861
+ return {
862
+ content: [{
863
+ type: 'text',
864
+ text: `Failed to get projects, JSON: ${JSON.stringify(response, null, 2)}`
865
+ }],
866
+ };
867
+ }
868
+ const items = response.Items || [];
869
+ if (items.length === 0) {
870
+ return {
871
+ content: [{
872
+ type: 'text',
873
+ text: `No projects found`,
874
+ }],
875
+ };
876
+ }
877
+ return {
878
+ content: [{
879
+ type: 'text',
880
+ text: JSON.stringify(items.map((p) => ({ id: p.Id, name: p.Name })))
881
+ }],
882
+ };
883
+ });
861
884
  server.registerTool('get_logged_in_user', {
862
885
  title: 'Get logged in user',
863
886
  description: 'Get logged in user',
package/build/tp.js CHANGED
@@ -339,6 +339,12 @@ export class TpClient {
339
339
  apiVersion: this.v2
340
340
  });
341
341
  }
342
+ async getProjects() {
343
+ return this.get({
344
+ pathParam: { "Projects": '' },
345
+ param: { "format": "json" },
346
+ });
347
+ }
342
348
  async getContext() {
343
349
  return this.get({
344
350
  pathParam: { "Context": '' },
package/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "engines": {
26
26
  "node": ">=20.x"
27
27
  },
28
- "version": "1.0.21",
28
+ "version": "1.0.22",
29
29
  "description": "MCP server for Tartget Process",
30
30
  "main": "build/index.js",
31
31
  "keywords": [