c6f31f36b6
- Add pkg/scopes package with OAuth scope constants and utilities - Add scopes to all ~90 tool definitions using mcp.Tool.Meta field - Update generate_docs.go to include scopes in README output - Add comprehensive test coverage for scopes package - Update all toolsnaps to include _meta.requiredOAuthScopes Scope assignments follow GitHub OAuth app documentation: - repo: Most repository operations (private repos) - public_repo: Star/unstar operations - notifications: Notification operations - gist: Gist write operations - security_events: Code scanning, dependabot, secret scanning - project/read:project: Project operations - read:org: Organization/team read operations - No scope: Public read operations (get_me, list_gists)
94 lines
2.4 KiB
Plaintext
94 lines
2.4 KiB
Plaintext
{
|
|
"_meta": {
|
|
"requiredOAuthScopes": [
|
|
"repo"
|
|
],
|
|
"toolset": "issues"
|
|
},
|
|
"annotations": {
|
|
"title": "Create or update issue."
|
|
},
|
|
"description": "Create a new or update an existing issue in a GitHub repository.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"properties": {
|
|
"assignees": {
|
|
"type": "array",
|
|
"description": "Usernames to assign to this issue",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"body": {
|
|
"type": "string",
|
|
"description": "Issue body content"
|
|
},
|
|
"duplicate_of": {
|
|
"type": "number",
|
|
"description": "Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'."
|
|
},
|
|
"issue_number": {
|
|
"type": "number",
|
|
"description": "Issue number to update"
|
|
},
|
|
"labels": {
|
|
"type": "array",
|
|
"description": "Labels to apply to this issue",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"method": {
|
|
"type": "string",
|
|
"description": "Write operation to perform on a single issue.\nOptions are:\n- 'create' - creates a new issue.\n- 'update' - updates an existing issue.\n",
|
|
"enum": [
|
|
"create",
|
|
"update"
|
|
]
|
|
},
|
|
"milestone": {
|
|
"type": "number",
|
|
"description": "Milestone number"
|
|
},
|
|
"owner": {
|
|
"type": "string",
|
|
"description": "Repository owner"
|
|
},
|
|
"repo": {
|
|
"type": "string",
|
|
"description": "Repository name"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"description": "New state",
|
|
"enum": [
|
|
"open",
|
|
"closed"
|
|
]
|
|
},
|
|
"state_reason": {
|
|
"type": "string",
|
|
"description": "Reason for the state change. Ignored unless state is changed.",
|
|
"enum": [
|
|
"completed",
|
|
"not_planned",
|
|
"duplicate"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Issue title"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter."
|
|
}
|
|
}
|
|
},
|
|
"name": "issue_write"
|
|
} |