Skip to content

Commit 8f5488e

Browse files
committed
Merge branch 'main' into omgitsads/go-sdk
2 parents 7e19170 + 3e1fca0 commit 8f5488e

File tree

16 files changed

+240
-34
lines changed

16 files changed

+240
-34
lines changed

.github/workflows/code-scanning.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
runner: '["ubuntu-22.04"]'
3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v5
38+
uses: actions/checkout@v6
3939

4040
- name: Initialize CodeQL
4141
uses: github/codeql-action/init@v4

.github/workflows/docker-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040

4141
steps:
4242
- name: Checkout repository
43-
uses: actions/checkout@v5
43+
uses: actions/checkout@v6
4444

4545
# Install the cosign tool except on PR
4646
# https://github.com/sigstore/cosign-installer

.github/workflows/docs-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v5
17+
uses: actions/checkout@v6
1818

1919
- name: Set up Go
2020
uses: actions/setup-go@v6

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515

1616
steps:
1717
- name: Check out code
18-
uses: actions/checkout@v5
18+
uses: actions/checkout@v6
1919

2020
- name: Set up Go
2121
uses: actions/setup-go@v6

.github/workflows/goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- name: Check out code
17-
uses: actions/checkout@v5
17+
uses: actions/checkout@v6
1818

1919
- name: Set up Go
2020
uses: actions/setup-go@v6

.github/workflows/license-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111

1212
steps:
1313
- name: Check out code
14-
uses: actions/checkout@v5
14+
uses: actions/checkout@v6
1515

1616
- name: Set up Go
1717
uses: actions/setup-go@v6

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
name: lint
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@v6
1717
- uses: actions/setup-go@v6
1818
with:
1919
go-version: stable

.github/workflows/moderator.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
models: read
1717
contents: read
1818
steps:
19-
- uses: actions/checkout@v5
19+
- uses: actions/checkout@v6
2020
- uses: github/ai-moderator@v1
2121
with:
2222
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/registry-releaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v5
17+
uses: actions/checkout@v6
1818

1919
- name: Setup Go
2020
uses: actions/setup-go@v6

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,38 @@ To specify toolsets you want available to the LLM, you can pass an allow-list in
345345

346346
The environment variable `GITHUB_TOOLSETS` takes precedence over the command line argument if both are provided.
347347

348+
#### Specifying Individual Tools
349+
350+
You can also configure specific tools using the `--tools` flag. Tools can be used independently or combined with toolsets and dynamic toolsets discovery for fine-grained control.
351+
352+
1. **Using Command Line Argument**:
353+
354+
```bash
355+
github-mcp-server --tools get_file_contents,issue_read,create_pull_request
356+
```
357+
358+
2. **Using Environment Variable**:
359+
```bash
360+
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
361+
```
362+
363+
3. **Combining with Toolsets** (additive):
364+
```bash
365+
github-mcp-server --toolsets repos,issues --tools get_gist
366+
```
367+
This registers all tools from `repos` and `issues` toolsets, plus `get_gist`.
368+
369+
4. **Combining with Dynamic Toolsets** (additive):
370+
```bash
371+
github-mcp-server --tools get_file_contents --dynamic-toolsets
372+
```
373+
This registers `get_file_contents` plus the dynamic toolset tools (`enable_toolset`, `list_available_toolsets`, `get_toolset_tools`).
374+
375+
**Important Notes:**
376+
- Tools, toolsets, and dynamic toolsets can all be used together
377+
- Read-only mode takes priority: write tools are skipped if `--read-only` is set, even if explicitly requested via `--tools`
378+
- Tool names must match exactly (e.g., `get_file_contents`, not `getFileContents`). Invalid tool names will cause the server to fail at startup with an error message
379+
348380
### Using Toolsets With Docker
349381

350382
When using Docker, you can pass the toolsets as environment variables:
@@ -356,6 +388,25 @@ docker run -i --rm \
356388
ghcr.io/github/github-mcp-server
357389
```
358390

391+
### Using Tools With Docker
392+
393+
When using Docker, you can pass specific tools as environment variables. You can also combine tools with toolsets:
394+
395+
```bash
396+
# Tools only
397+
docker run -i --rm \
398+
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
399+
-e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
400+
ghcr.io/github/github-mcp-server
401+
402+
# Tools combined with toolsets (additive)
403+
docker run -i --rm \
404+
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
405+
-e GITHUB_TOOLSETS="repos,issues" \
406+
-e GITHUB_TOOLS="get_gist" \
407+
ghcr.io/github/github-mcp-server
408+
```
409+
359410
### Special toolsets
360411

361412
#### "all" toolset

0 commit comments

Comments
 (0)