Skip to content

Commit c25338e

Browse files
Merge branch 'main' into tommy/inventory-instructions
2 parents e76cc8e + e559a36 commit c25338e

File tree

8 files changed

+628
-178
lines changed

8 files changed

+628
-178
lines changed

.github/workflows/conformance.yml

Lines changed: 0 additions & 69 deletions
This file was deleted.

.github/workflows/mcp-diff.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: MCP Server Diff
2+
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
mcp-diff:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Check out code
15+
uses: actions/checkout@v6
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Run MCP Server Diff
20+
uses: SamMorrowDrums/mcp-server-diff@v2
21+
with:
22+
setup_go: "true"
23+
install_command: go mod download
24+
start_command: go run ./cmd/github-mcp-server stdio
25+
env_vars: |
26+
GITHUB_PERSONAL_ACCESS_TOKEN=test-token
27+
configurations: |
28+
[
29+
{"name": "default", "args": ""},
30+
{"name": "read-only", "args": "--read-only"},
31+
{"name": "dynamic-toolsets", "args": "--dynamic-toolsets"},
32+
{"name": "read-only+dynamic", "args": "--read-only --dynamic-toolsets"},
33+
{"name": "toolsets-repos", "args": "--toolsets=repos"},
34+
{"name": "toolsets-issues", "args": "--toolsets=issues"},
35+
{"name": "toolsets-pull_requests", "args": "--toolsets=pull_requests"},
36+
{"name": "toolsets-repos,issues", "args": "--toolsets=repos,issues"},
37+
{"name": "toolsets-all", "args": "--toolsets=all"},
38+
{"name": "tools-get_me", "args": "--tools=get_me"},
39+
{"name": "tools-get_me,list_issues", "args": "--tools=get_me,list_issues"},
40+
{"name": "toolsets-repos+read-only", "args": "--toolsets=repos --read-only"},
41+
{"name": "toolsets-all+dynamic", "args": "--toolsets=all --dynamic-toolsets"},
42+
{"name": "toolsets-repos+dynamic", "args": "--toolsets=repos --dynamic-toolsets"},
43+
{"name": "toolsets-repos,issues+dynamic", "args": "--toolsets=repos,issues --dynamic-toolsets"},
44+
{
45+
"name": "dynamic-tool-calls",
46+
"args": "--dynamic-toolsets",
47+
"custom_messages": [
48+
{"id": 10, "name": "list_toolsets_before", "message": {"jsonrpc": "2.0", "id": 10, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}},
49+
{"id": 11, "name": "get_toolset_tools", "message": {"jsonrpc": "2.0", "id": 11, "method": "tools/call", "params": {"name": "get_toolset_tools", "arguments": {"toolset": "repos"}}}},
50+
{"id": 12, "name": "enable_toolset", "message": {"jsonrpc": "2.0", "id": 12, "method": "tools/call", "params": {"name": "enable_toolset", "arguments": {"toolset": "repos"}}}},
51+
{"id": 13, "name": "list_toolsets_after", "message": {"jsonrpc": "2.0", "id": 13, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}}
52+
]
53+
}
54+
]
55+
56+
- name: Add interpretation note
57+
if: always()
58+
run: |
59+
echo "" >> $GITHUB_STEP_SUMMARY
60+
echo "---" >> $GITHUB_STEP_SUMMARY
61+
echo "" >> $GITHUB_STEP_SUMMARY
62+
echo "ℹ️ **Note:** Differences may be intentional improvements." >> $GITHUB_STEP_SUMMARY
63+
echo "" >> $GITHUB_STEP_SUMMARY
64+
echo "Common expected differences:" >> $GITHUB_STEP_SUMMARY
65+
echo "- New tools/toolsets added" >> $GITHUB_STEP_SUMMARY
66+
echo "- Tool descriptions updated" >> $GITHUB_STEP_SUMMARY
67+
echo "- Capability changes (intentional improvements)" >> $GITHUB_STEP_SUMMARY

