polarion-mcp 1.4.0 → 1.4.1
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 +130 -101
- package/build/composite-documents.js +18 -3
- package/build/composite-documents.js.map +1 -1
- package/build/composite-search.d.ts +2 -0
- package/build/composite-search.js +46 -14
- package/build/composite-search.js.map +1 -1
- package/build/composite-trace.js +26 -13
- package/build/composite-trace.js.map +1 -1
- package/build/composite-upload.js +16 -3
- package/build/composite-upload.js.map +1 -1
- package/build/composite-utils.d.ts +1 -0
- package/build/composite-utils.js +8 -1
- package/build/composite-utils.js.map +1 -1
- package/build/executor.d.ts +1 -1
- package/build/executor.js +59 -11
- package/build/executor.js.map +1 -1
- package/build/http-server.js +3 -0
- package/build/http-server.js.map +1 -1
- package/build/httpClient.d.ts +2 -0
- package/build/httpClient.js +5 -3
- package/build/httpClient.js.map +1 -1
- package/build/mcp-http-server.js +29 -19
- package/build/mcp-http-server.js.map +1 -1
- package/build/oauth.js +16 -2
- package/build/oauth.js.map +1 -1
- package/build/pagination.d.ts +1 -0
- package/build/pagination.js +14 -1
- package/build/pagination.js.map +1 -1
- package/build/rest-api.d.ts +6 -0
- package/build/rest-api.js +27 -7
- package/build/rest-api.js.map +1 -1
- package/build/server.d.ts +10 -0
- package/build/server.js +96 -77
- package/build/server.js.map +1 -1
- package/build/tool-execution.d.ts +15 -0
- package/build/tool-execution.js +75 -0
- package/build/tool-execution.js.map +1 -0
- package/build/untrusted-content.d.ts +6 -0
- package/build/untrusted-content.js +21 -5
- package/build/untrusted-content.js.map +1 -1
- package/build/utils.d.ts +2 -0
- package/build/utils.js +10 -0
- package/build/utils.js.map +1 -1
- package/package.json +9 -7
- package/src/composite-documents.ts +18 -3
- package/src/composite-search.ts +46 -12
- package/src/composite-trace.ts +25 -12
- package/src/composite-upload.ts +11 -2
- package/src/composite-utils.ts +7 -1
- package/src/executor.ts +48 -14
- package/src/http-server.ts +3 -0
- package/src/httpClient.ts +7 -2
- package/src/mcp-http-server.ts +32 -19
- package/src/oauth.ts +15 -1
- package/src/pagination.ts +10 -1
- package/src/rest-api.ts +33 -8
- package/src/server.ts +92 -71
- package/src/tool-execution.ts +98 -0
- package/src/untrusted-content.ts +23 -5
- package/src/utils.ts +8 -0
package/README.md
CHANGED
|
@@ -2,156 +2,185 @@
|
|
|
2
2
|
|
|
3
3
|
# Polarion MCP
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Your Polarion work, one conversation away.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Find requirements, review documents and prepare test runs through your AI assistant.
|
|
8
|
+
An open-source [Model Context Protocol](https://modelcontextprotocol.io) server that exposes **every Polarion REST operation** (284 tools, generated from the current API definition).
|
|
8
9
|
|
|
9
10
|
[](https://github.com/phillipboesger/polarion-mcp/actions/workflows/ci.yml)
|
|
10
11
|
[](https://www.npmjs.com/package/polarion-mcp)
|
|
11
12
|
[](https://github.com/phillipboesger/polarion-mcp/pkgs/container/polarion-mcp)
|
|
12
13
|
[](LICENSE)
|
|
13
|
-
[](package.json)
|
|
14
|
-
[](https://modelcontextprotocol.io)
|
|
15
|
-
[](https://github.com/phillipboesger/polarion-mcp/stargazers)
|
|
16
14
|
|
|
17
|
-
[**
|
|
15
|
+
[**Connect your assistant**](https://polarion-mcp.boesger.com/#clients) · [Daily workflows](https://polarion-mcp.boesger.com/#daily-use) · [Tool catalog](src/tools.ts)
|
|
16
|
+
|
|
17
|
+
<img src="docs/assets/site-hero.png" alt="Polarion MCP works with Claude, ChatGPT, Gemini, VS Code, Copilot, Cursor and Codex." width="900" />
|
|
18
18
|
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
On this page:
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
- [What the connector does for you](#what-the-connector-does-for-you)
|
|
24
|
+
- [A day with Polarion MCP](#a-day-with-polarion-mcp)
|
|
25
|
+
- [Get connected](#get-connected)
|
|
26
|
+
- [FAQ](#faq)
|
|
27
|
+
- [Feedback and community](#feedback-and-community)
|
|
28
|
+
- [Documentation](#documentation)
|
|
29
|
+
- [License](#license)
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
## What the connector does for you
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
<summary>On this page</summary>
|
|
33
|
+

|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
- [Quickstart](#quickstart)
|
|
34
|
-
- [What you can do](#what-you-can-do)
|
|
35
|
-
- [Client guides](#client-guides)
|
|
36
|
-
- [Security and team deployment](#security-and-team-deployment)
|
|
37
|
-
- [Documentation](#documentation)
|
|
38
|
-
- [Contributing](#contributing)
|
|
39
|
-
- [License](#license)
|
|
35
|
+
**Your AI client → Polarion MCP → your Polarion REST API.** Ask a question; the assistant chooses tools, reads the returned data and proposes an answer or change.
|
|
40
36
|
|
|
41
|
-
|
|
37
|
+
- **Find answers:** search requirements and defects, read LiveDocs and inspect traceability links.
|
|
38
|
+
- **Prepare work:** draft test cases, prepare runs and record the test outcomes your team supplies.
|
|
39
|
+
- **Change data, safely:** the assistant can create and update Polarion data, and every write can be previewed first (`dry_run: true` shows the exact request without sending it). Prefer read access only? `MCP_READ_ONLY=1` blocks all writes. Set approval rules in your AI client; previews do not create an approval lock.
|
|
40
|
+
- **Inspect what you run:** MIT source, release SBOMs, build provenance and signed container images. See [supply-chain verification](docs/quality/supply-chain.md).
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
| Domain | Outcome |
|
|
45
|
+
|---|---|
|
|
46
|
+
| Work items | Find requirements, triage defects, prepare field updates. |
|
|
47
|
+
| Documents and pages | Read LiveDocs, inspect parts, manage attachments and supported pages. |
|
|
48
|
+
| Test management | Prepare runs and record supplied results. |
|
|
49
|
+
| Plans and collections | Review release scope and document collections. |
|
|
50
|
+
| Projects, people and configuration | Discover accessible projects, users, allowed field values and metadata. |
|
|
51
|
+
|
|
52
|
+
The [landing page](https://polarion-mcp.boesger.com/#features) shows counts by domain, computed from `src/tools.ts`. The **284 tools** count covers generated REST operations; configured toolsets and additional helpers change the exposed catalog. Selected Work Item writes validate enumeration values, custom-field keys and user references. [Features and limits](docs/features.md) describe the scope.
|
|
42
53
|
|
|
43
|
-
##
|
|
54
|
+
## A day with Polarion MCP
|
|
44
55
|
|
|
45
|
-
|
|
56
|
+

|
|
46
57
|
|
|
47
|
-
|
|
48
|
-
2. **Connect.** Add the launch command and environment to your client's configuration. For clients using `mcpServers`, the local stdio configuration is:
|
|
58
|
+
These are illustrative conversations using real tools, not recorded outputs. Project types, link roles and permissions vary.
|
|
49
59
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"API_BASE_URL": "https://YOUR-POLARION/polarion/rest/v1",
|
|
58
|
-
"BEARER_TOKEN": "YOUR_POLARION_PAT"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
60
|
+
| Ask your assistant | Tools and result | Your control |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| “Which open defects could block this release?” | `getWorkItems`, `getWorkItem`: a scoped list of severity, owners and missing information. | Read-only triage; approve any later reassignment. |
|
|
63
|
+
| “Review this LiveDoc and propose clearer acceptance criteria for REQ-17.” | `getDocument`, `getDocumentParts`, `getWorkItem`, `patchWorkItem`: a rewrite of the requirement’s description. | Preview with `dry_run: true`; approve before saving. |
|
|
64
|
+
| “Draft tests from these requirements, then record the results I provide.” | `getWorkItems`, `postWorkItems`, `postTestRuns`, `postTestRecords`: proposed cases and a run, then supplied outcomes. | Check existing tests, preview each write and approve. The connector does not execute product tests. |
|
|
65
|
+
| “Summarize this release plan and its latest test runs.” | `getPlan`, `getWorkItems`, `getTestRuns`: a draft status update with source IDs and missing data. | You decide release readiness. |
|
|
66
|
+
| “Find requirements without a verifies link to a test case.” | `getWorkItems`, `getLinkedWorkItems`: a scoped gap list and existing candidate tests. | Confirm link roles and scope before creating anything. |
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
3. **Ask.** Confirm that the client lists Polarion tools, then ask: “List the Polarion projects I can access.”
|
|
68
|
+
[Explore the chat-style walkthroughs](https://polarion-mcp.boesger.com/#daily-use). For larger work, follow the [worked task](docs/example-task.md): read items one by one, check existing coverage, propose changes, then verify the result.
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
<summary>Alternative: build from source</summary>
|
|
70
|
+
## Get connected
|
|
70
71
|
|
|
71
|
-
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
**First: how do you run the server?** You need a REST-enabled Polarion instance and a PAT.
|
|
75
|
+
|
|
76
|
+
| Server choice | Use it when | What runs |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| **npm / npx** | Your desktop or coding client supports local MCP. | The client launches a stdio process with Node.js 22+ and your PAT. |
|
|
79
|
+
| **Docker** | You are setting up your own or a team server. | Streamable HTTP, with each caller’s PAT. Add HTTPS and OAuth for cloud connectors. |
|
|
80
|
+
| **Remote URL** | Your team already hosts it. | Nothing to install locally; get the endpoint from your administrator. |
|
|
81
|
+
|
|
82
|
+
Choose your client in the [inline setup picker](https://polarion-mcp.boesger.com/#clients). It recommends a server choice, explains unsupported options, and shows the server command, client snippet and short steps together. Claude Desktop, Claude Code, Cursor and VS Code accept local or remote setups. **claude.ai and ChatGPT’s hosted connector path use a reachable HTTPS server**, rather than directly launching npx. OpenAI also offers [Secure MCP Tunnel](https://developers.openai.com/api/docs/guides/secure-mcp-tunnels) for private servers; that requires separate setup and permissions.
|
|
83
|
+
|
|
84
|
+
<!-- clients:start -->
|
|
85
|
+
| Group | Setup |
|
|
86
|
+
|---|---|
|
|
87
|
+
| [Claude](https://polarion-mcp.boesger.com/#setup/claude-desktop) | Claude Desktop and Claude Code: local or remote; claude.ai and API: HTTPS server. |
|
|
88
|
+
| [ChatGPT / Codex](https://polarion-mcp.boesger.com/#setup/chatgpt-apps) | ChatGPT connector: HTTPS; Custom GPT Actions: REST/OpenAPI; Codex: local or remote. |
|
|
89
|
+
| [Gemini, editors, other providers](https://polarion-mcp.boesger.com/#setup/cursor) | Gemini Enterprise and CLI, VS Code, Cursor and more; OpenAI API, Agents SDK or any MCP client. |
|
|
90
|
+
| [Custom / team server](https://polarion-mcp.boesger.com/#setup/generic-stdio) | Other AI provider / any MCP client: stdio or HTTP; Docker, REST/OpenAPI and n8n. |
|
|
91
|
+
<!-- clients:end -->
|
|
92
|
+
|
|
93
|
+
**Local example:** paste this into Claude Desktop’s Developer config or a compatible client’s private MCP settings. Replace the URL and PAT, merge with existing settings, then reconnect. Fully quit and restart Claude Desktop.
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"polarion": {
|
|
99
|
+
"command": "npx",
|
|
100
|
+
"args": ["-y", "polarion-mcp"],
|
|
101
|
+
"env": {
|
|
102
|
+
"API_BASE_URL": "https://YOUR-POLARION/polarion/rest/v1",
|
|
103
|
+
"BEARER_TOKEN": "YOUR_POLARION_PAT"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Docker example:** the published image starts an HTTP server on a loopback port.
|
|
72
111
|
|
|
73
112
|
```bash
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
113
|
+
docker run -d --name polarion-mcp \
|
|
114
|
+
-p 127.0.0.1:3000:3000 \
|
|
115
|
+
-e API_BASE_URL=https://YOUR-POLARION/polarion/rest/v1 \
|
|
116
|
+
-e MCP_ALLOWED_HOSTS=localhost:3000,127.0.0.1:3000 \
|
|
117
|
+
ghcr.io/phillipboesger/polarion-mcp:1.4.1
|
|
78
118
|
```
|
|
79
119
|
|
|
80
|
-
|
|
120
|
+
For a local HTTP client, use `http://localhost:3000/mcp` with `Authorization: Bearer YOUR_POLARION_PAT`. For a team, proxy HTTPS to that port and add the public hostname to `MCP_ALLOWED_HOSTS`. Cloud connectors also need `MCP_PUBLIC_URL`, a stable `MCP_TOKEN_SECRET`, exact redirect allowlists and a `TRUST_PROXY` setting matching the real proxy chain. The picker includes that server configuration for claude.ai and ChatGPT. See [deployment](docs/deployment.md#docker) for operations details.
|
|
121
|
+
|
|
122
|
+
**Other AI provider / any MCP client:** choose [Any MCP client](https://polarion-mcp.boesger.com/#setup/generic-stdio) for stdio or HTTP connection shapes. For OpenAPI clients, Custom GPT Actions and n8n, run the **separate REST wrapper** with a deployment PAT and `HTTP_API_KEY`; the [REST setup](https://polarion-mcp.boesger.com/#setup/rest-wrapper) includes its command and schema URLs.
|
|
123
|
+
|
|
124
|
+
Keep credentials out of Git. There is no public Polarion relay. Finish with a read-only check: “List the Polarion projects I can access.” [Vendor sources and compatibility notes](docs/clients.md) explain the documented paths.
|
|
125
|
+
|
|
126
|
+
## FAQ
|
|
127
|
+
|
|
128
|
+
<!-- faq:start -->
|
|
129
|
+
<details><summary>Which setup do I need?</summary>
|
|
130
|
+
|
|
131
|
+
Desktop or coding client: npm / npx (your client starts the server). Shared team server: Docker. claude.ai or ChatGPT connector: a public HTTPS server with OAuth, so Docker, or Remote URL if your team runs one. Custom GPT Actions use the REST wrapper.
|
|
81
132
|
|
|
82
133
|
</details>
|
|
134
|
+
<details><summary>How do I create a Polarion personal access token (PAT)?</summary>
|
|
83
135
|
|
|
84
|
-
|
|
136
|
+
Polarion user page > Personal Access Token > name and expiry > Create Token. Copy it at once, it is shown only once. If the page says token generation is not allowed, your administrator must enable `com.siemens.polarion.rest.security.restApiToken.enabled=true`.
|
|
85
137
|
|
|
86
|
-
|
|
138
|
+
</details>
|
|
139
|
+
<details><summary>Is my data safe? Which permissions apply?</summary>
|
|
87
140
|
|
|
88
|
-
|
|
89
|
-
- **Choose the tools you expose:** named toolsets, an allowlist, and an optional read-only mode narrow the callable surface.
|
|
90
|
-
- **Preview changes:** mutating REST tools support `dry_run` request previews. Selected Work Item changes also have guards for enumeration values, custom-field keys, and user references.
|
|
91
|
-
- **Read rich text:** supported HTML response values include a Markdown representation alongside the original content.
|
|
92
|
-
- **Connect locally or remotely:** MCP over stdio or Streamable HTTP, plus a separate REST wrapper for OpenAPI Actions.
|
|
141
|
+
Polarion enforces the permissions of the token owner. Remote mode uses each caller's own token and the server stores none. Tool results go to your AI provider, so your organization's data policies apply.
|
|
93
142
|
|
|
94
|
-
|
|
143
|
+
</details>
|
|
144
|
+
<details><summary>Can I limit the server to read-only?</summary>
|
|
95
145
|
|
|
96
|
-
|
|
146
|
+
Yes: set `MCP_READ_ONLY=1` and restart. Only read tools are exposed. In write-enabled sessions every write tool can preview with `dry_run: true`.
|
|
97
147
|
|
|
98
|
-
|
|
148
|
+
</details>
|
|
149
|
+
<details><summary>It says 401 "Polarion did not accept this token".</summary>
|
|
99
150
|
|
|
100
|
-
|
|
101
|
-
<summary>All client guides and compatibility notes</summary>
|
|
151
|
+
The token was cut off, has expired, or belongs to another Polarion. Run the token test from Before you start and create a new token.
|
|
102
152
|
|
|
103
|
-
|
|
153
|
+
</details>
|
|
154
|
+
<details><summary>It says 403 "Polarion denied access".</summary>
|
|
104
155
|
|
|
105
|
-
|
|
106
|
-
| Client | Transport | Auth | Guide |
|
|
107
|
-
|---|---|---|---|
|
|
108
|
-
| Claude.ai / Claude Desktop (custom connectors) | Streamable HTTP, SSE | static header, oauth dcr, preregistered client | [Setup](docs/clients/claude-web-desktop.md) |
|
|
109
|
-
| Claude Code (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/claude-code.md) |
|
|
110
|
-
| Claude API MCP connector (unverified) | Streamable HTTP, SSE | static header, preregistered client | [Setup](docs/clients/claude-api.md) |
|
|
111
|
-
| ChatGPT connectors / Apps (unverified) | Streamable HTTP, SSE | oauth dcr, cimd, preregistered client | [Setup](docs/clients/chatgpt-apps.md) |
|
|
112
|
-
| Custom GPT (Actions) (unverified) | REST action | static header, preregistered client | [Setup](docs/clients/custom-gpt.md) |
|
|
113
|
-
| OpenAI Responses API / Agents SDK | Streamable HTTP, SSE | static header, preregistered client | [Setup](docs/clients/openai-api.md) |
|
|
114
|
-
| Codex CLI (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/codex-cli.md) |
|
|
115
|
-
| VS Code Copilot | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/vscode-copilot.md) |
|
|
116
|
-
| Microsoft Copilot Studio | Streamable HTTP | static header, oauth dcr, preregistered client | [Setup](docs/clients/copilot-studio.md) |
|
|
117
|
-
| Cursor | stdio, Streamable HTTP, SSE | static header, oauth dcr, preregistered client | [Setup](docs/clients/cursor.md) |
|
|
118
|
-
| Windsurf (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/windsurf.md) |
|
|
119
|
-
| JetBrains AI Assistant (unverified) | stdio, Streamable HTTP, SSE | none | [Setup](docs/clients/jetbrains-ai.md) |
|
|
120
|
-
| Gemini CLI (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/gemini-cli.md) |
|
|
121
|
-
| Zed (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/zed.md) |
|
|
122
|
-
| Cline (unverified) | stdio, Streamable HTTP, SSE | static header, oauth dcr | [Setup](docs/clients/cline.md) |
|
|
123
|
-
| n8n (unverified) | Streamable HTTP | static header, oauth dcr, preregistered client | [Setup](docs/clients/n8n.md) |
|
|
124
|
-
<!-- clients:end -->
|
|
156
|
+
The token is known but refused. Check: REST enabled (`com.siemens.polarion.rest.enabled=true`), your user has a license and project access, and no proxy blocks `/polarion/rest` or the Authorization header.
|
|
125
157
|
|
|
126
158
|
</details>
|
|
159
|
+
<details><summary>My AI client says "Disconnected" or "Failed to connect".</summary>
|
|
127
160
|
|
|
128
|
-
|
|
161
|
+
npm: run `npx -y polarion-mcp` in a terminal with the same values to see the real error (Node older than 22 and JSON typos are common). Docker or remote: open `https://YOUR-SERVER/health`, then read `docker logs polarion-mcp`.
|
|
129
162
|
|
|
130
|
-
|
|
163
|
+
</details>
|
|
164
|
+
<details><summary>The connector login in claude.ai or ChatGPT fails or loops.</summary>
|
|
131
165
|
|
|
132
|
-
|
|
166
|
+
Check `MCP_PUBLIC_URL` (exact https address, no path), the padlock, that the redirect preset or callback is allowed (`MCP_ALLOWED_REDIRECT_PRESETS=claude`; the log says `redirect_uri rejected`), and that `MCP_TOKEN_SECRET` did not change.
|
|
133
167
|
|
|
134
|
-
|
|
168
|
+
</details>
|
|
135
169
|
|
|
136
|
-
|
|
170
|
+
More answers: [docs/clients.md](docs/clients.md#more-questions).
|
|
171
|
+
<!-- faq:end -->
|
|
137
172
|
|
|
138
|
-
##
|
|
173
|
+
## Feedback and community
|
|
139
174
|
|
|
140
|
-
|
|
141
|
-
|---|---|
|
|
142
|
-
| Find a guide | [Documentation index](docs/README.md) |
|
|
143
|
-
| Configure the server | [Configuration](docs/configuration.md) |
|
|
144
|
-
| Host it for a team | [Deployment](docs/deployment.md) |
|
|
145
|
-
| Review authentication and controls | [Security](docs/security.md) |
|
|
146
|
-
| Use tools and prompts | [Usage](docs/usage.md) · [Resources and prompts](docs/resources-and-prompts.md) |
|
|
147
|
-
| Inspect API coverage | [Tool catalog](src/tools.ts) · [REST coverage](docs/quality/rest-coverage.md) |
|
|
148
|
-
| Understand or extend it | [Architecture](docs/architecture.md) · [Extension interfaces](docs/extensions.md) |
|
|
175
|
+
**Feedback and questions:** [open an issue](https://github.com/phillipboesger/polarion-mcp/issues). Include what you tried, your client and server mode, and what you expected. Leave credentials out.
|
|
149
176
|
|
|
150
|
-
|
|
177
|
+
Nothing documented for your case? Open an issue or PR on the repo and go wild. A clearer example, a small fix or a new integration can help the next team. Read [Contributing](.github/CONTRIBUTING.md) for source builds and checks. Report vulnerabilities through the [security policy](.github/SECURITY.md).
|
|
151
178
|
|
|
152
|
-
|
|
179
|
+
Built by [Phillip Bösger](https://github.com/phillipboesger), building on [@Jonasdero](https://github.com/Jonasdero).
|
|
180
|
+
|
|
181
|
+
## Documentation
|
|
153
182
|
|
|
154
|
-
|
|
183
|
+
[Docs index](docs/README.md) · [Configuration](docs/configuration.md) · [Deployment](docs/deployment.md) · [Security](docs/security.md) · [Usage](docs/usage.md) · [Architecture](docs/architecture.md) · [Extensions](docs/extensions.md) · [Releases](https://github.com/phillipboesger/polarion-mcp/releases)
|
|
155
184
|
|
|
156
185
|
## License
|
|
157
186
|
|
|
@@ -4,7 +4,14 @@ async function readParts(args, ctx) {
|
|
|
4
4
|
const all = [];
|
|
5
5
|
const includedItems = new Map();
|
|
6
6
|
for (let page = 1; page <= 100; page++) {
|
|
7
|
-
const response = await ctx.callPolarionTool('getDocumentParts', {
|
|
7
|
+
const response = await ctx.callPolarionTool('getDocumentParts', {
|
|
8
|
+
...base, 'page[size]': 100, 'page[number]': page, include: 'workItem',
|
|
9
|
+
fields: {
|
|
10
|
+
document_parts: 'type,content,headingText,level,workItem',
|
|
11
|
+
workitems: 'title,type,description',
|
|
12
|
+
},
|
|
13
|
+
...(typeof args.revision === 'string' ? { revision: args.revision } : {}),
|
|
14
|
+
});
|
|
8
15
|
if (resultFailed(response))
|
|
9
16
|
return response;
|
|
10
17
|
const pageRows = rows(response);
|
|
@@ -22,7 +29,9 @@ async function readParts(args, ctx) {
|
|
|
22
29
|
for (const part of all) {
|
|
23
30
|
const a = attrs(part);
|
|
24
31
|
const type = String(a.type ?? '');
|
|
25
|
-
let markdown =
|
|
32
|
+
let markdown = typeof a.content === 'string'
|
|
33
|
+
? richMarkdown({ type: 'text/html', value: a.content })
|
|
34
|
+
: richMarkdown(a.content);
|
|
26
35
|
if (type === 'heading')
|
|
27
36
|
markdown = `${'#'.repeat(Math.max(1, Math.min(6, Number(a.level ?? 0) + 1)))} ${String(a.headingText ?? '')}`;
|
|
28
37
|
if (type === 'workitem') {
|
|
@@ -31,7 +40,13 @@ async function readParts(args, ctx) {
|
|
|
31
40
|
if (!Object.keys(workItem).length && typeof workItemId === 'string') {
|
|
32
41
|
const parsed = parseWorkItemId(workItemId);
|
|
33
42
|
if (parsed) {
|
|
34
|
-
const
|
|
43
|
+
const relationshipRevision = relData(part, 'workItem').revision;
|
|
44
|
+
const revision = typeof relationshipRevision === 'string' ? relationshipRevision : args.revision;
|
|
45
|
+
const response = await ctx.callPolarionTool('getWorkItem', {
|
|
46
|
+
...parsed,
|
|
47
|
+
fields: { workitems: 'title,type,description' },
|
|
48
|
+
...(typeof revision === 'string' ? { revision } : {}),
|
|
49
|
+
});
|
|
35
50
|
if (resultFailed(response))
|
|
36
51
|
return response;
|
|
37
52
|
workItem = first(response);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-documents.js","sourceRoot":"","sources":["../src/composite-documents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAGjL,KAAK,UAAU,SAAS,CAAC,IAA6B,EAAE,GAAuB;IAC7E,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvH,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"composite-documents.js","sourceRoot":"","sources":["../src/composite-documents.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,7 @@ export declare function parsePolarionUrl(input: string, apiBaseUrl: string): Ent
|
|
|
13
13
|
export declare function decodePolarionIdentifier(value: string, allowProjectWorkItemId?: boolean): string;
|
|
14
14
|
export declare function registerCompositeTools(): void;
|
|
15
15
|
export declare function clearCompositeToolsForTests(): void;
|
|
16
|
+
/** Isolated clock seam for cache expiry tests. */
|
|
17
|
+
export declare function setCompositeSearchClockForTests(clock: () => number): void;
|
|
16
18
|
export declare const compositeTools: readonly [VirtualTool, VirtualTool, VirtualTool];
|
|
17
19
|
export {};
|
|
@@ -6,6 +6,8 @@ const staticFields = new Set([
|
|
|
6
6
|
]);
|
|
7
7
|
const fieldCache = new Map();
|
|
8
8
|
const CACHE_TTL_MS = 5 * 60_000;
|
|
9
|
+
const CACHE_MAX_ENTRIES = 500;
|
|
10
|
+
let cacheClock = Date.now;
|
|
9
11
|
const luceneSpecial = new Set('+-!(){}[]^"~*?:\\/|&');
|
|
10
12
|
export function escapeLuceneValue(value) {
|
|
11
13
|
return [...value].map(char => luceneSpecial.has(char) ? `\\${char}` : char).join('');
|
|
@@ -33,18 +35,30 @@ function fieldNames(value) {
|
|
|
33
35
|
visit(value);
|
|
34
36
|
return output;
|
|
35
37
|
}
|
|
38
|
+
function cacheKey(projectId, ctx) {
|
|
39
|
+
return JSON.stringify([ctx.apiBaseUrl, ctx.userScope ?? 'anonymous', projectId]);
|
|
40
|
+
}
|
|
36
41
|
async function workItemFields(projectId, ctx) {
|
|
37
42
|
if (!projectId)
|
|
38
43
|
return new Set(staticFields);
|
|
39
|
-
const
|
|
40
|
-
|
|
44
|
+
const key = cacheKey(projectId, ctx);
|
|
45
|
+
const cached = fieldCache.get(key);
|
|
46
|
+
if (cached && cached.expires > cacheClock()) {
|
|
47
|
+
fieldCache.delete(key);
|
|
48
|
+
fieldCache.set(key, cached);
|
|
41
49
|
return cached.fields;
|
|
50
|
+
}
|
|
51
|
+
if (cached)
|
|
52
|
+
fieldCache.delete(key);
|
|
42
53
|
// The project-level metadata operation is the REST equivalent of the
|
|
43
54
|
// work-item-specific metadata operation (which requires an item ID).
|
|
44
55
|
const result = await ctx.callPolarionTool('getProjectFieldsMetadata', { projectId, resourceType: 'workitems' });
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
const metadata = result.structuredContent?.data;
|
|
57
|
+
if (!result.isError && metadata !== null && typeof metadata === 'object') {
|
|
58
|
+
const fields = fieldNames(metadata);
|
|
59
|
+
fieldCache.set(key, { fields, expires: cacheClock() + CACHE_TTL_MS });
|
|
60
|
+
while (fieldCache.size > CACHE_MAX_ENTRIES)
|
|
61
|
+
fieldCache.delete(fieldCache.keys().next().value);
|
|
48
62
|
return fields;
|
|
49
63
|
}
|
|
50
64
|
return new Set(staticFields);
|
|
@@ -102,10 +116,17 @@ export function buildWorkItemQuery(args, knownFields) {
|
|
|
102
116
|
throw new Error(`Unknown work item field: ${field}`);
|
|
103
117
|
clauses.push(`${field}:"${escapeLuceneValue(value)}"`);
|
|
104
118
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
119
|
+
const addAlternatives = (field, values) => {
|
|
120
|
+
if (values.length === 1)
|
|
121
|
+
add(field, values[0]);
|
|
122
|
+
else if (values.length > 1) {
|
|
123
|
+
if (!knownFields.has(field))
|
|
124
|
+
throw new Error(`Unknown work item field: ${field}`);
|
|
125
|
+
clauses.push(`(${values.map(value => `${field}:"${escapeLuceneValue(value)}"`).join(' OR ')})`);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
addAlternatives('type', stringArray(args.types, 'types'));
|
|
129
|
+
addAlternatives('status', stringArray(args.statuses, 'statuses'));
|
|
109
130
|
if (typeof args.assignee === 'string' && args.assignee)
|
|
110
131
|
add('assignee.id', args.assignee);
|
|
111
132
|
if (typeof args.text === 'string' && args.text) {
|
|
@@ -129,7 +150,7 @@ export function buildWorkItemQuery(args, knownFields) {
|
|
|
129
150
|
clauses.push(`${field}:["${escapeLuceneValue(args[arg])}" TO *]`);
|
|
130
151
|
}
|
|
131
152
|
}
|
|
132
|
-
return clauses.
|
|
153
|
+
return clauses.join(' AND ');
|
|
133
154
|
}
|
|
134
155
|
function pageSize(args) {
|
|
135
156
|
const value = args.page_size ?? args.max_items;
|
|
@@ -161,13 +182,18 @@ const searchTool = {
|
|
|
161
182
|
}
|
|
162
183
|
const limit = pageSize(args);
|
|
163
184
|
const toolName = typeof args.projectId === 'string' ? 'getWorkItems' : 'getAllWorkItems';
|
|
164
|
-
const callArgs = {
|
|
185
|
+
const callArgs = {
|
|
186
|
+
...(query ? { query } : {}),
|
|
187
|
+
...(args.fields && typeof args.fields === 'object' ? { fields: args.fields } : { fields: { workitems: 'type,title,status,created,updated' } }),
|
|
188
|
+
...(sort ? { sort } : {}), ...(limit ? { page_size_: limit } : {}), ...(args.max_items ? { max_items: args.max_items } : {}),
|
|
189
|
+
};
|
|
165
190
|
if (typeof args.projectId === 'string')
|
|
166
191
|
callArgs.projectId = args.projectId;
|
|
167
192
|
const result = await ctx.callPolarionTool(toolName, callArgs);
|
|
168
193
|
if (result.isError)
|
|
169
194
|
return result;
|
|
170
|
-
const
|
|
195
|
+
const source = result.structuredContent;
|
|
196
|
+
const data = source?.data;
|
|
171
197
|
const items = Array.isArray(data) ? data.map(item => {
|
|
172
198
|
if (!item || typeof item !== 'object')
|
|
173
199
|
return item;
|
|
@@ -181,7 +207,11 @@ const searchTool = {
|
|
|
181
207
|
concise.resourceType = resource.type;
|
|
182
208
|
return concise;
|
|
183
209
|
}) : result.content;
|
|
184
|
-
return textResult({ query, results: items
|
|
210
|
+
return textResult({ query, results: items,
|
|
211
|
+
...(source?.links !== undefined ? { links: source.links } : {}),
|
|
212
|
+
...(source?.meta && typeof source.meta === 'object' && source.meta.totalCount !== undefined
|
|
213
|
+
? { totalCount: source.meta.totalCount } : {}),
|
|
214
|
+
...(source?.truncated === true ? { truncated: true } : {}), });
|
|
185
215
|
},
|
|
186
216
|
};
|
|
187
217
|
const lintTool = {
|
|
@@ -318,6 +348,8 @@ export function registerCompositeTools() {
|
|
|
318
348
|
return;
|
|
319
349
|
unregister = [searchTool, lintTool, resolveTool].map(tool => registerVirtualTool(tool));
|
|
320
350
|
}
|
|
321
|
-
export function clearCompositeToolsForTests() { unregister.splice(0).forEach(remove => remove()); fieldCache.clear(); }
|
|
351
|
+
export function clearCompositeToolsForTests() { unregister.splice(0).forEach(remove => remove()); fieldCache.clear(); cacheClock = Date.now; }
|
|
352
|
+
/** Isolated clock seam for cache expiry tests. */
|
|
353
|
+
export function setCompositeSearchClockForTests(clock) { cacheClock = clock; }
|
|
322
354
|
export const compositeTools = [searchTool, lintTool, resolveTool];
|
|
323
355
|
//# sourceMappingURL=composite-search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-search.js","sourceRoot":"","sources":["../src/composite-search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composite-search.js","sourceRoot":"","sources":["../src/composite-search.ts"],"names":[],"mappings":"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"}
|