Skip to content
Closed
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
94 changes: 82 additions & 12 deletions README.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/remote-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ The remote server has [additional tools](#toolsets-only-available-in-the-remote-
Below is a table of available toolsets for the remote GitHub MCP Server. Each toolset is provided as a distinct URL so you can mix and match to create the perfect combination of tools for your use-case. Add `/readonly` to the end of any URL to restrict the tools in the toolset to only those that enable read access. We also provide the option to use [headers](#headers) instead.

<!-- START AUTOMATED TOOLSETS -->

| Name | Description | API URL | 1-Click Install (VS Code) | Read-only Link | 1-Click Read-only Install (VS Code) |
|----------------|--------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| all | All available GitHub MCP tools | https://api.githubcopilot.com/mcp/ | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D) | [read-only](https://api.githubcopilot.com/mcp/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Freadonly%22%7D) |
Expand Down Expand Up @@ -50,5 +51,6 @@ These toolsets are only available in the remote GitHub MCP Server and are not in
You can configure toolsets and readonly mode by providing HTTP headers in your server configuration.

The headers are:

- `X-MCP-Toolsets=<toolset>,<toolset>...`
- `X-MCP-Readonly=true`
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
Loading