Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support project tools #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
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
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ The following sets of tools are available (all are on by default):
| `issues` | Issue-related tools (create, read, update, comment) |
| `notifications` | GitHub Notifications related tools |
| `pull_requests` | Pull request operations (create, merge, review) |
| `projects` | Manage GitHub Projects V2 |
| `repos` | Repository-related tools (file operations, branches, commits) |
| `secret_protection` | Secret protection related tools, such as GitHub Secret Scanning |
| `users` | Anything relating to GitHub Users |
Expand Down Expand Up @@ -640,6 +641,47 @@ export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description
- `pullNumber`: Pull request number (number, required)
- _Note_: Currently, this tool will only work for github.com

### Projects

- **list_projects** - List projects for a user or organization
- `owner`: Owner login (string, required)
- `owner_type`: Owner type ('user' or 'organization', optional)

- **get_project_fields** - Get fields for a project
- `owner`: Owner login (string, required)
- `owner_type`: Owner type ('user' or 'organization', optional)
- `number`: Project number (number, required)

- **get_project_items** - Get items for a project
- `owner`: Owner login (string, required)
- `owner_type`: Owner type ('user' or 'organization', optional)
- `number`: Project number (number, required)

- **create_project_issue** - Create a new issue in a repository
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `title`: Issue title (string, required)
- `body`: Issue body (string, optional)

- **add_issue_to_project** - Add an issue to a project
- `project_id`: Project node ID (string, required)
- `issue_id`: Issue node ID (string, required)

- **update_project_item_field** - Update a project item field value
- `project_id`: Project node ID (string, required)
- `item_id`: Item node ID (string, required)
- `field_id`: Field node ID (string, required)
- `text_value`: New text value (string, optional)

- **create_draft_issue** - Create a draft issue in a project
- `project_id`: Project node ID (string, required)
- `title`: Draft issue title (string, required)
- `body`: Draft issue body (string, optional)

- **delete_project_item** - Delete an item from a project
- `project_id`: Project node ID (string, required)
- `item_id`: Item node ID (string, required)

### Repositories

