targetprocess-mcp-server 1.0.20 → 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
@@ -41,6 +41,10 @@ Releases
41
41
  - `get_release_open_bugs` — Get only active/open bugs for a release (name, withDescription, optional results)
42
42
  - `get_release_open_user_stories` — Get only active/open user stories for a release (name, withDescription, optional results)
43
43
 
44
+ Features
45
+ - `get_feature_user_stories` — Get all user stories for a feature by its ID (id)
46
+ - `get_not_covered_user_stories_in_feature` — Get user stories in a feature not yet covered by tests, includes `covered` field based on "Test Automation" custom field (id)
47
+
44
48
  Cards — Read
45
49
  - `get_bug_content` — Fetch full content of a bug by ID (id)
46
50
  - `get_user_story_content` — Fetch full content of a user story by ID (id)
@@ -54,6 +58,12 @@ Cards — Write
54
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)
55
59
  - `create_test_plan` — Create a test plan linked to a user story (title, userStoryId)
56
60
 
61
+ Projects
62
+ - `get_projects` — Get all Targetprocess projects (no params needed)
63
+
64
+ User
65
+ - `get_logged_in_user` — Get the currently logged-in user's info (no params needed)
66
+
57
67
  > `origin` accepted values: `Production - Customer`, `Production - Internal`, `Pre-Release - Customer`, `Pre-Release - Internal`, `Regression - Dev01`, `Regression - Team Env`, `Manual QA` *(default)*, `Developer Raised`, `Operations`
58
68
  ---
59
69
 
@@ -70,7 +80,6 @@ Cards — Write
70
80
  "env": {
71
81
  "TP_TOKEN": "<your-tp-token>" // Settings -> Authentication and Security -> New Access Token,
72
82
  "TP_BASE_URL": "<tp-api-endpoint>",
73
- "TP_API_VERSION": "v1",
74
83
  "TP_OWNER_ID": "<tp-owner-id>", // your user id
75
84
  "TP_PROJECT_ID": "<tp-project-id>",
76
85
  "TP_TEAM_ID": "<tp-team-id>"
@@ -95,7 +104,6 @@ Cards — Write
95
104
  "env": {
96
105
  "TP_TOKEN": "<your-tp-token>" // Settings -> Authentication and Security -> New Access Token,
97
106
  "TP_BASE_URL": "<tp-api-endpoint>",
98
- "TP_API_VERSION": "v1",
99
107
  "TP_OWNER_ID": "<tp-owner-id>", // your user id
100
108
  "TP_PROJECT_ID": "<tp-project-id>",
101
109
  "TP_TEAM_ID": "<tp-team-id>"
@@ -108,7 +116,7 @@ Cards — Write
108
116
 
109
117
  ### Claude Code
110
118
  ```bash
111
- claude mcp add tarteprocess -s user \
119
+ claude mcp add targetprocess -s user \
112
120
  -e TP_TOKEN=<your-tp-token> -e TP_BASE_URL=<tp-api-endpoint> -- npx -y targetprocess-mcp-server
113
121
  ```
114
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.20",
28
+ "version": "1.0.22",
29
29
  "description": "MCP server for Tartget Process",
30
30
  "main": "build/index.js",
31
31
  "keywords": [