-
Notifications
You must be signed in to change notification settings - Fork 215
Open
Description
I'm adding an MCP server for JetBrains PhpStorm Junie.
I listed the allowed utilities as specified in the README, but MCP ignores this list and initializes all utilities.
This wouldn't be a problem if PhpStorm weren't limited to 100 active tools.
How to make the filter work?
{
"mcpServers": {
"gitlab": {
"command": "D:/modules/nodejs/npx.cmd",
"args": [
"-y",
"@zereight/mcp-gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "<my_pat>",
"GITLAB_API_URL": "https://<my_host>/api/v4",
"GITLAB_READ_ONLY_MODE": "false",
"USE_GITLAB_WIKI": "false",
"USE_MILESTONE": "false",
"USE_PIPELINE": "false"
},
"tools": [
"create_issue_note",
"create_merge_request",
"create_merge_request_note",
"create_note",
"get_branch_diffs",
"get_commit",
"get_commit_diff",
"get_file_contents",
"get_issue",
"get_issue_link",
"get_merge_request",
"get_merge_request_diffs",
"get_namespace",
"get_project",
"get_repository_tree",
"list_commits",
"list_group_iterations",
"list_group_projects",
"list_issue_links",
"list_issues",
"list_merge_request_diffs",
"list_merge_requests",
"list_namespaces",
"list_projects",
"search_repositories",
"update_merge_request",
"update_merge_request_note"
]
},
// ...other MCP's
}
}
I can assume that the filter should be here:
Lines 5342 to 5344 in ac13d34
| const tools0 = GITLAB_READ_ONLY_MODE | |
| ? allTools.filter(tool => readOnlyTools.has(tool.name)) | |
| : allTools; |
Using a regular expression and passing it to GITLAB_DENIED_TOOLS_REGEX will partially solve the problem.
Why partially? Because:
- You'll have to manually list 71 tool names;
- You'll have to constantly monitor new releases of @zereight/mcp-gitlab and check for new tools, promptly updating the exclusion list.
Instead, it's better to define a "whitelist" of tools and work with it. BUT, despite this option being in the documentation, the code ignores it.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels