@taiga-ai/mcp-server 0.2.3-rc.265 → 0.3.0-dev.295
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/dist/index.js +419 -62
- package/package.json +13 -11
- package/scripts/build.mjs +37 -0
- package/scripts/prepare-publish.cjs +15 -7
- package/src/client.test.ts +12 -27
- package/src/client.ts +19 -43
- package/src/index.ts +5 -8
- package/src/server.integration.test.ts +13 -50
- package/src/tools/backlogs.ts +1 -1
- package/src/tools/documents.ts +1 -1
- package/src/tools/index.ts +1 -3
- package/src/tools/projects.ts +7 -3
- package/src/version.test.ts +10 -0
- package/src/version.ts +14 -0
- package/taiga-ai-mcp-server-0.3.0-dev.295.tgz +0 -0
- package/tsconfig.json +2 -1
- package/dist/client.d.ts +0 -109
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -228
- package/dist/client.test.d.ts +0 -2
- package/dist/client.test.d.ts.map +0 -1
- package/dist/client.test.js +0 -203
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/server.integration.test.d.ts +0 -2
- package/dist/server.integration.test.d.ts.map +0 -1
- package/dist/server.integration.test.js +0 -358
- package/dist/tools/backlogs.d.ts +0 -4
- package/dist/tools/backlogs.d.ts.map +0 -1
- package/dist/tools/backlogs.js +0 -6
- package/dist/tools/documents.d.ts +0 -4
- package/dist/tools/documents.d.ts.map +0 -1
- package/dist/tools/documents.js +0 -97
- package/dist/tools/index.d.ts +0 -12
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -18
- package/dist/tools/projects.d.ts +0 -4
- package/dist/tools/projects.d.ts.map +0 -1
- package/dist/tools/projects.js +0 -64
- package/dist/tools/skills.d.ts +0 -4
- package/dist/tools/skills.d.ts.map +0 -1
- package/dist/tools/skills.js +0 -45
- package/dist/tools/summarize.d.ts +0 -15
- package/dist/tools/summarize.d.ts.map +0 -1
- package/dist/tools/summarize.js +0 -26
- package/src/tools/skills.ts +0 -68
- package/taiga-ai-mcp-server-0.2.3-rc.265.tgz +0 -0
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Strip heavy content from list responses to avoid context window bloat.
|
|
3
|
-
*
|
|
4
|
-
* List endpoints return summaries (id, name, description, metadata).
|
|
5
|
-
* Get endpoints return the full content.
|
|
6
|
-
*
|
|
7
|
-
* This keeps list calls cheap (~100 tokens per item) and lets the AI
|
|
8
|
-
* selectively load full content only for the items it needs.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Remove heavy content fields from each item in an array.
|
|
12
|
-
* Preserves all metadata (id, name, description, type, dates, etc).
|
|
13
|
-
*/
|
|
14
|
-
export declare function summarizeList<T extends Record<string, unknown>>(items: T[]): Omit<T, 'content' | 'data' | 'sections'>[];
|
|
15
|
-
//# sourceMappingURL=summarize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/tools/summarize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EAAE,CAAC,EAAE,GACT,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,EAAE,CAU5C"}
|
package/dist/tools/summarize.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Strip heavy content from list responses to avoid context window bloat.
|
|
3
|
-
*
|
|
4
|
-
* List endpoints return summaries (id, name, description, metadata).
|
|
5
|
-
* Get endpoints return the full content.
|
|
6
|
-
*
|
|
7
|
-
* This keeps list calls cheap (~100 tokens per item) and lets the AI
|
|
8
|
-
* selectively load full content only for the items it needs.
|
|
9
|
-
*/
|
|
10
|
-
/** Fields to strip from list responses -- these contain the bulk content. */
|
|
11
|
-
const HEAVY_FIELDS = ['content', 'data', 'sections'];
|
|
12
|
-
/**
|
|
13
|
-
* Remove heavy content fields from each item in an array.
|
|
14
|
-
* Preserves all metadata (id, name, description, type, dates, etc).
|
|
15
|
-
*/
|
|
16
|
-
export function summarizeList(items) {
|
|
17
|
-
return items.map((item) => {
|
|
18
|
-
const summary = { ...item };
|
|
19
|
-
for (const field of HEAVY_FIELDS) {
|
|
20
|
-
if (field in summary) {
|
|
21
|
-
delete summary[field];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return summary;
|
|
25
|
-
});
|
|
26
|
-
}
|
package/src/tools/skills.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import type { TaigaClient } from '../client.js';
|
|
4
|
-
import { summarizeList } from './summarize.js';
|
|
5
|
-
|
|
6
|
-
export function registerSkillTools(server: McpServer, client: TaigaClient) {
|
|
7
|
-
if (client.hasCapability('tenant:documents:read')) {
|
|
8
|
-
server.tool(
|
|
9
|
-
'taiga_list_skills',
|
|
10
|
-
'List agent skills available in the organization (names and descriptions only). ' +
|
|
11
|
-
'Skills are reusable knowledge modules that guide coding: coding standards, ' +
|
|
12
|
-
'security requirements, architecture patterns, database conventions, etc. ' +
|
|
13
|
-
'Use taiga_get_skill with the skill ID to read the full content.',
|
|
14
|
-
{
|
|
15
|
-
limit: z.number().min(1).max(100).optional().describe('Max results (default 25)'),
|
|
16
|
-
},
|
|
17
|
-
{ readOnlyHint: true, openWorldHint: false },
|
|
18
|
-
async (params) => {
|
|
19
|
-
const result = await client.listSkills(params);
|
|
20
|
-
const summaries = summarizeList(result.data as Record<string, unknown>[]);
|
|
21
|
-
return {
|
|
22
|
-
content: [{ type: 'text' as const, text: JSON.stringify(summaries, null, 2) }],
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
server.tool(
|
|
28
|
-
'taiga_get_skill',
|
|
29
|
-
'Get the full content of a specific agent skill. ' +
|
|
30
|
-
'Use this when you need detailed coding guidelines, patterns, or conventions ' +
|
|
31
|
-
'for a specific topic (e.g., security requirements, API design, testing strategy). ' +
|
|
32
|
-
'Returns the complete markdown content with code examples and best practices.',
|
|
33
|
-
{
|
|
34
|
-
id: z.string().uuid().describe('Skill ID -- get from taiga_list_skills'),
|
|
35
|
-
},
|
|
36
|
-
{ readOnlyHint: true, openWorldHint: false },
|
|
37
|
-
async (params) => {
|
|
38
|
-
const result = await client.getSkill(params.id);
|
|
39
|
-
return {
|
|
40
|
-
content: [{ type: 'text' as const, text: JSON.stringify(result.data, null, 2) }],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (client.hasCapability('tenant:documents:write')) {
|
|
47
|
-
server.tool(
|
|
48
|
-
'taiga_update_skill',
|
|
49
|
-
'Update an agent skill (coding standards, patterns, conventions). ' +
|
|
50
|
-
'Use this when you notice a skill is outdated, incomplete, or needs corrections ' +
|
|
51
|
-
'while working on the codebase. Changes are saved immediately.',
|
|
52
|
-
{
|
|
53
|
-
id: z.string().uuid().describe('Skill ID -- get from taiga_list_skills'),
|
|
54
|
-
name: z.string().optional().describe('Updated skill name'),
|
|
55
|
-
description: z.string().optional().describe('Updated skill description'),
|
|
56
|
-
content: z.string().optional().describe('Updated skill content (markdown)'),
|
|
57
|
-
},
|
|
58
|
-
{ readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
59
|
-
async (params) => {
|
|
60
|
-
const { id, ...body } = params;
|
|
61
|
-
const result = await client.updateSkill(id, body);
|
|
62
|
-
return {
|
|
63
|
-
content: [{ type: 'text' as const, text: JSON.stringify(result.data, null, 2) }],
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
Binary file
|