- **create_or_update_file** - Create or update a single file in a repository
Expand Down
1 change: 1 addition & 0 deletions docs/remote-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Below is a table of available toolsets for the remote GitHub MCP Server. Each to
| issues | GitHub Issues related tools | https://api.githubcopilot.com/mcp/x/issues | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-issues&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fissues%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/issues/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-issues&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fissues%2Freadonly%22%7D) |
| notifications | GitHub Notifications related tools | https://api.githubcopilot.com/mcp/x/notifications | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-notifications&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fnotifications%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/notifications/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-notifications&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fnotifications%2Freadonly%22%7D)|
| pull_requests | GitHub Pull Request related tools | https://api.githubcopilot.com/mcp/x/pull_requests | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-pull_requests&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fpull_requests%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/pull_requests/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-pull_requests&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fpull_requests%2Freadonly%22%7D)|
| projects | Manage GitHub Projects V2 | https://api.githubcopilot.com/mcp/x/projects | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-projects&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fprojects%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/projects/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-projects&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fprojects%2Freadonly%22%7D)|
| repos | GitHub Repository related tools | https://api.githubcopilot.com/mcp/x/repos | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-repos&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Frepos%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/repos/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-repos&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Frepos%2Freadonly%22%7D) |
| secret_protection | Secret protection related tools, e.g. Secret Scanning | https://api.githubcopilot.com/mcp/x/secret_protection | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-secret_protection&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fsecret_protection%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/secret_protection/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-secret_protection&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fsecret_protection%2Freadonly%22%7D)|
| users | GitHub User related tools | https://api.githubcopilot.com/mcp/x/users | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-users&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fusers%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/users/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-users&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fusers%2Freadonly%22%7D) |
Expand Down
25 changes: 25 additions & 0 deletions pkg/github/__toolsnaps__/add_issue_to_project.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"annotations": {
"title": "Add issue to project",
"readOnlyHint": false
},
"description": "Add an issue to a project",
"inputSchema": {
"properties": {
"issue_id": {
"description": "Issue node ID",
"type": "string"
},
"project_id": {
"description": "Project ID",
"type": "string"
}
},
"required": [
"project_id",
"issue_id"
],
"type": "object"
},
"name": "add_issue_to_project"
}
29 changes: 29 additions & 0 deletions pkg/github/__toolsnaps__/create_draft_issue.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"annotations": {
"title": "Create draft issue",
"readOnlyHint": false
},
"description": "Create a draft issue in a project",
"inputSchema": {
"properties": {
"body": {
"description": "Issue body",
"type": "string"
},
"project_id": {
"description": "Project ID",
"type": "string"
},
"title": {
"description": "Issue title",
"type": "string"
}
},
"required": [
"project_id",
"title"
],
"type": "object"
},
"name": "create_draft_issue"
}
34 changes: 34 additions & 0 deletions pkg/github/__toolsnaps__/create_project_issue.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"annotations": {
"title": "Create issue",
"readOnlyHint": false
},
"description": "Create a new issue",
"inputSchema": {
"properties": {
"body": {
"description": "Issue body",
"type": "string"
},
"owner": {
"description": "Repository owner",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
},
"title": {
"description": "Issue title",
"type": "string"
}
},
"required": [
"owner",
"repo",
"title"
],
"type": "object"
},
"name": "create_project_issue"
}
25 changes: 25 additions & 0 deletions pkg/github/__toolsnaps__/delete_project_item.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"annotations": {
"title": "Delete project item",
"readOnlyHint": false
},
"description": "Delete a project item",
"inputSchema": {
"properties": {
"item_id": {
"description": "Item ID",
"type": "string"
},
"project_id": {
"description": "Project ID",
"type": "string"
}
},
"required": [
"project_id",
"item_id"
],
"type": "object"
},
"name": "delete_project_item"
}
33 changes: 33 additions & 0 deletions pkg/github/__toolsnaps__/get_project_fields.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"annotations": {
"title": "Get project fields",
"readOnlyHint": true
},
"description": "Get fields for a project",
"inputSchema": {
"properties": {
"number": {
"description": "Project number",
"type": "number"
},
"owner": {
"description": "Owner login",
"type": "string"
},
"owner_type": {
"description": "Owner type",
"enum": [
"user",
"organization"
],
"type": "string"
}
},
"required": [
"owner",
"number"
],
"type": "object"
},
"name": "get_project_fields"
}
33 changes: 33 additions & 0 deletions pkg/github/__toolsnaps__/get_project_items.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"annotations": {
"title": "Get project items",
"readOnlyHint": true
},
"description": "Get items for a project",
"inputSchema": {
"properties": {
"number": {
"description": "Project number",
"type": "number"
},
"owner": {
"description": "Owner login",
"type": "string"
},
"owner_type": {
"description": "Owner type",
"enum": [
"user",
"organization"
],
"type": "string"
}
},
"required": [
"owner",
"number"
],
"type": "object"
},
"name": "get_project_items"
}
28 changes: 28 additions & 0 deletions pkg/github/__toolsnaps__/list_projects.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"annotations": {
"title": "List projects",
"readOnlyHint": true
},
"description": "List Projects for a user or organization",
"inputSchema": {
"properties": {
"owner": {
"description": "Owner login (user or organization)",
"type": "string"
},
"owner_type": {
"description": "Owner type",
"enum": [
"user",
"organization"
],
"type": "string"
}
},
"required": [
"owner"
],
"type": "object"
},
"name": "list_projects"
}
34 changes: 34 additions & 0 deletions pkg/github/__toolsnaps__/update_project_item_field.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"annotations": {
"title": "Update project item field",
"readOnlyHint": false
},
"description": "Update a project item field",
"inputSchema": {
"properties": {
"field_id": {
"description": "Field ID",
"type": "string"
},
"item_id": {
"description": "Item ID",
"type": "string"
},
"project_id": {
"description": "Project ID",
"type": "string"
},
"text_value": {
"description": "Text value",
"type": "string"
}
},
"required": [
"project_id",
"item_id",
"field_id"
],
"type": "object"
},
"name": "update_project_item_field"
}
Loading