pkg/github/__toolsnaps__/projects_get.snap

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"type": "string"
3232
},
3333
"owner": {
34-
"description": "If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive.",
34+
"description": "The owner (user or organization login). The name is not case sensitive.",
3535
"type": "string"
3636
},
3737
"owner_type": {
38-
"description": "Owner type",
38+
"description": "Owner type (user or org). If not provided, will be automatically detected.",
3939
"enum": [
4040
"user",
4141
"org"
@@ -49,7 +49,6 @@
4949
},
5050
"required": [
5151
"method",
52-
"owner_type",
5352
"owner",
5453
"project_number"
5554
],

pkg/github/__toolsnaps__/projects_list.snap

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"type": "string"
3232
},
3333
"owner": {
34-
"description": "If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive.",
34+
"description": "The owner (user or organization login). The name is not case sensitive.",
3535
"type": "string"
3636
},
3737
"owner_type": {
38-
"description": "Owner type",
38+
"description": "Owner type (user or org). If not provided, will automatically try both.",
3939
"enum": [
4040
"user",
4141
"org"
@@ -57,7 +57,6 @@
5757
},
5858
"required": [
5959
"method",
60-
"owner_type",
6160
"owner"
6261
],
6362
"type": "object"

pkg/github/__toolsnaps__/projects_write.snap

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,22 @@
66
"description": "Add, update, or delete project items in a GitHub Project.",
77
"inputSchema": {
88
"properties": {
9+
"issue_number": {
10+
"description": "The issue number (use when item_type is 'issue' for 'add_project_item' method). Provide either issue_number or pull_request_number.",
11+
"type": "number"
12+
},
913
"item_id": {
10-
"description": "The project item ID. Required for 'update_project_item' and 'delete_project_item' methods. For add_project_item, this is the numeric ID of the issue or pull request to add.",
14+
"description": "The project item ID. Required for 'update_project_item' and 'delete_project_item' methods.",
1115
"type": "number"
1216
},
17+
"item_owner": {
18+
"description": "The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method.",
19+
"type": "string"
20+
},
21+
"item_repo": {
22+
"description": "The name of the repository containing the issue or pull request. Required for 'add_project_item' method.",
23+
"type": "string"
24+
},
1325
"item_type": {
1426
"description": "The item's type, either issue or pull_request. Required for 'add_project_item' method.",
1527
"enum": [
@@ -28,11 +40,11 @@
2840
"type": "string"
2941
},
3042
"owner": {
31-
"description": "If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive.",
43+
"description": "The project owner (user or organization login). The name is not case sensitive.",
3244
"type": "string"
3345
},
3446
"owner_type": {
35-
"description": "Owner type",
47+
"description": "Owner type (user or org). If not provided, will be automatically detected.",
3648
"enum": [
3749
"user",
3850
"org"
@@ -43,14 +55,17 @@
4355
"description": "The project's number.",
4456
"type": "number"
4557
},
58+
"pull_request_number": {
59+
"description": "The pull request number (use when item_type is 'pull_request' for 'add_project_item' method). Provide either issue_number or pull_request_number.",
60+
"type": "number"
61+
},
4662
"updated_field": {
4763
"description": "Object consisting of the ID of the project field to update and the new value for the field. To clear the field, set value to null. Example: {\"id\": 123456, \"value\": \"New Value\"}. Required for 'update_project_item' method.",
4864
"type": "object"
4965
}
5066
},
5167
"required": [
5268
"method",
53-
"owner_type",
5469
"owner",
5570
"project_number"
5671
],

pkg/github/minimal_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ type MinimalProject struct {
131131
Number *int `json:"number,omitempty"`
132132
ShortDescription *string `json:"short_description,omitempty"`
133133
DeletedBy *MinimalUser `json:"deleted_by,omitempty"`
134+
OwnerType string `json:"owner_type,omitempty"`
134135
}
135136

136137
// Helper functions

0 commit comments

Comments
 (0)