efficient-gitlab-mcp-server 2.5.0 → 2.6.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/dist/index.js +58 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -53878,7 +53878,9 @@ var ListIssueDiscussionsSchema = exports_external.object({
|
|
|
53878
53878
|
var CreateIssueNoteSchema = exports_external.object({
|
|
53879
53879
|
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
53880
53880
|
issue_iid: exports_external.number().describe("Issue IID"),
|
|
53881
|
-
body: exports_external.string().describe("Note body")
|
|
53881
|
+
body: exports_external.string().describe("Note body"),
|
|
53882
|
+
discussion_id: exports_external.string().optional().describe("Discussion thread ID to reply to instead of creating a top-level note"),
|
|
53883
|
+
created_at: exports_external.string().optional().describe("ISO 8601 creation date (admin/project owner only)")
|
|
53882
53884
|
});
|
|
53883
53885
|
var UpdateIssueNoteSchema = exports_external.object({
|
|
53884
53886
|
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
@@ -53886,6 +53888,17 @@ var UpdateIssueNoteSchema = exports_external.object({
|
|
|
53886
53888
|
note_id: exports_external.number().describe("Note ID"),
|
|
53887
53889
|
body: exports_external.string().describe("New note body")
|
|
53888
53890
|
});
|
|
53891
|
+
var GetIssueLinkSchema = exports_external.object({
|
|
53892
|
+
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
53893
|
+
issue_iid: exports_external.number().describe("Issue IID"),
|
|
53894
|
+
issue_link_id: exports_external.number().describe("ID of the issue relationship")
|
|
53895
|
+
});
|
|
53896
|
+
var CreateNoteSchema = exports_external.object({
|
|
53897
|
+
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
53898
|
+
notable_type: exports_external.enum(["issue", "merge_request"]).describe("Type of notable (issue or merge_request)"),
|
|
53899
|
+
notable_iid: exports_external.string().describe("IID of the issue or merge request"),
|
|
53900
|
+
body: exports_external.string().describe("Note content")
|
|
53901
|
+
});
|
|
53889
53902
|
function registerIssueTools(server, logger2) {
|
|
53890
53903
|
logger2.debug("Registering issue tools");
|
|
53891
53904
|
const tools = new Map;
|
|
@@ -54086,17 +54099,23 @@ function registerIssueTools(server, logger2) {
|
|
|
54086
54099
|
tools.set("list_issue_discussions", toolRef10);
|
|
54087
54100
|
const toolRef11 = server.registerTool("create_issue_note", {
|
|
54088
54101
|
title: "Create Issue Note",
|
|
54089
|
-
description: "Add a
|
|
54102
|
+
description: "Add a note to an issue, or reply to a discussion thread",
|
|
54090
54103
|
inputSchema: {
|
|
54091
54104
|
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
54092
54105
|
issue_iid: exports_external.number().describe("Issue IID"),
|
|
54093
|
-
body: exports_external.string().describe("Note body")
|
|
54106
|
+
body: exports_external.string().describe("Note body"),
|
|
54107
|
+
discussion_id: exports_external.string().optional().describe("Discussion thread ID to reply to instead of creating a top-level note"),
|
|
54108
|
+
created_at: exports_external.string().optional().describe("ISO 8601 creation date (admin/project owner only)")
|
|
54094
54109
|
},
|
|
54095
54110
|
annotations: { destructiveHint: false }
|
|
54096
54111
|
}, async (params) => {
|
|
54097
54112
|
const args = CreateIssueNoteSchema.parse(params);
|
|
54098
54113
|
const projectId = encodeProjectId(args.project_id);
|
|
54099
|
-
const
|
|
54114
|
+
const endpoint = args.discussion_id ? `/projects/${projectId}/issues/${args.issue_iid}/discussions/${args.discussion_id}/notes` : `/projects/${projectId}/issues/${args.issue_iid}/notes`;
|
|
54115
|
+
const note = await defaultClient.post(endpoint, {
|
|
54116
|
+
body: args.body,
|
|
54117
|
+
...args.created_at && { created_at: args.created_at }
|
|
54118
|
+
});
|
|
54100
54119
|
return { content: [{ type: "text", text: JSON.stringify(note, null, 2) }] };
|
|
54101
54120
|
});
|
|
54102
54121
|
toolRef11.disable();
|
|
@@ -54119,6 +54138,41 @@ function registerIssueTools(server, logger2) {
|
|
|
54119
54138
|
});
|
|
54120
54139
|
toolRef12.disable();
|
|
54121
54140
|
tools.set("update_issue_note", toolRef12);
|
|
54141
|
+
const toolRef13 = server.registerTool("get_issue_link", {
|
|
54142
|
+
title: "Get Issue Link",
|
|
54143
|
+
description: "Get a single issue link/relationship by ID",
|
|
54144
|
+
inputSchema: {
|
|
54145
|
+
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
54146
|
+
issue_iid: exports_external.number().describe("Issue IID"),
|
|
54147
|
+
issue_link_id: exports_external.number().describe("ID of the issue relationship")
|
|
54148
|
+
},
|
|
54149
|
+
annotations: { readOnlyHint: true }
|
|
54150
|
+
}, async (params) => {
|
|
54151
|
+
const args = GetIssueLinkSchema.parse(params);
|
|
54152
|
+
const projectId = encodeProjectId(args.project_id);
|
|
54153
|
+
const link = await defaultClient.get(`/projects/${projectId}/issues/${args.issue_iid}/links/${args.issue_link_id}`);
|
|
54154
|
+
return { content: [{ type: "text", text: JSON.stringify(link, null, 2) }] };
|
|
54155
|
+
});
|
|
54156
|
+
toolRef13.disable();
|
|
54157
|
+
tools.set("get_issue_link", toolRef13);
|
|
54158
|
+
const toolRef14 = server.registerTool("create_note", {
|
|
54159
|
+
title: "Create Note",
|
|
54160
|
+
description: "Create a note/comment on an issue or merge request. Use notable_type to specify which.",
|
|
54161
|
+
inputSchema: {
|
|
54162
|
+
project_id: exports_external.string().describe("Project ID or URL-encoded path"),
|
|
54163
|
+
notable_type: exports_external.enum(["issue", "merge_request"]).describe("Type of notable (issue or merge_request)"),
|
|
54164
|
+
notable_iid: exports_external.string().describe("IID of the issue or merge request"),
|
|
54165
|
+
body: exports_external.string().describe("Note content")
|
|
54166
|
+
}
|
|
54167
|
+
}, async (params) => {
|
|
54168
|
+
const args = CreateNoteSchema.parse(params);
|
|
54169
|
+
const projectId = encodeProjectId(args.project_id);
|
|
54170
|
+
const notablePlural = args.notable_type === "issue" ? "issues" : "merge_requests";
|
|
54171
|
+
const note = await defaultClient.post(`/projects/${projectId}/${notablePlural}/${args.notable_iid}/notes`, { body: args.body });
|
|
54172
|
+
return { content: [{ type: "text", text: JSON.stringify(note, null, 2) }] };
|
|
54173
|
+
});
|
|
54174
|
+
toolRef14.disable();
|
|
54175
|
+
tools.set("create_note", toolRef14);
|
|
54122
54176
|
logger2.debug("Issue tools registered", { count: tools.size });
|
|
54123
54177
|
return tools;
|
|
54124
54178
|
}
|
package/package.json
CHANGED