plugins/wasm-go/mcp-servers/mcp-github/mcp-server.yaml (1,024 lines of code) (raw):

server: name: github-mcp-server config: accessToken: "" tools: - name: create_or_update_file description: 在GitHub仓库创建或更新单个文件 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: path type: string required: true description: "Path where to create/update the file" - name: content type: string required: true description: "Content of the file" - name: message type: string required: true description: "Commit message" - name: branch type: string required: true description: "Branch to create/update the file in" - name: sha type: string required: false description: "SHA of the file being replaced (required when updating existing files)" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/contents/{{.args.path}}" method: PUT body: | { "message": "{{.args.message}}", "content": "{{.args.content | b64enc}}", "branch": "{{.args.branch}}", "sha": "{{.args.sha}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: search_repositories description: 搜索GitHub仓库 args: - name: query type: string required: true description: "Search query (see GitHub search syntax)" - name: page type: number required: false description: "Page number for pagination (default: 1)" - name: perPage type: number required: false description: "Number of results per page (default: 30, max: 100)" requestTemplate: url: "https://api.github.com/search/repositories?q={{.args.query}}&page={{.args.page}}&per_page={{.args.perPage}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: create_repository description: 在您的账户中创建新的GitHub仓库 args: - name: name type: string required: true description: "Repository name" - name: description type: string required: false description: "Repository description" - name: private type: boolean required: false description: "Whether the repository should be private" - name: autoInit type: boolean required: false description: "Initialize with README.md" requestTemplate: url: "https://api.github.com/user/repos" method: POST body: | { "name": "{{.args.name}}", "description": "{{.args.description}}", "private": {{.args.private}}, "auto_init": {{.args.autoInit}} } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_file_contents description: 从GitHub仓库获取文件或目录内容 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: path type: string required: true description: "Path to the file or directory" - name: branch type: string required: false description: "Branch to get contents from" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/contents/{{.args.path}}?ref={{.args.branch}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: push_files description: 在单个提交中推送多个文件到GitHub仓库 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: branch type: string required: true description: "Branch to push to (e.g., 'main' or 'master')" - name: files type: array items: type: object properties: path: type: string content: type: string required: true description: "Array of files to push" - name: message type: string required: true description: "Commit message" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/git/commits" method: POST body: | { "message": "{{.args.message}}", "tree": "{{.args.files | toJson}}", "parents": ["{{.args.branch}}"] } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: create_issue description: 在GitHub仓库创建新Issue args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: title type: string required: true description: "Issue title" - name: body type: string required: false description: "Issue description" - name: assignees type: array items: type: string required: false description: "Usernames to assign" - name: labels type: array items: type: string required: false description: "Labels to add" - name: milestone type: number required: false description: "Milestone number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/issues" method: POST body: | { "title": "{{.args.title}}", "body": "{{.args.body}}", "assignees": {{.args.assignees | toJson}}, "labels": {{.args.labels | toJson}}, "milestone": {{.args.milestone}} } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: create_pull_request description: 在GitHub仓库创建新的Pull Request args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: title type: string required: true description: "Pull request title" - name: body type: string required: false description: "Pull request body/description" - name: head type: string required: true description: "The name of the branch where your changes are implemented" - name: base type: string required: true description: "The name of the branch you want the changes pulled into" - name: draft type: boolean required: false description: "Whether to create the pull request as a draft" - name: maintainer_can_modify type: boolean required: false description: "Whether maintainers can modify the pull request" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls" method: POST body: | { "title": "{{.args.title}}", "body": "{{.args.body}}", "head": "{{.args.head}}", "base": "{{.args.base}}", "draft": {{.args.draft}}, "maintainer_can_modify": {{.args.maintainer_can_modify}} } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: fork_repository description: 将GitHub仓库fork到您的账户或指定组织 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: organization type: string required: false description: "Optional: organization to fork to (defaults to your personal account)" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/forks" method: POST body: | { "organization": "{{.args.organization}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: create_branch description: 在GitHub仓库创建新分支 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: branch type: string required: true description: "Name for the new branch" - name: from_branch type: string required: false description: "Optional: source branch to create from (defaults to the repository's default branch)" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/git/refs" method: POST body: | { "ref": "refs/heads/{{.args.branch}}", "sha": "{{.args.from_branch}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: list_commits description: 获取GitHub仓库分支的提交列表 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: page type: number required: false description: "Page number for pagination" - name: perPage type: number required: false description: "Number of results per page" - name: sha type: string required: false description: "Branch name" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/commits?page={{.args.page}}&per_page={{.args.perPage}}&sha={{.args.sha}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: list_issues description: 列出并过滤GitHub仓库的Issues args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: state type: string required: false description: "Filter by state ('open', 'closed', 'all')" - name: labels type: array items: type: string required: false description: "Filter by labels" - name: sort type: string required: false description: "Sort by ('created', 'updated', 'comments')" - name: direction type: string required: false description: "Sort direction ('asc', 'desc')" - name: since type: string required: false description: "Filter by date (ISO 8601 timestamp)" - name: page type: number required: false description: "Page number" - name: per_page type: number required: false description: "Results per page" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/issues?state={{.args.state}}&labels={{.args.labels | join ','}}&sort={{.args.sort}}&direction={{.args.direction}}&since={{.args.since}}&page={{.args.page}}&per_page={{.args.per_page}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: update_issue description: 更新GitHub仓库中的现有Issue args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: issue_number type: number required: true description: "Issue number to update" - name: title type: string required: false description: "New title" - name: body type: string required: false description: "New description" - name: state type: string required: false description: "New state ('open' or 'closed')" - name: labels type: array items: type: string required: false description: "New labels" - name: assignees type: array items: type: string required: false description: "New assignees" - name: milestone type: number required: false description: "New milestone number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/issues/{{.args.issue_number}}" method: PATCH body: | { "title": "{{.args.title}}", "body": "{{.args.body}}", "state": "{{.args.state}}", "labels": {{.args.labels | toJson}}, "assignees": {{.args.assignees | toJson}}, "milestone": {{.args.milestone}} } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: add_issue_comment description: 在GitHub Issue中添加评论 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: issue_number type: number required: true description: "Issue number to comment on" - name: body type: string required: true description: "Comment text" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/issues/{{.args.issue_number}}/comments" method: POST body: | { "body": "{{.args.body}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: search_code description: 在GitHub仓库中搜索代码 args: - name: q type: string required: true description: "Search query using GitHub code search syntax" - name: sort type: string required: false description: "Sort field ('indexed' only)" - name: order type: string required: false description: "Sort order ('asc' or 'desc')" - name: per_page type: number required: false description: "Results per page (max 100)" - name: page type: number required: false description: "Page number" requestTemplate: url: "https://api.github.com/search/code?q={{.args.q}}&sort={{.args.sort}}&order={{.args.order}}&per_page={{.args.per_page}}&page={{.args.page}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: search_issues description: 在GitHub仓库中搜索Issues和Pull Requests args: - name: q type: string required: true description: "Search query using GitHub issues search syntax" - name: sort type: string required: false description: "Sort field (comments, reactions, created, etc.)" - name: order type: string required: false description: "Sort order ('asc' or 'desc')" - name: per_page type: number required: false description: "Results per page (max 100)" - name: page type: number required: false description: "Page number" requestTemplate: url: "https://api.github.com/search/issues?q={{.args.q}}&sort={{.args.sort}}&order={{.args.order}}&per_page={{.args.per_page}}&page={{.args.page}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: search_users description: 在GitHub中搜索用户 args: - name: q type: string required: true description: "Search query using GitHub users search syntax" - name: sort type: string required: false description: "Sort field (followers, repositories, joined)" - name: order type: string required: false description: "Sort order ('asc' or 'desc')" - name: per_page type: number required: false description: "Results per page (max 100)" - name: page type: number required: false description: "Page number" requestTemplate: url: "https://api.github.com/search/users?q={{.args.q}}&sort={{.args.sort}}&order={{.args.order}}&per_page={{.args.per_page}}&page={{.args.page}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_issue description: 获取GitHub仓库中特定Issue的详细信息 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: issue_number type: number required: true description: "Issue number to retrieve" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/issues/{{.args.issue_number}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_pull_request description: 获取GitHub仓库中特定Pull Request的详细信息 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: list_pull_requests description: 列出并过滤GitHub仓库的Pull Requests args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: state type: string required: false description: "State of the pull requests to return" - name: head type: string required: false description: "Filter by head user or head organization and branch name" - name: base type: string required: false description: "Filter by base branch name" - name: sort type: string required: false description: "What to sort results by" - name: direction type: string required: false description: "The direction of the sort" - name: per_page type: number required: false description: "Results per page (max 100)" - name: page type: number required: false description: "Page number of the results" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls?state={{.args.state}}&head={{.args.head}}&base={{.args.base}}&sort={{.args.sort}}&direction={{.args.direction}}&per_page={{.args.per_page}}&page={{.args.page}}" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: create_pull_request_review description: 在GitHub Pull Request上创建review args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" - name: commit_id type: string required: false description: "The SHA of the commit that needs a review" - name: body type: string required: true description: "The body text of the review" - name: event type: string required: true description: "The review action to perform" - name: comments type: array items: type: object properties: path: type: string description: "The relative path to the file being commented on" position: type: number description: "The position in the diff where you want to add a review comment" body: type: string description: "Text of the review comment" required: false description: "Comments to post as part of the review (specify either position or line, not both)" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/reviews" method: POST body: | { "body": "{{.args.body}}", "event": "{{.args.event}}", "commit_id": "{{.args.commit_id}}", "comments": {{.args.comments | toJson}} } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: merge_pull_request description: 合并GitHub Pull Request args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" - name: commit_title type: string required: false description: "Title for the automatic commit message" - name: commit_message type: string required: false description: "Extra detail to append to automatic commit message" - name: merge_method type: string required: false description: "Merge method to use" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/merge" method: PUT body: | { "commit_title": "{{.args.commit_title}}", "commit_message": "{{.args.commit_message}}", "merge_method": "{{.args.merge_method}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_pull_request_files description: 获取GitHub Pull Request中更改的文件列表 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/files" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_pull_request_status description: 获取GitHub Pull Request的状态检查结果 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/status" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: update_pull_request_branch description: 使用base分支的最新更改更新Pull Request分支 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" - name: expected_head_sha type: string required: false description: "The expected SHA of the pull request's HEAD ref" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/update-branch" method: PUT body: | { "expected_head_sha": "{{.args.expected_head_sha}}" } headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_pull_request_comments description: 获取GitHub Pull Request的review评论 args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/comments" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp" - name: get_pull_request_reviews description: 获取GitHub Pull Request的reviews args: - name: owner type: string required: true description: "Repository owner (username or organization)" - name: repo type: string required: true description: "Repository name" - name: pull_number type: number required: true description: "Pull request number" requestTemplate: url: "https://api.github.com/repos/{{.args.owner}}/{{.args.repo}}/pulls/{{.args.pull_number}}/reviews" method: GET headers: - key: Authorization value: "Bearer {{.config.accessToken}}" - key: Accept value: "application/vnd.github+json" - key: X-GitHub-Api-Version value: "2022-11-28" - key: User-Agent value: "higress-mcp"