@kietdev/taiga-mcp 0.0.0-stage → 0.4.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/LICENSE +21 -0
- package/README.md +285 -2
- package/dist/config.js +59 -0
- package/dist/config.js.map +1 -0
- package/dist/format.js +104 -0
- package/dist/format.js.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/remote/app.js +238 -0
- package/dist/remote/app.js.map +1 -0
- package/dist/remote/config.js +52 -0
- package/dist/remote/config.js.map +1 -0
- package/dist/remote/guard.js +120 -0
- package/dist/remote/guard.js.map +1 -0
- package/dist/remote/pages.js +472 -0
- package/dist/remote/pages.js.map +1 -0
- package/dist/remote/provider.js +211 -0
- package/dist/remote/provider.js.map +1 -0
- package/dist/remote/seal.js +50 -0
- package/dist/remote/seal.js.map +1 -0
- package/dist/remote/taiga-auth.js +70 -0
- package/dist/remote/taiga-auth.js.map +1 -0
- package/dist/remote.js +23 -0
- package/dist/remote.js.map +1 -0
- package/dist/server.js +64 -0
- package/dist/server.js.map +1 -0
- package/dist/taiga/client.js +1274 -0
- package/dist/taiga/client.js.map +1 -0
- package/dist/taiga/files.js +331 -0
- package/dist/taiga/files.js.map +1 -0
- package/dist/taiga/http.js +237 -0
- package/dist/taiga/http.js.map +1 -0
- package/dist/taiga/types.js +6 -0
- package/dist/taiga/types.js.map +1 -0
- package/dist/tools/add-comment.js +24 -0
- package/dist/tools/add-comment.js.map +1 -0
- package/dist/tools/create-item.js +63 -0
- package/dist/tools/create-item.js.map +1 -0
- package/dist/tools/file-view.js +300 -0
- package/dist/tools/file-view.js.map +1 -0
- package/dist/tools/get-attachment.js +76 -0
- package/dist/tools/get-attachment.js.map +1 -0
- package/dist/tools/get-item.js +120 -0
- package/dist/tools/get-item.js.map +1 -0
- package/dist/tools/get-project.js +47 -0
- package/dist/tools/get-project.js.map +1 -0
- package/dist/tools/get-sprint.js +56 -0
- package/dist/tools/get-sprint.js.map +1 -0
- package/dist/tools/list-activity.js +102 -0
- package/dist/tools/list-activity.js.map +1 -0
- package/dist/tools/list-epics.js +58 -0
- package/dist/tools/list-epics.js.map +1 -0
- package/dist/tools/list-issues.js +78 -0
- package/dist/tools/list-issues.js.map +1 -0
- package/dist/tools/list-projects.js +22 -0
- package/dist/tools/list-projects.js.map +1 -0
- package/dist/tools/list-sprints.js +46 -0
- package/dist/tools/list-sprints.js.map +1 -0
- package/dist/tools/list-tasks.js +84 -0
- package/dist/tools/list-tasks.js.map +1 -0
- package/dist/tools/list-user-stories.js +85 -0
- package/dist/tools/list-user-stories.js.map +1 -0
- package/dist/tools/search.js +83 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/shared.js +90 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/update-item.js +74 -0
- package/dist/tools/update-item.js.map +1 -0
- package/dist/tools/wiki.js +62 -0
- package/dist/tools/wiki.js.map +1 -0
- package/dist/tools/written.js +18 -0
- package/dist/tools/written.js.map +1 -0
- package/package.json +78 -4
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const KIND = { story: 'user story', issue: 'issue', epic: 'epic', task: 'task' };
|
|
2
|
+
/** The answer to a create, a change or a comment: what was done, to which item, and where to see it. */
|
|
3
|
+
export function written(done, result) {
|
|
4
|
+
const item = `${KIND[result.kind]} #${result.ref} "${result.subject}" in ${result.project}`;
|
|
5
|
+
const version = result.version === undefined ? '' : ` It is now at version ${result.version}.`;
|
|
6
|
+
if (done === 'Changed' && result.changed.length === 0) {
|
|
7
|
+
return `Nothing to change: ${item} already has those values.`;
|
|
8
|
+
}
|
|
9
|
+
const lines = [
|
|
10
|
+
`${done} ${item}.${done === 'Commented on' ? '' : version}`,
|
|
11
|
+
...result.changed.map(([label, before, after]) => `- ${label}: ${before} → ${after}`),
|
|
12
|
+
...result.facts.map(([label, value]) => `${label}: ${value}`),
|
|
13
|
+
];
|
|
14
|
+
if (result.url !== undefined)
|
|
15
|
+
lines.push(`Open in Taiga: ${result.url}`);
|
|
16
|
+
return lines.join('\n');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=written.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"written.js","sourceRoot":"","sources":["../../src/tools/written.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAW,CAAC;AAE1F,wGAAwG;AACxG,MAAM,UAAU,OAAO,CAAC,IAA4C,EAAE,MAAmB;IACvF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;IAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,MAAM,CAAC,OAAO,GAAG,CAAC;IAC/F,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,sBAAsB,IAAI,4BAA4B,CAAC;IAChE,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;QAC3D,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,EAAE,CAAC;QACrF,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC;KAC9D,CAAC;IACF,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,80 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kietdev/taiga-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "A Model Context Protocol server for Taiga: ask an AI assistant about your projects, sprints, user stories, issues and epics, and, if you allow it, have it create and update them.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"mcp",
|
|
7
|
+
"mcp-server",
|
|
8
|
+
"model-context-protocol",
|
|
9
|
+
"taiga",
|
|
10
|
+
"taiga-io",
|
|
11
|
+
"project-management",
|
|
12
|
+
"agile",
|
|
13
|
+
"scrum",
|
|
14
|
+
"claude",
|
|
15
|
+
"cursor",
|
|
16
|
+
"copilot",
|
|
17
|
+
"ai"
|
|
18
|
+
],
|
|
19
|
+
"author": {
|
|
20
|
+
"name": "Kiet Nguyen",
|
|
21
|
+
"url": "https://kietnguyen.io.vn"
|
|
22
|
+
},
|
|
23
|
+
"homepage": "https://github.com/kiet0807/taiga-mcp#readme",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+https://github.com/kiet0807/taiga-mcp.git"
|
|
27
|
+
},
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/kiet0807/taiga-mcp/issues"
|
|
30
|
+
},
|
|
31
|
+
"type": "module",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"mcpName": "io.github.kiet0807/taiga-mcp",
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20.6.0"
|
|
36
|
+
},
|
|
37
|
+
"bin": {
|
|
38
|
+
"taiga-mcp": "dist/index.js",
|
|
39
|
+
"taiga-mcp-http": "dist/remote.js"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc -p tsconfig.build.json",
|
|
46
|
+
"start": "node --env-file=.env dist/index.js",
|
|
47
|
+
"start:http": "node dist/remote.js",
|
|
48
|
+
"dev:http": "pnpm build && node --env-file=.env dist/remote.js",
|
|
49
|
+
"inspect": "pnpm build && npx @modelcontextprotocol/inspector node --env-file=.env dist/index.js",
|
|
50
|
+
"typecheck": "tsc --noEmit",
|
|
51
|
+
"lint": "eslint . --max-warnings 0",
|
|
52
|
+
"format": "prettier --write .",
|
|
53
|
+
"format:check": "prettier --check .",
|
|
54
|
+
"test": "vitest run",
|
|
55
|
+
"check": "pnpm typecheck && pnpm lint && pnpm format:check && pnpm test && pnpm build",
|
|
56
|
+
"prepublishOnly": "pnpm check"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
60
|
+
"express": "^5.3.0",
|
|
61
|
+
"express-rate-limit": "^8.7.4",
|
|
62
|
+
"fflate": "^0.8.3",
|
|
63
|
+
"undici": "^6.29.1",
|
|
64
|
+
"unpdf": "~1.9.1",
|
|
65
|
+
"zod": "^4.6.7"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@eslint/js": "^10.0.1",
|
|
69
|
+
"@types/express": "^5.0.6",
|
|
70
|
+
"@types/node": "^26.6.6",
|
|
71
|
+
"eslint": "^10.14.0",
|
|
72
|
+
"prettier": "^3.10.1",
|
|
73
|
+
"typescript": "^6.0.3",
|
|
74
|
+
"typescript-eslint": "^8.72.2",
|
|
75
|
+
"vitest": "^5.1.0"
|
|
76
|
+
},
|
|
77
|
+
"publishConfig": {
|
|
78
|
+
"access": "public"
|
|
79
|
+
}
|
|
80
|
+
}
|