Files
github--github-mcp-server/pkg/github/__toolsnaps__/issue_write.snap
T
Sam Morrow c6f31f36b6 feat: Add OAuth scopes to tool metadata
- 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)
2025-12-13 01:22:50 +01:00

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"
}