mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2026-08-03 15:49:23 +02:00
80c8b25d6e
- Swap the mark3labs MCP dependency for modelcontextprotocol/go-sdk v1.7.0 - Add a declarative tool definition and JSON Schema builder to the tool package - Adapt registered tools to the official low-level handler, recovering panics and mapping failures to JSON-RPC errors - Narrow tool handlers to take a plain argument map instead of an SDK request type - Rewire stdio and HTTP transports onto the official server, moving Authorization parsing into receiving middleware - Add a golden contract test that locks the exposed tool schemas, plus SDK integration and helper tests - Add a test target and run it in the pull request workflow BREAKING CHANGE: The exported helpers change signature. Tool.RegisterRead and Tool.RegisterWrite now take tool.ServerTool instead of server.ServerTool, and the annotation constructors return *mcp.ToolAnnotations from the official SDK. Callers must build tool definitions with tool.NewDefinition and handlers with the func(context.Context, map[string]any) signature. The 30-second SSE heartbeat is removed because the official SDK has no equivalent. ServerOptions.KeepAlive is deliberately not used as a substitute, since it sends MCP ping requests and ping is removed in protocol 2026. HTTP stays stateless=false, so new clients negotiate at most 2025-11-25. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2818 lines
66 KiB
JSON
2818 lines
66 KiB
JSON
[
|
|
{
|
|
"scope": "actions",
|
|
"access": "read",
|
|
"name": "actions_config_read",
|
|
"description": "Read Actions secrets and variables.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"method": {
|
|
"enum": [
|
|
"list_repo_secrets",
|
|
"list_org_secrets",
|
|
"list_repo_variables",
|
|
"get_repo_variable",
|
|
"list_org_variables",
|
|
"get_org_variable"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "for get methods",
|
|
"type": "string"
|
|
},
|
|
"org": {
|
|
"description": "for org methods",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read Actions secrets and variables",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "actions",
|
|
"access": "read",
|
|
"name": "actions_run_read",
|
|
"description": "Read Actions workflows, runs, jobs, logs, and artifacts.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"artifact_id": {
|
|
"description": "for 'get_artifact'/'download_artifact'",
|
|
"type": "number"
|
|
},
|
|
"artifact_name": {
|
|
"description": "name filter for 'list_artifacts'/'list_run_artifacts'",
|
|
"type": "string"
|
|
},
|
|
"job_id": {
|
|
"description": "for 'get_job'/log methods",
|
|
"type": "number"
|
|
},
|
|
"max_bytes": {
|
|
"default": 65536,
|
|
"description": "max log bytes",
|
|
"minimum": 1024,
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"list_workflows",
|
|
"get_workflow",
|
|
"list_runs",
|
|
"get_run",
|
|
"list_jobs",
|
|
"list_run_jobs",
|
|
"get_job",
|
|
"get_job_log_preview",
|
|
"download_job_log",
|
|
"list_artifacts",
|
|
"list_run_artifacts",
|
|
"get_artifact",
|
|
"download_artifact"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"output_path": {
|
|
"description": "for 'download_job_log'/'download_artifact'",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"run_id": {
|
|
"description": "for 'get_run'/'list_run_jobs'/'list_run_artifacts'",
|
|
"type": "number"
|
|
},
|
|
"status": {
|
|
"description": "filter for 'list_runs'/'list_jobs'",
|
|
"type": "string"
|
|
},
|
|
"tail_lines": {
|
|
"default": 200,
|
|
"description": "log tail lines",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"workflow_id": {
|
|
"description": "ID or filename (for 'get_workflow')",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read Actions workflow, run, job, and artifact data",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "actions",
|
|
"access": "write",
|
|
"name": "actions_config_write",
|
|
"description": "Write Actions secrets and variables: upsert, create, update, delete.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "secret value (upsert)",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"upsert_repo_secret",
|
|
"delete_repo_secret",
|
|
"upsert_org_secret",
|
|
"delete_org_secret",
|
|
"create_repo_variable",
|
|
"update_repo_variable",
|
|
"delete_repo_variable",
|
|
"create_org_variable",
|
|
"update_org_variable",
|
|
"delete_org_variable"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "secret or variable name",
|
|
"type": "string"
|
|
},
|
|
"org": {
|
|
"description": "for org methods",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"description": "variable value",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Manage Actions secrets and variables",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "actions",
|
|
"access": "write",
|
|
"name": "actions_run_write",
|
|
"description": "Write Actions runs: dispatch, cancel, rerun.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"inputs": {
|
|
"description": "for 'dispatch_workflow'",
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"dispatch_workflow",
|
|
"cancel_run",
|
|
"rerun_run"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"description": "branch or tag (for 'dispatch_workflow')",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"run_id": {
|
|
"description": "for 'cancel_run'/'rerun_run'",
|
|
"type": "number"
|
|
},
|
|
"workflow_id": {
|
|
"description": "ID or filename (for 'dispatch_workflow')",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Trigger, cancel, or rerun Actions workflows",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "branch",
|
|
"access": "read",
|
|
"name": "list_branches",
|
|
"description": "List all branches in a repository, paginated.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List repository branches",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "branch",
|
|
"access": "write",
|
|
"name": "create_branch",
|
|
"description": "Create a new branch in a repository, optionally from a specific source branch (defaults to the repository's default branch).",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"old_branch": {
|
|
"description": "source branch (default: repo default)",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"branch"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create a new branch",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "branch",
|
|
"access": "write",
|
|
"name": "delete_branch",
|
|
"description": "Permanently delete a branch from a repository. This action is destructive and cannot be undone.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"branch"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Delete a branch",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "commit",
|
|
"access": "read",
|
|
"name": "get_commit",
|
|
"description": "Get details for a single commit in a repository by its SHA.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"sha": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"sha"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get commit details",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "commit",
|
|
"access": "read",
|
|
"name": "list_commits",
|
|
"description": "List commits in a repository, optionally starting from a specific branch or SHA and filtered to commits touching a given file path.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"path": {
|
|
"description": "only commits touching this path",
|
|
"type": "string"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"sha": {
|
|
"description": "starting SHA or branch",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List repository commits",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "file",
|
|
"access": "read",
|
|
"name": "get_dir_contents",
|
|
"description": "List the entries (files and subdirectories) in a repository directory at a given ref (branch, tag, or commit SHA).",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"description": "branch, tag, or commit SHA",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"ref",
|
|
"path"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get directory contents",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "file",
|
|
"access": "read",
|
|
"name": "get_file_contents",
|
|
"description": "Get file content and metadata",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"description": "branch, tag, or commit SHA",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"withLines": {
|
|
"description": "return numbered lines",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"ref",
|
|
"path"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get file content",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "file",
|
|
"access": "write",
|
|
"name": "create_or_update_file",
|
|
"description": "Create or update a file (provide sha to update an existing file).",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"branch_name": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"description": "commit message",
|
|
"type": "string"
|
|
},
|
|
"new_branch_name": {
|
|
"description": "new branch (create only)",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"sha": {
|
|
"description": "existing file SHA (omit to create)",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"path",
|
|
"content",
|
|
"message",
|
|
"branch_name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create or update a file",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "file",
|
|
"access": "write",
|
|
"name": "delete_file",
|
|
"description": "Delete a file from a repository by committing the removal to a branch. Requires the file's current SHA and a commit message.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"branch_name": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"description": "commit message",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"sha": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"path",
|
|
"message",
|
|
"branch_name",
|
|
"sha"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Delete a file",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "issue",
|
|
"access": "read",
|
|
"name": "attachment_read",
|
|
"description": "Read issue/comment attachments: list metadata, get metadata, or download content.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"attachment_id": {
|
|
"description": "required for get and for download when attachment_uuid is not provided",
|
|
"type": "number"
|
|
},
|
|
"attachment_uuid": {
|
|
"description": "attachment UUID for direct download path lookup",
|
|
"type": "string"
|
|
},
|
|
"comment_id": {
|
|
"description": "required for comment attachment list/get or comment-scoped metadata lookup",
|
|
"type": "number"
|
|
},
|
|
"issue_number": {
|
|
"description": "required for issue attachment list/get or issue-scoped metadata lookup",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"list",
|
|
"get",
|
|
"download"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"output_path": {
|
|
"description": "write the attachment to this exact path",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read issue or comment attachments",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "issue",
|
|
"access": "read",
|
|
"name": "issue_read",
|
|
"description": "Read issue: details, comments, or labels.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"issue_number": {
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"get",
|
|
"get_comments",
|
|
"get_labels"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo",
|
|
"issue_number"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read issue details",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "issue",
|
|
"access": "read",
|
|
"name": "list_issues",
|
|
"description": "List issues in a repository (or pull requests, via the 'type' filter), filterable by state, labels, milestones, and update time range.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"before": {
|
|
"description": "updated before ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"labels": {
|
|
"description": "label name filter",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"milestones": {
|
|
"description": "milestone name or ID filter",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"since": {
|
|
"description": "updated after ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"default": "all",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "issues or pulls",
|
|
"enum": [
|
|
"issues",
|
|
"pulls"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List repository issues",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "issue",
|
|
"access": "write",
|
|
"name": "issue_write",
|
|
"description": "Write issues: create, update, manage comments and labels.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"assignees": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"body": {
|
|
"description": "required for 'create'/'add_comment'/'edit_comment'",
|
|
"type": "string"
|
|
},
|
|
"commentID": {
|
|
"description": "for 'edit_comment'",
|
|
"type": "number"
|
|
},
|
|
"deadline": {
|
|
"description": "ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"issue_number": {
|
|
"description": "required except for 'create'",
|
|
"type": "number"
|
|
},
|
|
"label_id": {
|
|
"description": "for 'remove_label'",
|
|
"type": "number"
|
|
},
|
|
"labels": {
|
|
"description": "label IDs",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"add_comment",
|
|
"edit_comment",
|
|
"add_labels",
|
|
"remove_label",
|
|
"replace_labels",
|
|
"clear_labels"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"milestone": {
|
|
"type": "number"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"description": "branch to associate",
|
|
"type": "string"
|
|
},
|
|
"remove_deadline": {
|
|
"type": "boolean"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"enum": [
|
|
"open",
|
|
"closed",
|
|
"all"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"description": "required for 'create'",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create or update issues, comments, and labels",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "label",
|
|
"access": "read",
|
|
"name": "label_read",
|
|
"description": "Read repo or org labels.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "label ID (for 'get_repo_label')",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"list_repo_labels",
|
|
"get_repo_label",
|
|
"list_org_labels"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"org": {
|
|
"description": "for org methods",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read labels",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "label",
|
|
"access": "write",
|
|
"name": "label_write",
|
|
"description": "Write labels (repo or org): create, edit, delete.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"color": {
|
|
"description": "hex (#RRGGBB); required for create",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"exclusive": {
|
|
"description": "exclusive (org only)",
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"description": "for edit/delete",
|
|
"type": "number"
|
|
},
|
|
"is_archived": {
|
|
"description": "archived (repo only)",
|
|
"type": "boolean"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create_repo_label",
|
|
"edit_repo_label",
|
|
"delete_repo_label",
|
|
"create_org_label",
|
|
"edit_org_label",
|
|
"delete_org_label"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "required for create",
|
|
"type": "string"
|
|
},
|
|
"org": {
|
|
"description": "for org methods",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "for repo methods",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create, update, or delete labels",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "milestone",
|
|
"access": "read",
|
|
"name": "milestone_read",
|
|
"description": "Read milestones: get one or list.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "for 'get'",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"get",
|
|
"list"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "name filter (for 'list')",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"default": "all",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read milestones",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "milestone",
|
|
"access": "write",
|
|
"name": "milestone_write",
|
|
"description": "Write milestones: create, update, delete.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"due_on": {
|
|
"description": "due date",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"description": "for 'update'/'delete'",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"edit",
|
|
"delete"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"enum": [
|
|
"open",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"description": "for 'create'",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create, update, or delete milestones",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "notification",
|
|
"access": "read",
|
|
"name": "notification_read",
|
|
"description": "Read notifications: list (optionally scoped to a repo) or get a thread by ID.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"before": {
|
|
"description": "updated before ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"description": "thread ID (for 'get')",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"list",
|
|
"get"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "scope 'list' to a repo",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "scope 'list' to a repo",
|
|
"type": "string"
|
|
},
|
|
"since": {
|
|
"description": "updated after ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"unread",
|
|
"read",
|
|
"pinned"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"subject_type": {
|
|
"enum": [
|
|
"Issue",
|
|
"Pull",
|
|
"Commit",
|
|
"Repository"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read notifications",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "notification",
|
|
"access": "write",
|
|
"name": "notification_write",
|
|
"description": "Mark a notification or all notifications as read.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "thread ID (for 'mark_read')",
|
|
"type": "number"
|
|
},
|
|
"last_read_at": {
|
|
"description": "ISO 8601; defaults to now",
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"mark_read",
|
|
"mark_all_read"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "scope 'mark_all_read' to a repo",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "scope 'mark_all_read' to a repo",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Manage notifications",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "packages",
|
|
"access": "read",
|
|
"name": "package_read",
|
|
"description": "Read package registry: list packages (one entry per version, filter via 'q'/'type'), list versions, or get a version.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"method": {
|
|
"enum": [
|
|
"list",
|
|
"list_versions",
|
|
"get"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "slashes auto-encoded; required except 'list'",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "user or org",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"q": {
|
|
"description": "search query",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "container/npm/maven/pypi/cargo/generic; required except 'list'",
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"description": "for 'get'",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read package registry",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "packages",
|
|
"access": "write",
|
|
"name": "package_write",
|
|
"description": "Delete a package version (irreversible).",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"method": {
|
|
"enum": [
|
|
"delete"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "slashes auto-encoded",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "user or org",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "container/npm/maven/pypi/cargo/generic",
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"type",
|
|
"name",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Delete a package version",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "pull_request",
|
|
"access": "read",
|
|
"name": "list_pull_requests",
|
|
"description": "List pull requests in a repository, filterable by state and milestone, with configurable sort order (e.g. recently updated, most commented).",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"milestone": {
|
|
"type": "number"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"sort": {
|
|
"default": "recentupdate",
|
|
"enum": [
|
|
"oldest",
|
|
"recentupdate",
|
|
"leastupdate",
|
|
"mostcomment",
|
|
"leastcomment",
|
|
"priority"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"default": "all",
|
|
"enum": [
|
|
"open",
|
|
"closed",
|
|
"all"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List pull requests",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "pull_request",
|
|
"access": "read",
|
|
"name": "pull_request_read",
|
|
"description": "Read pull request: details, diff, changed files, head commit status, reviews, review comments.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"binary": {
|
|
"description": "include binary diff",
|
|
"type": "boolean"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"get",
|
|
"get_diff",
|
|
"get_files",
|
|
"get_status",
|
|
"get_reviews",
|
|
"get_review",
|
|
"get_review_comments"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"pull_number": {
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"review_id": {
|
|
"description": "for 'get_review'; optional for 'get_review_comments', omit to list all",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo",
|
|
"pull_number"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read pull request details",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "pull_request",
|
|
"access": "write",
|
|
"name": "pull_request_review_write",
|
|
"description": "Write PR reviews: create, submit, delete, dismiss, reply to and resolve review comments.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"body": {
|
|
"description": "review body, or reply text for 'reply_comment'",
|
|
"type": "string"
|
|
},
|
|
"comment_id": {
|
|
"description": "comment ID from 'get_review_comments'; resolve takes the thread's first",
|
|
"type": "number"
|
|
},
|
|
"comments": {
|
|
"description": "inline comments (for 'create')",
|
|
"items": {
|
|
"properties": {
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"new_line_num": {
|
|
"description": "new-file line (additions)",
|
|
"type": "number"
|
|
},
|
|
"old_line_num": {
|
|
"description": "old-file line (deletions)",
|
|
"type": "number"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"commit_id": {
|
|
"description": "for 'create'",
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"description": "dismissal reason",
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create",
|
|
"submit",
|
|
"delete",
|
|
"dismiss",
|
|
"reply_comment",
|
|
"resolve_thread",
|
|
"unresolve_thread"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"pull_number": {
|
|
"description": "required except for 'resolve_thread'/'unresolve_thread'",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"review_id": {
|
|
"description": "for 'submit'/'delete'/'dismiss'",
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"enum": [
|
|
"APPROVED",
|
|
"REQUEST_CHANGES",
|
|
"COMMENT",
|
|
"PENDING"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Write pull request reviews",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "pull_request",
|
|
"access": "write",
|
|
"name": "pull_request_write",
|
|
"description": "Write pull requests: create, update, close, reopen, merge, update branch from base, manage reviewers.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"allow_maintainer_edit": {
|
|
"description": "for 'update'",
|
|
"type": "boolean"
|
|
},
|
|
"assignee": {
|
|
"description": "for 'update'",
|
|
"type": "string"
|
|
},
|
|
"assignees": {
|
|
"description": "for 'update'",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"base": {
|
|
"description": "base branch (required for 'create')",
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"description": "required for 'create'; optional for 'update'",
|
|
"type": "string"
|
|
},
|
|
"deadline": {
|
|
"description": "ISO 8601",
|
|
"type": "string"
|
|
},
|
|
"delete_branch": {
|
|
"description": "for 'merge'",
|
|
"type": "boolean"
|
|
},
|
|
"draft": {
|
|
"description": "uses 'WIP: ' title prefix",
|
|
"type": "boolean"
|
|
},
|
|
"force_merge": {
|
|
"description": "merge even if checks fail",
|
|
"type": "boolean"
|
|
},
|
|
"head": {
|
|
"description": "head branch (required for 'create')",
|
|
"type": "string"
|
|
},
|
|
"head_commit_id": {
|
|
"description": "expected head SHA for conflict detection",
|
|
"type": "string"
|
|
},
|
|
"labels": {
|
|
"description": "label IDs",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"merge_style": {
|
|
"default": "merge",
|
|
"description": "for 'merge'",
|
|
"enum": [
|
|
"merge",
|
|
"rebase",
|
|
"rebase-merge",
|
|
"squash",
|
|
"fast-forward-only"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"merge_when_checks_succeed": {
|
|
"description": "for 'merge'",
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"description": "merge commit message or dismissal reason",
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"close",
|
|
"reopen",
|
|
"merge",
|
|
"update_branch",
|
|
"add_reviewers",
|
|
"remove_reviewers"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"milestone": {
|
|
"description": "for 'update'",
|
|
"type": "number"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"pull_number": {
|
|
"description": "required except for 'create'",
|
|
"type": "number"
|
|
},
|
|
"remove_deadline": {
|
|
"description": "for 'update'",
|
|
"type": "boolean"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"reviewers": {
|
|
"description": "for 'add_reviewers'/'remove_reviewers'",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"state": {
|
|
"description": "for 'update'",
|
|
"enum": [
|
|
"open",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"team_reviewers": {
|
|
"description": "for 'add_reviewers'/'remove_reviewers'",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"title": {
|
|
"description": "required for 'create'; optional for 'update'/'merge'",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create, update, close, reopen, or merge pull requests",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "release",
|
|
"access": "read",
|
|
"name": "get_latest_release",
|
|
"description": "Get the most recent published (non-draft) release in a repository.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get latest release",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "release",
|
|
"access": "read",
|
|
"name": "get_release",
|
|
"description": "Get a release by ID",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get release details",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "release",
|
|
"access": "read",
|
|
"name": "list_releases",
|
|
"description": "List releases in a repository, optionally filtered to drafts or pre-releases.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"is_draft": {
|
|
"type": "boolean"
|
|
},
|
|
"is_pre_release": {
|
|
"type": "boolean"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 20,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List releases",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "release",
|
|
"access": "write",
|
|
"name": "create_release",
|
|
"description": "Create a new release in a repository from a tag, optionally marking it as a draft or pre-release.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"is_draft": {
|
|
"type": "boolean"
|
|
},
|
|
"is_pre_release": {
|
|
"type": "boolean"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"tag_name": {
|
|
"type": "string"
|
|
},
|
|
"target": {
|
|
"description": "commitish",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"tag_name",
|
|
"target",
|
|
"title"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create a release",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "release",
|
|
"access": "write",
|
|
"name": "delete_release",
|
|
"description": "Delete a release from a repository by its numeric ID. This action is destructive and cannot be undone.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Delete a release",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "repository",
|
|
"access": "read",
|
|
"name": "get_repository_tree",
|
|
"description": "Get the file tree of a repository at a given ref (SHA, branch, or tag), optionally recursively.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"recursive": {
|
|
"type": "boolean"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"tree_sha": {
|
|
"description": "SHA, branch, or tag",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"tree_sha"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get repository file tree",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "repository",
|
|
"access": "read",
|
|
"name": "list_my_repos",
|
|
"description": "List repositories owned by the authenticated user.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List my repositories",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "repository",
|
|
"access": "read",
|
|
"name": "list_org_repos",
|
|
"description": "List repositories belonging to an organization.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"org": {
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 100,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"org"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List organization repositories",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "repository",
|
|
"access": "write",
|
|
"name": "create_repo",
|
|
"description": "Create a new Git repository, optionally under an organization (defaults to the authenticated user's account), with options for visibility, template, license, .gitignore, and initial README.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"auto_init": {
|
|
"type": "boolean"
|
|
},
|
|
"default_branch": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"gitignores": {
|
|
"type": "string"
|
|
},
|
|
"issue_labels": {
|
|
"type": "string"
|
|
},
|
|
"license": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"object_format_name": {
|
|
"enum": [
|
|
"sha1",
|
|
"sha256"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"organization": {
|
|
"description": "defaults to personal account",
|
|
"type": "string"
|
|
},
|
|
"private": {
|
|
"type": "boolean"
|
|
},
|
|
"readme": {
|
|
"type": "string"
|
|
},
|
|
"template": {
|
|
"type": "boolean"
|
|
},
|
|
"trust_model": {
|
|
"enum": [
|
|
"default",
|
|
"collaborator",
|
|
"committer",
|
|
"collaboratorcommitter"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create a new repository",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "repository",
|
|
"access": "write",
|
|
"name": "fork_repo",
|
|
"description": "Fork an existing repository into the authenticated user's account or a target organization, optionally under a new name.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "fork name",
|
|
"type": "string"
|
|
},
|
|
"organization": {
|
|
"description": "target org",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"description": "owner of source repo",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"user",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Fork a repository",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "search",
|
|
"access": "read",
|
|
"name": "search_issues",
|
|
"description": "Search issues and PRs across repositories",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"labels": {
|
|
"description": "comma-separated",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "filter by owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"enum": [
|
|
"open",
|
|
"closed",
|
|
"all"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"issues",
|
|
"pulls"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Search issues",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "search",
|
|
"access": "read",
|
|
"name": "search_org_teams",
|
|
"description": "Search for teams within an organization by name, optionally including each team's description in the results.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"includeDescription": {
|
|
"type": "boolean"
|
|
},
|
|
"org": {
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"org",
|
|
"query"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Search organization teams",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "search",
|
|
"access": "read",
|
|
"name": "search_repos",
|
|
"description": "Search for repositories by keyword, with filters for topic/description matching, owner, visibility, archived status, and sort order.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"isArchived": {
|
|
"type": "boolean"
|
|
},
|
|
"isPrivate": {
|
|
"type": "boolean"
|
|
},
|
|
"keywordInDescription": {
|
|
"type": "boolean"
|
|
},
|
|
"keywordIsTopic": {
|
|
"type": "boolean"
|
|
},
|
|
"order": {
|
|
"type": "string"
|
|
},
|
|
"ownerID": {
|
|
"type": "number"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"sort": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Search repositories",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "search",
|
|
"access": "read",
|
|
"name": "search_users",
|
|
"description": "Search for Gitea users by username or full name.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Search users",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "tag",
|
|
"access": "read",
|
|
"name": "get_tag",
|
|
"description": "Get details for a single tag in a repository by name.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"tag_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"tag_name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get tag details",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "tag",
|
|
"access": "read",
|
|
"name": "list_tags",
|
|
"description": "List all tags in a repository, paginated.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 20,
|
|
"description": "results per page",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "List tags",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "tag",
|
|
"access": "write",
|
|
"name": "create_tag",
|
|
"description": "Create a new Git tag in a repository at a target commit, branch, or existing tag, with an optional annotation message.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"message": {
|
|
"description": "tag message",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"tag_name": {
|
|
"type": "string"
|
|
},
|
|
"target": {
|
|
"description": "commitish",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"tag_name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create a tag",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "tag",
|
|
"access": "write",
|
|
"name": "delete_tag",
|
|
"description": "Permanently delete a tag from a repository. This action is destructive and cannot be undone.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"tag_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"owner",
|
|
"repo",
|
|
"tag_name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Delete a tag",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "timetracking",
|
|
"access": "read",
|
|
"name": "timetracking_read",
|
|
"description": "Read time tracking: issue times, repo times, active stopwatches, your tracked times.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"issue_number": {
|
|
"description": "for 'list_issue_times'",
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"list_issue_times",
|
|
"list_repo_times",
|
|
"get_my_stopwatches",
|
|
"get_my_times"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "for list_* methods",
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
},
|
|
"repo": {
|
|
"description": "for list_* methods",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read tracked time",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "timetracking",
|
|
"access": "write",
|
|
"name": "timetracking_write",
|
|
"description": "Write time tracking: stopwatches and entries.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "entry ID (for 'delete_time')",
|
|
"type": "number"
|
|
},
|
|
"issue_number": {
|
|
"type": "number"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"start_stopwatch",
|
|
"stop_stopwatch",
|
|
"delete_stopwatch",
|
|
"add_time",
|
|
"delete_time"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"time": {
|
|
"description": "seconds (for 'add_time')",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"method"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Add or manage tracked time",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "user",
|
|
"access": "read",
|
|
"name": "get_me",
|
|
"description": "Get current user",
|
|
"inputSchema": {
|
|
"properties": {},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get current user information",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "user",
|
|
"access": "read",
|
|
"name": "get_user_orgs",
|
|
"description": "List current user's organizations",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"page": {
|
|
"default": 1,
|
|
"description": "page",
|
|
"type": "number"
|
|
},
|
|
"per_page": {
|
|
"default": 30,
|
|
"description": "results per page",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get user organizations",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "version",
|
|
"access": "read",
|
|
"name": "get_gitea_mcp_server_version",
|
|
"description": "Get the running version of the Gitea MCP Server itself (not the Gitea instance it connects to).",
|
|
"inputSchema": {
|
|
"properties": {},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Get server version",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "wiki",
|
|
"access": "read",
|
|
"name": "wiki_read",
|
|
"description": "Read wiki: list pages, get content, revision history.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"method": {
|
|
"enum": [
|
|
"list",
|
|
"get",
|
|
"get_revisions"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"pageName": {
|
|
"description": "for 'get'/'get_revisions'",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Read wiki pages",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
},
|
|
{
|
|
"scope": "wiki",
|
|
"access": "write",
|
|
"name": "wiki_write",
|
|
"description": "Write wiki pages: create, update, delete.",
|
|
"inputSchema": {
|
|
"properties": {
|
|
"content": {
|
|
"description": "for 'create'/'update'",
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"description": "commit message",
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"delete"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"description": "repo owner",
|
|
"type": "string"
|
|
},
|
|
"pageName": {
|
|
"description": "for 'update'/'delete'",
|
|
"type": "string"
|
|
},
|
|
"repo": {
|
|
"description": "repo name",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"description": "for 'create'",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"method",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"annotations": {
|
|
"title": "Create, update, or delete wiki pages",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
}
|
|
}
|
|
]
|