Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/add_issue_comment.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "Add comment to issue",
"readOnlyHint": false
"readOnlyHint": false,
"openWorldHint": true
},
"description": "Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/issue_read.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "Get issue details",
"readOnlyHint": true
"readOnlyHint": true,
"openWorldHint": true
},
"description": "Get information about a specific issue in a GitHub repository.",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/issue_write.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "Create or update issue.",
"readOnlyHint": false
"readOnlyHint": false,
"openWorldHint": true
},
"description": "Create a new or update an existing issue in a GitHub repository.",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/list_issue_types.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "List available issue types",
"readOnlyHint": true
"readOnlyHint": true,
"openWorldHint": true
},
"description": "List supported issue types for repository owner (organization).",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/list_issues.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "List issues",
"readOnlyHint": true
"readOnlyHint": true,
"openWorldHint": true
},
"description": "List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/search_issues.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "Search issues",
"readOnlyHint": true
"readOnlyHint": true,
"openWorldHint": true
},
"description": "Search for issues in GitHub repositories using issues search syntax already scoped to is:issue",
"inputSchema": {
Expand Down
3 changes: 2 additions & 1 deletion pkg/github/__toolsnaps__/sub_issue_write.snap
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"annotations": {
"title": "Change sub-issue",
"readOnlyHint": false
"readOnlyHint": false,
"openWorldHint": true
},
"description": "Add a sub-issue to a parent issue in a GitHub repository.",
"inputSchema": {
Expand Down
35 changes: 21 additions & 14 deletions pkg/github/issues.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,9 @@ func IssueRead(getClient GetClientFn, getGQLClient GetGQLClientFn, t translation
return mcp.NewTool("issue_read",
mcp.WithDescription(t("TOOL_ISSUE_READ_DESCRIPTION", "Get information about a specific issue in a GitHub repository.")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_ISSUE_READ_USER_TITLE", "Get issue details"),
ReadOnlyHint: ToBoolPtr(true),
Title: t("TOOL_ISSUE_READ_USER_TITLE", "Get issue details"),
ReadOnlyHint: ToBoolPtr(true),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("method",
mcp.Required(),
Expand Down Expand Up @@ -466,8 +467,9 @@ func ListIssueTypes(getClient GetClientFn, t translations.TranslationHelperFunc)
return mcp.NewTool("list_issue_types",
mcp.WithDescription(t("TOOL_LIST_ISSUE_TYPES_FOR_ORG", "List supported issue types for repository owner (organization).")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_LIST_ISSUE_TYPES_USER_TITLE", "List available issue types"),
ReadOnlyHint: ToBoolPtr(true),
Title: t("TOOL_LIST_ISSUE_TYPES_USER_TITLE", "List available issue types"),
ReadOnlyHint: ToBoolPtr(true),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("owner",
mcp.Required(),
Expand Down Expand Up @@ -512,8 +514,9 @@ func AddIssueComment(getClient GetClientFn, t translations.TranslationHelperFunc
return mcp.NewTool("add_issue_comment",
mcp.WithDescription(t("TOOL_ADD_ISSUE_COMMENT_DESCRIPTION", "Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_ADD_ISSUE_COMMENT_USER_TITLE", "Add comment to issue"),
ReadOnlyHint: ToBoolPtr(false),
Title: t("TOOL_ADD_ISSUE_COMMENT_USER_TITLE", "Add comment to issue"),
ReadOnlyHint: ToBoolPtr(false),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("owner",
mcp.Required(),
Expand Down Expand Up @@ -586,8 +589,9 @@ func SubIssueWrite(getClient GetClientFn, t translations.TranslationHelperFunc)
return mcp.NewTool("sub_issue_write",
mcp.WithDescription(t("TOOL_SUB_ISSUE_WRITE_DESCRIPTION", "Add a sub-issue to a parent issue in a GitHub repository.")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_SUB_ISSUE_WRITE_USER_TITLE", "Change sub-issue"),
ReadOnlyHint: ToBoolPtr(false),
Title: t("TOOL_SUB_ISSUE_WRITE_USER_TITLE", "Change sub-issue"),
ReadOnlyHint: ToBoolPtr(false),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("method",
mcp.Required(),
Expand Down Expand Up @@ -798,8 +802,9 @@ func SearchIssues(getClient GetClientFn, t translations.TranslationHelperFunc) (
return mcp.NewTool("search_issues",
mcp.WithDescription(t("TOOL_SEARCH_ISSUES_DESCRIPTION", "Search for issues in GitHub repositories using issues search syntax already scoped to is:issue")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_SEARCH_ISSUES_USER_TITLE", "Search issues"),
ReadOnlyHint: ToBoolPtr(true),
Title: t("TOOL_SEARCH_ISSUES_USER_TITLE", "Search issues"),
ReadOnlyHint: ToBoolPtr(true),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("query",
mcp.Required(),
Expand Down Expand Up @@ -843,8 +848,9 @@ func IssueWrite(getClient GetClientFn, getGQLClient GetGQLClientFn, t translatio
return mcp.NewTool("issue_write",
mcp.WithDescription(t("TOOL_ISSUE_WRITE_DESCRIPTION", "Create a new or update an existing issue in a GitHub repository.")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_ISSUE_WRITE_USER_TITLE", "Create or update issue."),
ReadOnlyHint: ToBoolPtr(false),
Title: t("TOOL_ISSUE_WRITE_USER_TITLE", "Create or update issue."),
ReadOnlyHint: ToBoolPtr(false),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("method",
mcp.Required(),
Expand Down Expand Up @@ -1183,8 +1189,9 @@ func ListIssues(getGQLClient GetGQLClientFn, t translations.TranslationHelperFun
return mcp.NewTool("list_issues",
mcp.WithDescription(t("TOOL_LIST_ISSUES_DESCRIPTION", "List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.")),
mcp.WithToolAnnotation(mcp.ToolAnnotation{
Title: t("TOOL_LIST_ISSUES_USER_TITLE", "List issues"),
ReadOnlyHint: ToBoolPtr(true),
Title: t("TOOL_LIST_ISSUES_USER_TITLE", "List issues"),
ReadOnlyHint: ToBoolPtr(true),
OpenWorldHint: ToBoolPtr(true),
}),
mcp.WithString("owner",
mcp.Required(),
Expand Down