@dpesch/mantisbt-mcp-server 1.13.0 → 1.14.0
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/CHANGELOG.md +17 -0
- package/README.de.md +1 -1
- package/README.md +1 -1
- package/dist/search/tools.js +1 -2
- package/dist/tools/projects.js +2 -2
- package/dist/tools/version.js +1 -1
- package/package.json +10 -10
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,23 @@ This project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [1.14.0] – 2026-09-27
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- `create_issue` / `update_issue`: a `custom_fields` entry without `value` is now rejected with a validation error. Previously it was accepted and the literal string `"undefined"` was written to the custom field.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **Minimum Node.js version is now 22** (`engines: >=22`). Node.js 18 and 20 are end-of-life and no longer receive security updates; the test toolchain (vitest 5) no longer runs on them, so they could not be tested anymore. CI now runs on Node.js 22. Users on Node.js 20 or older should upgrade — npm only warns about the `engines` mismatch, but these versions are no longer tested.
|
|
23
|
+
- Dependencies: `zod` 4 (the MCP SDK supports `^3.25 || ^4`). Tool parameters, types and defaults are unchanged. The published JSON schemas differ slightly: nested `$ref`s are inlined, integer IDs carry an explicit `maximum`, and objects no longer declare `additionalProperties: false` (unknown keys were and still are ignored).
|
|
24
|
+
- Dependencies: `@huggingface/transformers` 4 for the optional semantic search. Embeddings are numerically identical to version 3 (verified with the default model), so existing search indexes stay valid — no rebuild needed. This also resolves the `sharp` security advisories reported by `npm audit`.
|
|
25
|
+
- Dependencies: `@modelcontextprotocol/sdk` minimum raised to ^1.30.1; transitive dependencies updated to resolve all `npm audit` advisories (including a critical one in `tar`).
|
|
26
|
+
- Dev dependencies: vitest and `@vitest/coverage-v8` 5, `@types/node` 22 (matching the minimum Node.js version).
|
|
27
|
+
- CI: the publish job now checks `NPM_TOKEN` and `GH_RELEASE_TOKEN` before `npm publish`, so an empty or invalid token stops the release before anything is published. Each publish step (npm, Codeberg release, GitHub release) is skipped when its target already exists, so re-running a failed job only catches up on what is missing.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
14
31
|
## [1.13.0] – 2026-09-27
|
|
15
32
|
|
|
16
33
|
### Added
|
package/README.de.md
CHANGED
|
@@ -12,7 +12,7 @@ Ein [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) Server, der
|
|
|
12
12
|
|
|
13
13
|
## Voraussetzungen
|
|
14
14
|
|
|
15
|
-
- Node.js ≥
|
|
15
|
+
- Node.js ≥ 22
|
|
16
16
|
- MantisBT-Installation mit aktivierter REST-API (ab Version 2.23)
|
|
17
17
|
- MantisBT API-Token (unter *Mein Konto → API-Token* erstellen)
|
|
18
18
|
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that i
|
|
|
12
12
|
|
|
13
13
|
## Requirements
|
|
14
14
|
|
|
15
|
-
- Node.js ≥
|
|
15
|
+
- Node.js ≥ 22
|
|
16
16
|
- MantisBT installation with REST API enabled (version 2.23+)
|
|
17
17
|
- MantisBT API token (create under *My Account → API Tokens*)
|
|
18
18
|
|
package/dist/search/tools.js
CHANGED
|
@@ -47,8 +47,7 @@ export function registerSearchTools(server, client, store, embedder) {
|
|
|
47
47
|
'When provided, each matching issue is fetched from MantisBT and enriched with the requested fields. ' +
|
|
48
48
|
'The relevance score is always included. Without this parameter only id and score are returned.'),
|
|
49
49
|
highlight: z
|
|
50
|
-
.preprocess(coerceBool, z.boolean())
|
|
51
|
-
.default(false)
|
|
50
|
+
.preprocess(coerceBool, z.boolean().default(false))
|
|
52
51
|
.describe('If true, adds a "highlights" field per result with query terms bolded (**term**) ' +
|
|
53
52
|
'in the issue summary and a short description snippet. ' +
|
|
54
53
|
'Note: highlights are keyword-based, not semantic — some results may have no highlighted terms.'),
|
package/dist/tools/projects.js
CHANGED
|
@@ -85,8 +85,8 @@ By default, obsolete and inherited parent-project versions are excluded. Set obs
|
|
|
85
85
|
Prerequisites: obtain project_id from list_projects.`,
|
|
86
86
|
inputSchema: z.object({
|
|
87
87
|
project_id: z.coerce.number().int().positive().describe('Numeric project ID — use list_projects to discover project IDs'),
|
|
88
|
-
obsolete: z.preprocess(coerceBool, z.boolean()
|
|
89
|
-
inherit: z.preprocess(coerceBool, z.boolean()
|
|
88
|
+
obsolete: z.preprocess(coerceBool, z.boolean().default(false)).describe('Include obsolete (deprecated) versions in the response. Default: false. Set to true to see all versions including those no longer actively used.'),
|
|
89
|
+
inherit: z.preprocess(coerceBool, z.boolean().default(false)).describe('Include versions inherited from parent projects. Default: false. Set to true for sub-projects that share versions with a parent project.'),
|
|
90
90
|
}),
|
|
91
91
|
annotations: {
|
|
92
92
|
readOnlyHint: true,
|
package/dist/tools/version.js
CHANGED
|
@@ -27,7 +27,7 @@ export function registerVersionTools(server, client, versionHint, mcpVersion) {
|
|
|
27
27
|
The version is read from the X-Mantis-Version response header sent by every API call.
|
|
28
28
|
The GitHub comparison requires an outbound HTTPS request to the GitHub API.`,
|
|
29
29
|
inputSchema: z.object({
|
|
30
|
-
check_latest: z.preprocess(coerceBool, z.boolean()
|
|
30
|
+
check_latest: z.preprocess(coerceBool, z.boolean().default(true)).describe('Whether to fetch the latest release from GitHub and compare (default: true)'),
|
|
31
31
|
}),
|
|
32
32
|
annotations: {
|
|
33
33
|
readOnlyHint: true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dpesch/mantisbt-mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"mcpName": "io.github.dpesch/mantisbt-mcp-server",
|
|
5
5
|
"description": "MCP server for MantisBT REST API – read and manage bug tracker issues",
|
|
6
6
|
"author": "Dominik Pesch",
|
|
@@ -44,18 +44,18 @@
|
|
|
44
44
|
"init": "node scripts/init.mjs"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@huggingface/transformers": "^3.0
|
|
48
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
49
|
-
"zod": "^
|
|
47
|
+
"@huggingface/transformers": "^4.3.0",
|
|
48
|
+
"@modelcontextprotocol/sdk": "^1.30.1",
|
|
49
|
+
"zod": "^4.6.5"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/node": "^20.
|
|
53
|
-
"@vitest/coverage-v8": "^
|
|
54
|
-
"tsx": "^4.
|
|
55
|
-
"typescript": "^5.3
|
|
56
|
-
"vitest": "^
|
|
52
|
+
"@types/node": "^22.20.4",
|
|
53
|
+
"@vitest/coverage-v8": "^5.0.2",
|
|
54
|
+
"tsx": "^4.23.15",
|
|
55
|
+
"typescript": "^5.9.3",
|
|
56
|
+
"vitest": "^5.0.2"
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
59
|
-
"node": ">=
|
|
59
|
+
"node": ">=22"
|
|
60
60
|
}
|
|
61
61
|
}
|
package/server.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"name": "io.github.dpesch/mantisbt-mcp-server",
|
|
4
4
|
"title": "MantisBT MCP Server",
|
|
5
5
|
"description": "MantisBT MCP server – manage issues, notes, files, tags, and relationships. With semantic search.",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.14.0",
|
|
7
7
|
"packages": [
|
|
8
8
|
{
|
|
9
9
|
"registryType": "npm",
|
|
10
10
|
"identifier": "@dpesch/mantisbt-mcp-server",
|
|
11
|
-
"version": "1.
|
|
11
|
+
"version": "1.14.0",
|
|
12
12
|
"runtimeHint": "npx",
|
|
13
13
|
"transport": {
|
|
14
14
|
"type": "stdio"
|