Skip to content

Commit 838148f

Browse files
Merge pull request #133 from mneuhaus/feat/my-issues-and-project-members
feat: add my_issues and list_project_members tools
2 parents 23421fe + a2ce20f commit 838148f

File tree

3 files changed

+258
-70
lines changed

3 files changed

+258
-70
lines changed

README.md

Lines changed: 74 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ When using with the Claude App, you need to set up your API key and URLs directl
2525
"env": {
2626
"GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
2727
"GITLAB_API_URL": "your_gitlab_api_url",
28+
"GITLAB_PROJECT_ID": "your_project_id", // Optional: default project
29+
"GITLAB_ALLOWED_PROJECT_IDS": "", // Optional: comma-separated list of allowed project IDs
2830
"GITLAB_READ_ONLY_MODE": "false",
2931
"USE_GITLAB_WIKI": "false", // use wiki api?
3032
"USE_MILESTONE": "false", // use milestone api?
@@ -168,6 +170,9 @@ $ sh scripts/image_push.sh docker_user_name
168170
- `GITLAB_PERSONAL_ACCESS_TOKEN`: Your GitLab personal access token.
169171
- `GITLAB_API_URL`: Your GitLab API URL. (Default: `https://gitlab.com/api/v4`)
170172
- `GITLAB_PROJECT_ID`: Default project ID. If set, Overwrite this value when making an API request.
173+
- `GITLAB_ALLOWED_PROJECT_IDS`: Optional comma-separated list of allowed project IDs. When set with a single value, acts as a default project (like the old "lock" mode). When set with multiple values, restricts access to only those projects. Examples:
174+
- Single value `123`: MCP server can only access project 123 and uses it as default
175+
- Multiple values `123,456,789`: MCP server can access projects 123, 456, and 789 but requires explicit project ID in requests
171176
- `GITLAB_READ_ONLY_MODE`: When set to 'true', restricts the server to only expose read-only operations. Useful for enhanced security or when write access is not needed. Also useful for using with Cursor and it's 40 tool limit.
172177
- `USE_GITLAB_WIKI`: When set to 'true', enables the wiki-related tools (list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page). By default, wiki features are disabled.
173178
- `USE_MILESTONE`: When set to 'true', enables the milestone-related tools (list_milestones, get_milestone, create_milestone, edit_milestone, delete_milestone, get_milestone_issue, get_milestone_merge_requests, promote_milestone, get_milestone_burndown_events). By default, milestone features are disabled.
@@ -181,72 +186,73 @@ $ sh scripts/image_push.sh docker_user_name
181186
## Tools 🛠️
182187

183188
+<!-- TOOLS-START -->
184-
185-
1. `create_or_update_file` - Create or update a single file in a GitLab project
186-
2. `search_repositories` - Search for GitLab projects
187-
3. `create_repository` - Create a new GitLab project
188-
4. `get_file_contents` - Get the contents of a file or directory from a GitLab project
189-
5. `push_files` - Push multiple files to a GitLab project in a single commit
190-
6. `create_issue` - Create a new issue in a GitLab project
191-
7. `create_merge_request` - Create a new merge request in a GitLab project
192-
8. `fork_repository` - Fork a GitLab project to your account or specified namespace
193-
9. `create_branch` - Create a new branch in a GitLab project
194-
10. `get_merge_request` - Get details of a merge request (Either mergeRequestIid or branchName must be provided)
195-
11. `get_merge_request_diffs` - Get the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
196-
12. `list_merge_request_diffs` - List merge request diffs with pagination support (Either mergeRequestIid or branchName must be provided)
197-
13. `get_branch_diffs` - Get the changes/diffs between two branches or commits in a GitLab project
198-
14. `update_merge_request` - Update a merge request (Either mergeRequestIid or branchName must be provided)
199-
15. `create_note` - Create a new note (comment) to an issue or merge request
200-
16. `create_merge_request_thread` - Create a new thread on a merge request
201-
17. `mr_discussions` - List discussion items for a merge request
202-
18. `update_merge_request_note` - Modify an existing merge request thread note
203-
19. `create_merge_request_note` - Add a new note to an existing merge request thread
204-
20. `update_issue_note` - Modify an existing issue thread note
205-
21. `create_issue_note` - Add a new note to an existing issue thread
206-
22. `list_issues` - List issues in a GitLab project with filtering options
207-
23. `get_issue` - Get details of a specific issue in a GitLab project
208-
24. `update_issue` - Update an issue in a GitLab project
209-
25. `delete_issue` - Delete an issue from a GitLab project
210-
26. `list_issue_links` - List all issue links for a specific issue
211-
27. `list_issue_discussions` - List discussions for an issue in a GitLab project
212-
28. `get_issue_link` - Get a specific issue link
213-
29. `create_issue_link` - Create an issue link between two issues
214-
30. `delete_issue_link` - Delete an issue link
215-
31. `list_namespaces` - List all namespaces available to the current user
216-
32. `get_namespace` - Get details of a namespace by ID or path
217-
33. `verify_namespace` - Verify if a namespace path exists
218-
34. `get_project` - Get details of a specific project
219-
35. `list_projects` - List projects accessible by the current user
220-
36. `list_labels` - List labels for a project
221-
37. `get_label` - Get a single label from a project
222-
38. `create_label` - Create a new label in a project
223-
39. `update_label` - Update an existing label in a project
224-
40. `delete_label` - Delete a label from a project
225-
41. `list_group_projects` - List projects in a GitLab group with filtering options
226-
42. `list_wiki_pages` - List wiki pages in a GitLab project
227-
43. `get_wiki_page` - Get details of a specific wiki page
228-
44. `create_wiki_page` - Create a new wiki page in a GitLab project
229-
45. `update_wiki_page` - Update an existing wiki page in a GitLab project
230-
46. `delete_wiki_page` - Delete a wiki page from a GitLab project
231-
47. `get_repository_tree` - Get the repository tree for a GitLab project (list files and directories)
232-
48. `list_pipelines` - List pipelines in a GitLab project with filtering options
233-
49. `get_pipeline` - Get details of a specific pipeline in a GitLab project
234-
50. `list_pipeline_jobs` - List all jobs in a specific pipeline
235-
51. `list_pipeline_trigger_jobs` - List all trigger jobs (bridges) in a specific pipeline that trigger downstream pipelines
236-
52. `get_pipeline_job` - Get details of a GitLab pipeline job number
237-
53. `get_pipeline_job_output` - Get the output/trace of a GitLab pipeline job number
238-
54. `create_pipeline` - Create a new pipeline for a branch or tag
239-
55. `retry_pipeline` - Retry a failed or canceled pipeline
240-
56. `cancel_pipeline` - Cancel a running pipeline
241-
57. `list_merge_requests` - List merge requests in a GitLab project with filtering options
242-
58. `list_milestones` - List milestones in a GitLab project with filtering options
243-
59. `get_milestone` - Get details of a specific milestone
244-
60. `create_milestone` - Create a new milestone in a GitLab project
245-
61. `edit_milestone` - Edit an existing milestone in a GitLab project
246-
62. `delete_milestone` - Delete a milestone from a GitLab project
247-
63. `get_milestone_issue` - Get issues associated with a specific milestone
248-
64. `get_milestone_merge_requests` - Get merge requests associated with a specific milestone
249-
65. `promote_milestone` - Promote a milestone to the next stage
250-
66. `get_milestone_burndown_events` - Get burndown events for a specific milestone
251-
67. `get_users` - Get GitLab user details by usernames
189+
`verify_namespace` - Verify if a namespace path exists
190+
`update_wiki_page` - Update an existing wiki page in a GitLab project
191+
`update_merge_request` - Update a merge request (Either mergeRequestIid or branchName must be provided)
192+
`update_merge_request_note` - Modify an existing merge request thread note
193+
`update_label` - Update an existing label in a project
194+
`update_issue` - Update an issue in a GitLab project
195+
`update_issue_note` - Modify an existing issue thread note
196+
`search_repositories` - Search for GitLab projects
197+
`retry_pipeline` - Retry a failed or canceled pipeline
198+
`push_files` - Push multiple files to a GitLab project in a single commit
199+
`promote_milestone` - Promote a milestone to the next stage
200+
`my_issues` - List issues assigned to the authenticated user
201+
`mr_discussions` - List discussion items for a merge request
202+
`list_wiki_pages` - List wiki pages in a GitLab project
203+
`list_projects` - List projects accessible by the current user
204+
`list_project_members` - List members of a GitLab project
205+
`list_pipelines` - List pipelines in a GitLab project with filtering options
206+
`list_pipeline_trigger_jobs` - List all trigger jobs (bridges) in a specific pipeline that trigger downstream pipelines
207+
`list_pipeline_jobs` - List all jobs in a specific pipeline
208+
`list_namespaces` - List all namespaces available to the current user
209+
`list_milestones` - List milestones in a GitLab project with filtering options
210+
`list_merge_requests` - List merge requests in a GitLab project with filtering options
211+
`list_merge_request_diffs` - List merge request diffs with pagination support (Either mergeRequestIid or branchName must be provided)
212+
`list_labels` - List labels for a project
213+
`list_issues` - List issues in a GitLab project with filtering options
214+
`list_issue_links` - List all issue links for a specific issue
215+
`list_issue_discussions` - List discussions for an issue in a GitLab project
216+
`list_group_projects` - List projects in a GitLab group with filtering options
217+
`get_wiki_page` - Get details of a specific wiki page
218+
`get_users` - Get GitLab user details by usernames
219+
`get_repository_tree` - Get the repository tree for a GitLab project (list files and directories)
220+
`get_project` - Get details of a specific project
221+
`get_pipeline` - Get details of a specific pipeline in a GitLab project
222+
`get_pipeline_job` - Get details of a GitLab pipeline job number
223+
`get_pipeline_job_output` - Get the output/trace of a GitLab pipeline job number
224+
`get_namespace` - Get details of a namespace by ID or path
225+
`get_milestone` - Get details of a specific milestone
226+
`get_milestone_merge_requests` - Get merge requests associated with a specific milestone
227+
`get_milestone_issue` - Get issues associated with a specific milestone
228+
`get_milestone_burndown_events` - Get burndown events for a specific milestone
229+
`get_merge_request` - Get details of a merge request (Either mergeRequestIid or branchName must be provided)
230+
`get_merge_request_diffs` - Get the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
231+
`get_label` - Get a single label from a project
232+
`get_issue` - Get details of a specific issue in a GitLab project
233+
`get_issue_link` - Get a specific issue link
234+
`get_file_contents` - Get the contents of a file or directory from a GitLab project
235+
`get_branch_diffs` - Get the changes/diffs between two branches or commits in a GitLab project
236+
`fork_repository` - Fork a GitLab project to your account or specified namespace
237+
`edit_milestone` - Edit an existing milestone in a GitLab project
238+
`delete_wiki_page` - Delete a wiki page from a GitLab project
239+
`delete_milestone` - Delete a milestone from a GitLab project
240+
`delete_label` - Delete a label from a project
241+
`delete_issue` - Delete an issue from a GitLab project
242+
`delete_issue_link` - Delete an issue link
243+
`create_wiki_page` - Create a new wiki page in a GitLab project
244+
`create_repository` - Create a new GitLab project
245+
`create_pipeline` - Create a new pipeline for a branch or tag
246+
`create_or_update_file` - Create or update a single file in a GitLab project
247+
`create_note` - Create a new note (comment) to an issue or merge request
248+
`create_milestone` - Create a new milestone in a GitLab project
249+
`create_merge_request` - Create a new merge request in a GitLab project
250+
`create_merge_request_thread` - Create a new thread on a merge request
251+
`create_merge_request_note` - Add a new note to an existing merge request thread
252+
`create_label` - Create a new label in a project
253+
`create_issue` - Create a new issue in a GitLab project
254+
`create_issue_note` - Add a new note to an existing issue thread
255+
`create_issue_link` - Create an issue link between two issues
256+
`create_branch` - Create a new branch in a GitLab project
257+
`cancel_pipeline` - Cancel a running pipeline
252258
<!-- TOOLS-END -->

0 commit comments

Comments
 (0)