@ferrtrack/mcp 9.5.0 → 10.0.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/dist/index.js +2 -20
- package/dist/prompts/triage.js +1 -1
- package/dist/register.d.ts +3 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +20 -0
- package/dist/resources/issues.js +1 -1
- package/dist/tools/issues.js +1 -1
- package/dist/tools/projects.js +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { runMcp, readPackageVersion } from '@ferrlabs/mcp-core';
|
|
3
|
-
import {
|
|
4
|
-
import { registerIssueTools } from './tools/issues.js';
|
|
5
|
-
import { registerCommentTools } from './tools/comments.js';
|
|
6
|
-
import { registerProjectTools } from './tools/projects.js';
|
|
7
|
-
import { registerCycleTools } from './tools/cycles.js';
|
|
8
|
-
import { registerMilestoneTools } from './tools/milestones.js';
|
|
9
|
-
import { registerSearchTools } from './tools/search.js';
|
|
10
|
-
import { registerIssueResources } from './resources/issues.js';
|
|
11
|
-
import { registerTriagePrompt } from './prompts/triage.js';
|
|
3
|
+
import { register } from './register.js';
|
|
12
4
|
runMcp({
|
|
13
5
|
name: 'ferrtrack',
|
|
14
6
|
version: readPackageVersion(import.meta.url),
|
|
15
|
-
register
|
|
16
|
-
registerProjectTools(server);
|
|
17
|
-
registerIssueDetailsTool(server);
|
|
18
|
-
registerIssueTools(server);
|
|
19
|
-
registerCommentTools(server);
|
|
20
|
-
registerCycleTools(server);
|
|
21
|
-
registerMilestoneTools(server);
|
|
22
|
-
registerSearchTools(server);
|
|
23
|
-
registerIssueResources(server);
|
|
24
|
-
registerTriagePrompt(server);
|
|
25
|
-
},
|
|
7
|
+
register,
|
|
26
8
|
}).catch((err) => {
|
|
27
9
|
console.error('ferrtrack-mcp fatal:', err instanceof Error ? err.message : err);
|
|
28
10
|
process.exit(1);
|
package/dist/prompts/triage.js
CHANGED
|
@@ -12,7 +12,7 @@ export function registerTriagePrompt(server) {
|
|
|
12
12
|
text: [
|
|
13
13
|
`Triage the open backlog of the FerrTrack project \`${project_slug}\`.`,
|
|
14
14
|
'',
|
|
15
|
-
`Start by reading \`ferrtrack://project/${project_slug}/issues\`, or call \`
|
|
15
|
+
`Start by reading \`ferrtrack://project/${project_slug}/issues\`, or call \`list_track_issues\` with status=open${limit ? ` and limit=${limit}` : ''} if the resource is not attached.`,
|
|
16
16
|
'',
|
|
17
17
|
'For each issue, propose one of: keep as is, change kind, change status, assign, or close as stale. Give the reason in one sentence, and say which field you would set.',
|
|
18
18
|
'',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAWpD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAUhD"}
|
package/dist/register.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { registerIssueDetailsTool } from './tools/issue-details.js';
|
|
2
|
+
import { registerIssueTools } from './tools/issues.js';
|
|
3
|
+
import { registerCommentTools } from './tools/comments.js';
|
|
4
|
+
import { registerProjectTools } from './tools/projects.js';
|
|
5
|
+
import { registerCycleTools } from './tools/cycles.js';
|
|
6
|
+
import { registerMilestoneTools } from './tools/milestones.js';
|
|
7
|
+
import { registerSearchTools } from './tools/search.js';
|
|
8
|
+
import { registerIssueResources } from './resources/issues.js';
|
|
9
|
+
import { registerTriagePrompt } from './prompts/triage.js';
|
|
10
|
+
export function register(server) {
|
|
11
|
+
registerProjectTools(server);
|
|
12
|
+
registerIssueDetailsTool(server);
|
|
13
|
+
registerIssueTools(server);
|
|
14
|
+
registerCommentTools(server);
|
|
15
|
+
registerCycleTools(server);
|
|
16
|
+
registerMilestoneTools(server);
|
|
17
|
+
registerSearchTools(server);
|
|
18
|
+
registerIssueResources(server);
|
|
19
|
+
registerTriagePrompt(server);
|
|
20
|
+
}
|
package/dist/resources/issues.js
CHANGED
|
@@ -15,7 +15,7 @@ export function registerIssueResources(server) {
|
|
|
15
15
|
},
|
|
16
16
|
}), {
|
|
17
17
|
title: 'Project issues',
|
|
18
|
-
description: 'Open issues in one FerrTrack project, newest first. Use the
|
|
18
|
+
description: 'Open issues in one FerrTrack project, newest first. Use the list_track_issues tool to filter by kind, assignee or a different status.',
|
|
19
19
|
mimeType: 'application/json',
|
|
20
20
|
}, async (uri, { slug }) => {
|
|
21
21
|
const issues = await fetchProjectIssues(String(slug));
|
package/dist/tools/issues.js
CHANGED
|
@@ -18,7 +18,7 @@ export async function fetchProjectIssues(projectSlug, filters = {}) {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
export function registerIssueTools(server) {
|
|
21
|
-
server.tool('
|
|
21
|
+
server.tool('list_track_issues', 'List FerrTrack issues in a project. Filter by status (open|in_progress|review|closed|all), kind (bug|feat|chore|docs), assignee, limit.', {
|
|
22
22
|
project_slug: z.string().min(1).describe('Project slug'),
|
|
23
23
|
status: z
|
|
24
24
|
.enum(['open', 'in_progress', 'review', 'closed', 'all'])
|
package/dist/tools/projects.js
CHANGED
|
@@ -6,7 +6,7 @@ export async function fetchProjects() {
|
|
|
6
6
|
return trackRequest('/projects', { token });
|
|
7
7
|
}
|
|
8
8
|
export function registerProjectTools(server) {
|
|
9
|
-
server.tool('
|
|
9
|
+
server.tool('list_track_projects', "List FerrTrack projects in the caller's active organization.", {}, async () => {
|
|
10
10
|
const projects = await fetchProjects();
|
|
11
11
|
return {
|
|
12
12
|
content: [{ type: 'text', text: toToolText(projects) }],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ferrtrack/mcp",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Model Context Protocol server for FerrTrack
|
|
3
|
+
"version": "10.0.0",
|
|
4
|
+
"description": "Model Context Protocol server for FerrTrack: issues, labels, comments",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"engines": {
|
|
15
|
-
"node": ">=
|
|
15
|
+
"node": ">=24.0.0"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|
|
18
18
|
"mcp",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"model-context-protocol"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@ferrlabs/mcp-core": "^
|
|
25
|
+
"@ferrlabs/mcp-core": "^10.0.0",
|
|
26
26
|
"zod": "^4.3.6"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|