@@ -24,6 +24,7 @@ func ListWorkflows(getClient GetClientFn, t translations.TranslationHelperFunc)
24
24
return mcp .NewTool ("list_workflows" ,
25
25
mcp .WithDescription (t ("TOOL_LIST_WORKFLOWS_DESCRIPTION" ,"List workflows in a repository" )),
26
26
mcp .WithToolAnnotation (mcp.ToolAnnotation {
27
+ Title :t ("TOOL_LIST_WORKFLOWS_USER_TITLE" ,"List workflows" ),
27
28
ReadOnlyHint :ToBoolPtr (true ),
28
29
}),
29
30
mcp .WithString ("owner" ,
@@ -92,6 +93,7 @@ func ListWorkflowRuns(getClient GetClientFn, t translations.TranslationHelperFun
92
93
return mcp .NewTool ("list_workflow_runs" ,
93
94
mcp .WithDescription (t ("TOOL_LIST_WORKFLOW_RUNS_DESCRIPTION" ,"List workflow runs for a specific workflow" )),
94
95
mcp .WithToolAnnotation (mcp.ToolAnnotation {
96
+ Title :t ("TOOL_LIST_WORKFLOW_RUNS_USER_TITLE" ,"List workflow runs" ),
95
97
ReadOnlyHint :ToBoolPtr (true ),
96
98
}),
97
99
mcp .WithString ("owner" ,
@@ -239,6 +241,7 @@ func RunWorkflow(getClient GetClientFn, t translations.TranslationHelperFunc) (t
239
241
return mcp .NewTool ("run_workflow" ,
240
242
mcp .WithDescription (t ("TOOL_RUN_WORKFLOW_DESCRIPTION" ,"Run an Actions workflow by workflow ID" )),
241
243
mcp .WithToolAnnotation (mcp.ToolAnnotation {
244
+ Title :t ("TOOL_RUN_WORKFLOW_USER_TITLE" ,"Run workflow" ),
242
245
ReadOnlyHint :ToBoolPtr (false ),
243
246
}),
244
247
mcp .WithString ("owner" ,
@@ -329,6 +332,7 @@ func RunWorkflowByFileName(getClient GetClientFn, t translations.TranslationHelp
329
332
return mcp .NewTool ("run_workflow_by_filename" ,
330
333
mcp .WithDescription (t ("TOOL_RUN_WORKFLOW_BY_FILENAME_DESCRIPTION" ,"Run an Actions workflow by workflow filename" )),
331
334
mcp .WithToolAnnotation (mcp.ToolAnnotation {
335
+ Title :t ("TOOL_RUN_WORKFLOW_BY_FILENAME_USER_TITLE" ,"Run workflow by filename" ),
332
336
ReadOnlyHint :ToBoolPtr (false ),
333
337
}),
334
338
mcp .WithString ("owner" ,
@@ -416,6 +420,7 @@ func GetWorkflowRun(getClient GetClientFn, t translations.TranslationHelperFunc)
416
420
return mcp .NewTool ("get_workflow_run" ,
417
421
mcp .WithDescription (t ("TOOL_GET_WORKFLOW_RUN_DESCRIPTION" ,"Get details of a specific workflow run" )),
418
422
mcp .WithToolAnnotation (mcp.ToolAnnotation {
423
+ Title :t ("TOOL_GET_WORKFLOW_RUN_USER_TITLE" ,"Get workflow run" ),
419
424
ReadOnlyHint :ToBoolPtr (true ),
420
425
}),
421
426
mcp .WithString ("owner" ,
@@ -471,6 +476,7 @@ func GetWorkflowRunLogs(getClient GetClientFn, t translations.TranslationHelperF
471
476
return mcp .NewTool ("get_workflow_run_logs" ,
472
477
mcp .WithDescription (t ("TOOL_GET_WORKFLOW_RUN_LOGS_DESCRIPTION" ,"Download logs for a specific workflow run (EXPENSIVE: downloads ALL logs as ZIP. Consider using get_job_logs with failed_only=true for debugging failed jobs)" )),
473
478
mcp .WithToolAnnotation (mcp.ToolAnnotation {
479
+ Title :t ("TOOL_GET_WORKFLOW_RUN_LOGS_USER_TITLE" ,"Get workflow run logs" ),
474
480
ReadOnlyHint :ToBoolPtr (true ),
475
481
}),
476
482
mcp .WithString ("owner" ,
@@ -536,6 +542,7 @@ func ListWorkflowJobs(getClient GetClientFn, t translations.TranslationHelperFun
536
542
return mcp .NewTool ("list_workflow_jobs" ,
537
543
mcp .WithDescription (t ("TOOL_LIST_WORKFLOW_JOBS_DESCRIPTION" ,"List jobs for a specific workflow run" )),
538
544
mcp .WithToolAnnotation (mcp.ToolAnnotation {
545
+ Title :t ("TOOL_LIST_WORKFLOW_JOBS_USER_TITLE" ,"List workflow jobs" ),
539
546
ReadOnlyHint :ToBoolPtr (true ),
540
547
}),
541
548
mcp .WithString ("owner" ,
@@ -627,11 +634,12 @@ func ListWorkflowJobs(getClient GetClientFn, t translations.TranslationHelperFun
627
634
}
628
635
}
629
636
630
- // GetJobLogs creates a tool to download logs for a specific workflow job or get failed job logsefficiently
637
+ // GetJobLogs creates a tool to download logs for a specific workflow job orefficiently getall failed job logsfor a workflow run
631
638
func GetJobLogs (getClient GetClientFn ,t translations.TranslationHelperFunc ) (tool mcp.Tool ,handler server.ToolHandlerFunc ) {
632
639
return mcp .NewTool ("get_job_logs" ,
633
640
mcp .WithDescription (t ("TOOL_GET_JOB_LOGS_DESCRIPTION" ,"Download logs for a specific workflow job or efficiently get all failed job logs for a workflow run" )),
634
641
mcp .WithToolAnnotation (mcp.ToolAnnotation {
642
+ Title :t ("TOOL_GET_JOB_LOGS_USER_TITLE" ,"Get job logs" ),
635
643
ReadOnlyHint :ToBoolPtr (true ),
636
644
}),
637
645
mcp .WithString ("owner" ,
@@ -846,6 +854,7 @@ func RerunWorkflowRun(getClient GetClientFn, t translations.TranslationHelperFun
846
854
return mcp .NewTool ("rerun_workflow_run" ,
847
855
mcp .WithDescription (t ("TOOL_RERUN_WORKFLOW_RUN_DESCRIPTION" ,"Re-run an entire workflow run" )),
848
856
mcp .WithToolAnnotation (mcp.ToolAnnotation {
857
+ Title :t ("TOOL_RERUN_WORKFLOW_RUN_USER_TITLE" ,"Rerun workflow run" ),
849
858
ReadOnlyHint :ToBoolPtr (false ),
850
859
}),
851
860
mcp .WithString ("owner" ,
@@ -908,6 +917,7 @@ func RerunFailedJobs(getClient GetClientFn, t translations.TranslationHelperFunc
908
917
return mcp .NewTool ("rerun_failed_jobs" ,
909
918
mcp .WithDescription (t ("TOOL_RERUN_FAILED_JOBS_DESCRIPTION" ,"Re-run only the failed jobs in a workflow run" )),
910
919
mcp .WithToolAnnotation (mcp.ToolAnnotation {
920
+ Title :t ("TOOL_RERUN_FAILED_JOBS_USER_TITLE" ,"Rerun failed jobs" ),
911
921
ReadOnlyHint :ToBoolPtr (false ),
912
922
}),
913
923
mcp .WithString ("owner" ,
@@ -970,6 +980,7 @@ func CancelWorkflowRun(getClient GetClientFn, t translations.TranslationHelperFu
970
980
return mcp .NewTool ("cancel_workflow_run" ,
971
981
mcp .WithDescription (t ("TOOL_CANCEL_WORKFLOW_RUN_DESCRIPTION" ,"Cancel a workflow run" )),
972
982
mcp .WithToolAnnotation (mcp.ToolAnnotation {
983
+ Title :t ("TOOL_CANCEL_WORKFLOW_RUN_USER_TITLE" ,"Cancel workflow run" ),
973
984
ReadOnlyHint :ToBoolPtr (false ),
974
985
}),
975
986
mcp .WithString ("owner" ,
@@ -1032,6 +1043,7 @@ func ListWorkflowRunArtifacts(getClient GetClientFn, t translations.TranslationH
1032
1043
return mcp .NewTool ("list_workflow_run_artifacts" ,
1033
1044
mcp .WithDescription (t ("TOOL_LIST_WORKFLOW_RUN_ARTIFACTS_DESCRIPTION" ,"List artifacts for a workflow run" )),
1034
1045
mcp .WithToolAnnotation (mcp.ToolAnnotation {
1046
+ Title :t ("TOOL_LIST_WORKFLOW_RUN_ARTIFACTS_USER_TITLE" ,"List workflow artifacts" ),
1035
1047
ReadOnlyHint :ToBoolPtr (true ),
1036
1048
}),
1037
1049
mcp .WithString ("owner" ,
@@ -1109,6 +1121,7 @@ func DownloadWorkflowRunArtifact(getClient GetClientFn, t translations.Translati
1109
1121
return mcp .NewTool ("download_workflow_run_artifact" ,
1110
1122
mcp .WithDescription (t ("TOOL_DOWNLOAD_WORKFLOW_RUN_ARTIFACT_DESCRIPTION" ,"Get download URL for a workflow run artifact" )),
1111
1123
mcp .WithToolAnnotation (mcp.ToolAnnotation {
1124
+ Title :t ("TOOL_DOWNLOAD_WORKFLOW_RUN_ARTIFACT_USER_TITLE" ,"Download workflow artifact" ),
1112
1125
ReadOnlyHint :ToBoolPtr (true ),
1113
1126
}),
1114
1127
mcp .WithString ("owner" ,
@@ -1173,6 +1186,7 @@ func DeleteWorkflowRunLogs(getClient GetClientFn, t translations.TranslationHelp
1173
1186
return mcp .NewTool ("delete_workflow_run_logs" ,
1174
1187
mcp .WithDescription (t ("TOOL_DELETE_WORKFLOW_RUN_LOGS_DESCRIPTION" ,"Delete logs for a workflow run" )),
1175
1188
mcp .WithToolAnnotation (mcp.ToolAnnotation {
1189
+ Title :t ("TOOL_DELETE_WORKFLOW_RUN_LOGS_USER_TITLE" ,"Delete workflow logs" ),
1176
1190
ReadOnlyHint :ToBoolPtr (false ),
1177
1191
DestructiveHint :ToBoolPtr (true ),
1178
1192
}),
@@ -1236,6 +1250,7 @@ func GetWorkflowRunUsage(getClient GetClientFn, t translations.TranslationHelper
1236
1250
return mcp .NewTool ("get_workflow_run_usage" ,
1237
1251
mcp .WithDescription (t ("TOOL_GET_WORKFLOW_RUN_USAGE_DESCRIPTION" ,"Get usage metrics for a workflow run" )),
1238
1252
mcp .WithToolAnnotation (mcp.ToolAnnotation {
1253
+ Title :t ("TOOL_GET_WORKFLOW_RUN_USAGE_USER_TITLE" ,"Get workflow usage" ),
1239
1254
ReadOnlyHint :ToBoolPtr (true ),
1240
1255
}),
1241
1256
mcp .WithString ("owner" ,