@azure-devops/mcp 2.2.2-nightly.20251202 → 2.3.0-nightly.20251203
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/tools/repositories.js +44 -0
- package/dist/version.js +1 -1
- package/package.json +4 -3
|
@@ -20,6 +20,7 @@ const REPO_TOOLS = {
|
|
|
20
20
|
update_pull_request_reviewers: "repo_update_pull_request_reviewers",
|
|
21
21
|
reply_to_comment: "repo_reply_to_comment",
|
|
22
22
|
create_pull_request_thread: "repo_create_pull_request_thread",
|
|
23
|
+
update_pull_request_thread: "repo_update_pull_request_thread",
|
|
23
24
|
resolve_comment: "repo_resolve_comment",
|
|
24
25
|
search_commits: "repo_search_commits",
|
|
25
26
|
list_pull_requests_by_commits: "repo_list_pull_requests_by_commits",
|
|
@@ -889,6 +890,49 @@ function configureRepoTools(server, tokenProvider, connectionProvider, userAgent
|
|
|
889
890
|
};
|
|
890
891
|
}
|
|
891
892
|
});
|
|
893
|
+
server.tool(REPO_TOOLS.update_pull_request_thread, "Updates an existing comment thread on a pull request.", {
|
|
894
|
+
repositoryId: z.string().describe("The ID of the repository where the pull request is located."),
|
|
895
|
+
pullRequestId: z.number().describe("The ID of the pull request where the comment thread exists."),
|
|
896
|
+
threadId: z.number().describe("The ID of the thread to update."),
|
|
897
|
+
project: z.string().optional().describe("Project ID or project name (optional)"),
|
|
898
|
+
status: z
|
|
899
|
+
.enum(getEnumKeys(CommentThreadStatus))
|
|
900
|
+
.optional()
|
|
901
|
+
.describe("The new status for the comment thread."),
|
|
902
|
+
}, async ({ repositoryId, pullRequestId, threadId, project, status }) => {
|
|
903
|
+
try {
|
|
904
|
+
const connection = await connectionProvider();
|
|
905
|
+
const gitApi = await connection.getGitApi();
|
|
906
|
+
const updateRequest = {};
|
|
907
|
+
if (status !== undefined) {
|
|
908
|
+
updateRequest.status = CommentThreadStatus[status];
|
|
909
|
+
}
|
|
910
|
+
if (Object.keys(updateRequest).length === 0) {
|
|
911
|
+
return {
|
|
912
|
+
content: [{ type: "text", text: "Error: At least one field (status) must be provided for update." }],
|
|
913
|
+
isError: true,
|
|
914
|
+
};
|
|
915
|
+
}
|
|
916
|
+
const thread = await gitApi.updateThread(updateRequest, repositoryId, pullRequestId, threadId, project);
|
|
917
|
+
if (!thread) {
|
|
918
|
+
return {
|
|
919
|
+
content: [{ type: "text", text: `Error: Failed to update thread ${threadId}. The thread was not updated successfully.` }],
|
|
920
|
+
isError: true,
|
|
921
|
+
};
|
|
922
|
+
}
|
|
923
|
+
const trimmedThread = trimPullRequestThread(thread);
|
|
924
|
+
return {
|
|
925
|
+
content: [{ type: "text", text: JSON.stringify(trimmedThread, null, 2) }],
|
|
926
|
+
};
|
|
927
|
+
}
|
|
928
|
+
catch (error) {
|
|
929
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
|
|
930
|
+
return {
|
|
931
|
+
content: [{ type: "text", text: `Error updating pull request thread: ${errorMessage}` }],
|
|
932
|
+
isError: true,
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
});
|
|
892
936
|
server.tool(REPO_TOOLS.resolve_comment, "Resolves a specific comment thread on a pull request.", {
|
|
893
937
|
repositoryId: z.string().describe("The ID of the repository where the pull request is located."),
|
|
894
938
|
pullRequestId: z.number().describe("The ID of the pull request where the comment thread exists."),
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = "2.
|
|
1
|
+
export const packageVersion = "2.3.0-nightly.20251203";
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-devops/mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-nightly.20251203",
|
|
4
|
+
"mcpName": "microsoft.com/azure-devops",
|
|
4
5
|
"description": "MCP server for interacting with Azure DevOps",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"author": "Microsoft Corporation",
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"dependencies": {
|
|
40
41
|
"@azure/identity": "^4.10.0",
|
|
41
42
|
"@azure/msal-node": "^3.6.0",
|
|
42
|
-
"@modelcontextprotocol/sdk": "1.
|
|
43
|
+
"@modelcontextprotocol/sdk": "1.24.0",
|
|
43
44
|
"azure-devops-extension-api": "^4.252.0",
|
|
44
45
|
"azure-devops-extension-sdk": "^4.0.2",
|
|
45
46
|
"azure-devops-node-api": "^15.1.0",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"ts-jest": "^29.4.0",
|
|
65
66
|
"tsconfig-paths": "^4.2.0",
|
|
66
67
|
"typescript": "^5.9.3",
|
|
67
|
-
"typescript-eslint": "^8.
|
|
68
|
+
"typescript-eslint": "^8.48.0"
|
|
68
69
|
},
|
|
69
70
|
"lint-staged": {
|
|
70
71
|
"**/*.(js|ts|jsx|tsx|json|css|md)": [
|