@mohammadhprp/system-prompt 0.12.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/framework/agents/README.md +0 -1
  2. package/framework/commands/mr.md +8 -9
  3. package/framework/mcps/README.md +0 -3
  4. package/framework/skills/README.md +3 -2
  5. package/framework/skills/glab/SKILL.md +222 -0
  6. package/framework/skills/glab/references/commands-detailed.md +616 -0
  7. package/framework/skills/glab/references/quick-reference.md +145 -0
  8. package/framework/skills/glab/references/troubleshooting.md +669 -0
  9. package/framework/skills/improve/SKILL.md +137 -0
  10. package/framework/skills/improve/examples.md +19 -0
  11. package/framework/skills/improve/references/audit-playbook.md +130 -0
  12. package/framework/skills/improve/references/closing-the-loop.md +96 -0
  13. package/framework/skills/improve/references/plan-template.md +197 -0
  14. package/framework/skills/jira-cli/SKILL.md +260 -0
  15. package/framework/skills/jira-cli/references/commands-detailed.md +268 -0
  16. package/framework/skills/jira-cli/references/quick-reference.md +111 -0
  17. package/framework/skills/jira-cli/references/troubleshooting.md +114 -0
  18. package/framework/styles/README.md +9 -4
  19. package/framework/styles/factory/DESIGN.md +360 -0
  20. package/framework/styles/factory/README.md +32 -0
  21. package/framework/styles/factory/assets/preview.jpg +0 -0
  22. package/framework/styles/huly/DESIGN.md +449 -0
  23. package/framework/styles/huly/README.md +32 -0
  24. package/framework/styles/huly/assets/preview.jpg +0 -0
  25. package/framework/styles/notion/DESIGN.md +423 -0
  26. package/framework/styles/notion/README.md +32 -0
  27. package/framework/styles/notion/assets/preview.jpg +0 -0
  28. package/package.json +1 -1
  29. package/src/catalog.js +6 -6
  30. package/framework/agents/backend-architect.md +0 -146
  31. package/framework/mcps/github-mcp/README.md +0 -51
  32. package/framework/mcps/github-mcp/capabilities.md +0 -83
  33. package/framework/mcps/github-mcp/configs/.env.example +0 -1
  34. package/framework/mcps/github-mcp/configs/opencode.json +0 -13
  35. package/framework/mcps/github-mcp/install.md +0 -60
  36. package/framework/mcps/github-mcp/troubleshooting.md +0 -79
  37. package/framework/mcps/gitlab-mcp/README.md +0 -53
  38. package/framework/mcps/gitlab-mcp/capabilities.md +0 -216
  39. package/framework/mcps/gitlab-mcp/configs/.env.example +0 -2
  40. package/framework/mcps/gitlab-mcp/configs/opencode.json +0 -13
  41. package/framework/mcps/gitlab-mcp/install.md +0 -99
  42. package/framework/mcps/gitlab-mcp/troubleshooting.md +0 -116
  43. package/framework/mcps/jira-mcp/README.md +0 -52
  44. package/framework/mcps/jira-mcp/capabilities.md +0 -79
  45. package/framework/mcps/jira-mcp/configs/.env.example +0 -2
  46. package/framework/mcps/jira-mcp/configs/opencode.json +0 -13
  47. package/framework/mcps/jira-mcp/install.md +0 -94
  48. package/framework/mcps/jira-mcp/troubleshooting.md +0 -113
  49. package/framework/skills/gitlab-mcp/SKILL.md +0 -83
  50. package/framework/skills/gitlab-mcp/examples.md +0 -31
  51. package/framework/skills/gitlab-mcp/references/code-review.md +0 -110
  52. package/framework/skills/gitlab-mcp/references/issues.md +0 -141
  53. package/framework/skills/gitlab-mcp/references/merge-requests.md +0 -120
  54. package/framework/skills/gitlab-mcp/references/pipelines.md +0 -67
  55. package/framework/skills/gitlab-mcp/references/search.md +0 -17
  56. package/framework/skills/gitlab-mcp/references/webhooks.md +0 -32
  57. package/framework/skills/gitlab-mcp/references/work-items.md +0 -50
  58. package/framework/skills/jira-mcp/SKILL.md +0 -57
  59. package/framework/skills/jira-mcp/examples.md +0 -31
  60. package/framework/skills/jira-mcp/references/comments.md +0 -27
  61. package/framework/skills/jira-mcp/references/issues.md +0 -97
  62. package/framework/skills/jira-mcp/references/projects.md +0 -39
@@ -1,116 +0,0 @@
1
- # GitLab MCP Troubleshooting
2
-
3
- ## Server won't start
4
-
5
- **Problem**
6
-
7
- The AI client reports that `gitlab` failed to start.
8
-
9
- **Cause**
10
-
11
- The client cannot run `zereight-mcp-gitlab`, Node.js is not installed, or the npm package is not installed globally.
12
-
13
- **Solution**
14
-
15
- - Run `zereight-mcp-gitlab` manually to verify the server starts.
16
- - Check Node.js is installed: `node --version` (requires >= 18).
17
- - Run `npm install -g @zereight/mcp-gitlab` to install globally.
18
- - If no global install, use `command: "npx"` with `args: ["-y", "@zereight/mcp-gitlab"]` instead.
19
-
20
- ## Authentication errors
21
-
22
- **Problem**
23
-
24
- The server starts but returns authentication errors on tool calls.
25
-
26
- **Cause**
27
-
28
- The Personal Access Token is missing, expired, or has insufficient scopes.
29
-
30
- **Solution**
31
-
32
- - Verify the token is set in `GITLAB_PERSONAL_ACCESS_TOKEN` or passed via `--token`.
33
- - Confirm the token has the required scopes (`api` for full access, `read_api` for read-only).
34
- - Generate a new token in GitLab: **Settings → Access Tokens → Personal Access Tokens**.
35
- - Confirm the API URL is correct: `https://gitlab.com/api/v4` (SaaS) or `https://your-instance/api/v4` (self-hosted).
36
-
37
- ## Configuration errors
38
-
39
- **Problem**
40
-
41
- The MCP server is not listed, or the client ignores the config file.
42
-
43
- **Cause**
44
-
45
- The config file is in the wrong location, the JSON is invalid, or the client expects a different configuration wrapper.
46
-
47
- **Solution**
48
-
49
- - Validate the JSON with `python -m json.tool <file>` or another JSON parser.
50
- - Confirm the client-specific config location in the client's documentation.
51
- - Keep the server name as `gitlab`.
52
- - Ensure environment variables are set correctly in the config.
53
-
54
- ## Permission errors
55
-
56
- **Problem**
57
-
58
- Tools return 403 Forbidden or insufficient permissions.
59
-
60
- **Cause**
61
-
62
- The authenticated user does not have the required GitLab project or group permissions.
63
-
64
- **Solution**
65
-
66
- - Verify the user has at least Developer role in the target project or group.
67
- - Check if the project is in a subgroup that inherits different permissions.
68
- - Use `list_projects` to confirm which projects the token can access.
69
-
70
- ## Rate limiting
71
-
72
- **Problem**
73
-
74
- Tools return 429 Too Many Requests errors.
75
-
76
- **Cause**
77
-
78
- GitLab API rate limits have been exceeded.
79
-
80
- **Solution**
81
-
82
- - Reduce the frequency of tool calls.
83
- - For self-hosted GitLab, check `gitlab.rb` rate limit settings.
84
- - Wait for the rate limit window to reset before retrying.
85
-
86
- ## Version mismatch
87
-
88
- **Problem**
89
-
90
- Some tools are missing or behave differently than documented.
91
-
92
- **Cause**
93
-
94
- The installed npm package version is outdated.
95
-
96
- **Solution**
97
-
98
- - Update to the latest version: `npm update -g @zereight/mcp-gitlab`.
99
- - Check the installed version: `npm list -g @zereight/mcp-gitlab`.
100
- - Refer to the [CHANGELOG](https://github.com/zereight/gitlab-mcp/blob/main/CHANGELOG.md) for breaking changes.
101
-
102
- ## Read-only mode blocking writes
103
-
104
- **Problem**
105
-
106
- Write tools return errors when `GITLAB_PERMISSION_MODE=readonly`.
107
-
108
- **Cause**
109
-
110
- Read-only mode explicitly blocks all create, update, and delete operations.
111
-
112
- **Solution**
113
-
114
- - Set `GITLAB_PERMISSION_MODE=modify` to allow updates while blocking deletes.
115
- - Set `GITLAB_PERMISSION_MODE=full` for unrestricted access.
116
- - Use `GITLAB_TOOLS` allow-list to enable specific write tools in read-only mode.
@@ -1,52 +0,0 @@
1
- # Jira MCP
2
-
3
- ## Overview
4
-
5
- Jira MCP is a Model Context Protocol (MCP) server for interacting with self-hosted Jira instances using Personal Access Token (PAT) authentication. It provides tools for creating, reading, updating, and deleting issues, searching with JQL, managing comments and assignments, and inspecting projects.
6
-
7
- Official source:
8
-
9
- - [GitHub: edrich13/mcp-jira-server](https://github.com/edrich13/mcp-jira-server)
10
-
11
- ## Features
12
-
13
- - Personal Access Token authentication for self-hosted Jira.
14
- - Create, read, update, and delete Jira issues.
15
- - Search issues using JQL (Jira Query Language).
16
- - Add and view comments.
17
- - Manage issue assignments.
18
- - List projects and issue types.
19
- - Transition issues between statuses.
20
- - Get current user information.
21
-
22
- ## Supported AI Clients
23
-
24
- Jira MCP works with any MCP-compatible AI client. The server is started via `npx` and communicates over stdio.
25
-
26
- - OpenCode
27
-
28
- ## When to Use
29
-
30
- Use Jira MCP when an AI coding agent needs to interact with a self-hosted Jira instance.
31
-
32
- Good fits:
33
-
34
- - Creating and updating Jira issues from an AI agent.
35
- - Searching for issues with JQL queries.
36
- - Adding comments and managing issue assignments.
37
- - Inspecting project metadata and issue types.
38
- - Tracking work and status transitions.
39
-
40
- Avoid using it with Jira Cloud (SaaS) — this server is designed for self-hosted Jira instances only.
41
-
42
- ## Requirements
43
-
44
- - Node.js 18 or higher available on `PATH`.
45
- - A self-hosted Jira instance (e.g., `https://jira.domain.com`).
46
- - A Jira Personal Access Token with appropriate permissions.
47
-
48
- ## Related Skills
49
-
50
- Relevant skills in this repository:
51
-
52
- - [`backend-best-practices`](../../skills/backend-best-practices/SKILL.md): backend best practices for debugging and testing.
@@ -1,79 +0,0 @@
1
- # Jira MCP Capabilities
2
-
3
- ## What It Can Do
4
-
5
- 12 tools for interacting with self-hosted Jira instances.
6
-
7
- ### Issues
8
-
9
- | Tool | Description |
10
- | --- | --- |
11
- | `jira_get_issue` | Get details of a specific issue by key (e.g. "PROJ-123") |
12
- | `jira_search_issues` | Search for issues using JQL with optional max results |
13
- | `jira_create_issue` | Create a new issue with project, summary, type, description, priority, assignee, labels, components, and custom fields |
14
- | `jira_update_issue` | Update an existing issue — summary, description, assignee, priority, labels, status, and custom fields |
15
- | `jira_delete_issue` | Delete an issue permanently |
16
- | `jira_assign_issue` | Assign an issue to a user |
17
-
18
- ### Comments
19
-
20
- | Tool | Description |
21
- | --- | --- |
22
- | `jira_add_comment` | Add a comment to an issue |
23
- | `jira_get_comments` | Get all comments from an issue |
24
-
25
- ### Projects
26
-
27
- | Tool | Description |
28
- | --- | --- |
29
- | `jira_get_projects` | List all available projects |
30
- | `jira_get_project` | Get details of a specific project |
31
- | `jira_get_issue_types` | Get available issue types for a project |
32
-
33
- ### User
34
-
35
- | Tool | Description |
36
- | --- | --- |
37
- | `jira_get_current_user` | Get information about the currently authenticated user |
38
-
39
- ## What It Cannot Do
40
-
41
- - It does not work with Jira Cloud (SaaS) — designed for self-hosted instances only.
42
- - It cannot authenticate with OAuth, API tokens, or cookie-based auth — PAT only.
43
- - It cannot create, update, or delete Jira projects.
44
- - It cannot manage Jira users, groups, or permissions.
45
- - It cannot access Jira boards, sprints, or agile features.
46
- - It cannot attach files to issues.
47
- - It cannot operate without a valid PAT and accessible Jira instance.
48
-
49
- ## Best Practices
50
-
51
- - Never commit your PAT to version control. Use environment variables or client config files with restricted permissions.
52
- - Use tokens with minimal required permissions.
53
- - Set expiration dates for tokens and rotate them regularly.
54
- - Use `jira_get_issue_types` before creating issues to confirm valid types for the project.
55
- - Use `jira_get_current_user` first to verify authentication is working.
56
- - Use JQL with specific project keys to scope searches and reduce response size.
57
- - For Jira instances behind SSO proxies, set `JIRA_USER_AGENT` to a whitelisted value.
58
-
59
- ## Common Workflows
60
-
61
- ### Find and update issues
62
-
63
- 1. Call `jira_search_issues` with a JQL query to find relevant issues.
64
- 2. Call `jira_get_issue` on a specific key to read full details.
65
- 3. Call `jira_update_issue` to change status, assignee, or priority.
66
- 4. Call `jira_add_comment` to leave a note about the change.
67
-
68
- ### Create a new issue
69
-
70
- 1. Call `jira_get_projects` to list available projects.
71
- 2. Call `jira_get_issue_types` for the target project.
72
- 3. Call `jira_create_issue` with project key, summary, issue type, and optional fields.
73
- 4. Call `jira_assign_issue` to assign it to a team member.
74
-
75
- ### Track work progress
76
-
77
- 1. Call `jira_search_issues` with `assignee = currentUser() AND status != Done`.
78
- 2. Call `jira_get_issue` on each key to review details.
79
- 3. Call `jira_update_issue` to transition statuses as work progresses.
@@ -1,2 +0,0 @@
1
- JIRA_BASE_URL=
2
- JIRA_PAT=
@@ -1,13 +0,0 @@
1
- {
2
- "mcp": {
3
- "jira": {
4
- "type": "local",
5
- "enabled": true,
6
- "command": ["npx", "-y", "mcp-jira-server"],
7
- "environment": {
8
- "JIRA_BASE_URL": "{env:JIRA_BASE_URL}",
9
- "JIRA_PAT": "{env:JIRA_PAT}"
10
- }
11
- }
12
- }
13
- }
@@ -1,94 +0,0 @@
1
- # Jira MCP Installation
2
-
3
- ## Requirements
4
-
5
- - Node.js 18 or higher available on `PATH`.
6
- - A self-hosted Jira instance.
7
- - A Jira Personal Access Token.
8
- - An MCP-compatible AI client.
9
-
10
- ## Creating a Personal Access Token
11
-
12
- 1. Log in to your self-hosted Jira instance.
13
- 2. Click your profile icon → **Profile** or **Account Settings**.
14
- 3. Navigate to **Personal Access Tokens** or **Security**.
15
- 4. Click **Create token**, give it a name, set an expiration date, and copy the token immediately.
16
-
17
- ## Installation
18
-
19
- The server can be used directly with `npx` — no build step required.
20
-
21
- ```bash
22
- npx -y mcp-jira-server
23
- ```
24
-
25
- Or install globally:
26
-
27
- ```bash
28
- npm install -g mcp-jira-server
29
- ```
30
-
31
- ## Configuration
32
-
33
- | Field | Value |
34
- | --- | --- |
35
- | Server name | `jira` |
36
- | Command | `npx` (or `mcp-jira-server` if installed globally) |
37
- | Args | `-y`, `mcp-jira-server` |
38
- | Env | `JIRA_BASE_URL`, `JIRA_PAT` |
39
-
40
- ### Config file examples
41
-
42
- Use the examples in [`configs/`](./configs/) as client-specific starting points:
43
-
44
- | Client | Example | Typical location |
45
- | --- | --- | --- |
46
- | OpenCode | [`configs/opencode.json`](./configs/opencode.json) | OpenCode MCP configuration. |
47
-
48
- ### OpenCode
49
-
50
- Copy [`configs/opencode.json`](./configs/opencode.json) into your OpenCode project root or user config directory, replace the placeholder URL and token, and restart the OpenCode agent.
51
-
52
- ## Verification
53
-
54
- Run the MCP server command directly:
55
-
56
- ```bash
57
- npx -y mcp-jira-server
58
- ```
59
-
60
- Then verify from your AI client:
61
-
62
- - The `jira` MCP server is listed.
63
- - The server starts without errors.
64
- - Tools are visible to the agent.
65
-
66
- Recommended first prompt:
67
-
68
- ```
69
- Get my current Jira user information
70
- ```
71
-
72
- ## Updating
73
-
74
- ```bash
75
- npx -y mcp-jira-server@latest
76
- ```
77
-
78
- Or update global install:
79
-
80
- ```bash
81
- npm update -g mcp-jira-server
82
- ```
83
-
84
- ## Uninstalling
85
-
86
- 1. Remove the MCP entry from AI client configuration files.
87
- 2. Uninstall the package: `npm uninstall -g mcp-jira-server`.
88
-
89
- ## Common Issues
90
-
91
- - **Server does not start**: run `npx -y mcp-jira-server` manually. Ensure Node.js >= 18 is installed.
92
- - **Authentication errors**: verify the PAT is valid and not expired. Confirm `JIRA_BASE_URL` has no trailing slash.
93
- - **Connection refused**: check if the Jira instance is accessible and the URL is correct.
94
- - **API requests redirect to SSO login**: your Jira may be behind a reverse proxy. Set `JIRA_USER_AGENT` to a whitelisted User-Agent string.
@@ -1,113 +0,0 @@
1
- # Jira MCP Troubleshooting
2
-
3
- ## Server won't start
4
-
5
- **Problem**
6
-
7
- The AI client reports that `jira` failed to start.
8
-
9
- **Cause**
10
-
11
- The client cannot run `npx`, Node.js is not installed, or the npm package is unavailable.
12
-
13
- **Solution**
14
-
15
- - Run `npx -y mcp-jira-server` manually to verify the server starts.
16
- - Check Node.js is installed: `node --version` (requires >= 18).
17
- - Check network access if the package has not been cached locally.
18
- - Ensure the config file contains the correct command and args.
19
-
20
- ## Authentication errors
21
-
22
- **Problem**
23
-
24
- The server starts but returns authentication errors on tool calls.
25
-
26
- **Cause**
27
-
28
- The Personal Access Token is missing, expired, or has insufficient permissions.
29
-
30
- **Solution**
31
-
32
- - Verify `JIRA_PAT` is set correctly in the environment.
33
- - Confirm the token has not expired.
34
- - Generate a new token in Jira if needed.
35
- - Verify `JIRA_BASE_URL` is correct and has no trailing slash.
36
-
37
- ## Connection refused
38
-
39
- **Problem**
40
-
41
- Tools return connection errors.
42
-
43
- **Cause**
44
-
45
- The Jira instance is not accessible from the current machine.
46
-
47
- **Solution**
48
-
49
- - Verify the Jira URL is reachable: `curl https://jira.domain.com`.
50
- - Check network connectivity and firewall rules.
51
- - Confirm the URL format: `https://jira.domain.com` (no trailing slash).
52
-
53
- ## Configuration errors
54
-
55
- **Problem**
56
-
57
- The MCP server is not listed, or the client ignores the config file.
58
-
59
- **Cause**
60
-
61
- The config file is in the wrong location, the JSON is invalid, or the client expects a different configuration wrapper.
62
-
63
- **Solution**
64
-
65
- - Validate the JSON with `python -m json.tool <file>` or another JSON parser.
66
- - Confirm the client-specific config location in the client's documentation.
67
- - Keep the server name as `jira`.
68
- - Ensure environment variables are set correctly in the config.
69
-
70
- ## API requests redirect to SSO login
71
-
72
- **Problem**
73
-
74
- API requests return HTML login pages instead of JSON responses despite a valid PAT.
75
-
76
- **Cause**
77
-
78
- The Jira instance is behind a reverse proxy (oauth2-proxy, nginx, etc.) that filters requests by User-Agent and redirects API clients to SSO login.
79
-
80
- **Solution**
81
-
82
- - Set the `JIRA_USER_AGENT` environment variable to a whitelisted User-Agent string.
83
- - Contact your system administrator to get the allowed User-Agent value.
84
-
85
- ## "Issue type not found" errors
86
-
87
- **Problem**
88
-
89
- Creating an issue fails with "issue type not found".
90
-
91
- **Cause**
92
-
93
- The issue type name does not exist in the target project.
94
-
95
- **Solution**
96
-
97
- - Call `jira_get_issue_types` with the project key to list valid types.
98
- - Use an exact match from the returned list.
99
-
100
- ## "Cannot find module" errors
101
-
102
- **Problem**
103
-
104
- The server fails with module resolution errors when using a source build.
105
-
106
- **Cause**
107
-
108
- Dependencies are not installed or the project is not built.
109
-
110
- **Solution**
111
-
112
- - Run `npm install` and `npm run build` in the project directory.
113
- - Use the `npx` command instead of a local build.
@@ -1,83 +0,0 @@
1
- ---
2
- name: gitlab-mcp
3
- description: Use this skill when working with the GitLab MCP server tools for merge requests, issues, repositories, pipelines, work items, webhooks, search, and related GitLab workflows.
4
- ---
5
-
6
- # gitlab-mcp
7
-
8
- GitLab MCP server providing 173 tools: 171 tools across 16 toolsets, plus `execute_graphql` and the always-available `discover_tools` meta-tool.
9
-
10
- ## Toolsets
11
-
12
- | Toolset | Default | Enable with |
13
- |---------------------------|---------|------------------------------------------------------|
14
- | merge_requests (41 tools) | yes | - |
15
- | issues (23 tools) | yes | - |
16
- | repositories (7 tools) | yes | - |
17
- | branches (6 tools) | yes | - |
18
- | projects (8 tools) | yes | - |
19
- | labels (5 tools) | yes | - |
20
- | ci (2 tools) | yes | - |
21
- | users (5 tools) | yes | - |
22
- | pipelines (19 tools) | no | `USE_PIPELINE=true` or `GITLAB_TOOLSETS=pipelines` |
23
- | milestones (9 tools) | no | `USE_MILESTONE=true` or `GITLAB_TOOLSETS=milestones` |
24
- | wiki (10 tools) | no | `USE_GITLAB_WIKI=true` or `GITLAB_TOOLSETS=wiki` |
25
- | releases (7 tools) | no | `GITLAB_TOOLSETS=releases` |
26
- | tags (5 tools) | no | `GITLAB_TOOLSETS=tags` |
27
- | workitems (18 tools) | no | `GITLAB_TOOLSETS=workitems` |
28
- | webhooks (3 tools) | no | `GITLAB_TOOLSETS=webhooks` |
29
- | search (3 tools) | no | `GITLAB_TOOLSETS=search` |
30
-
31
- Enable all: `GITLAB_TOOLSETS=all`. Use `GITLAB_TOOLS` to enable individual tools outside their toolset. `discover_tools` can activate opt-in categories for the current session.
32
-
33
- ## Key Workflows
34
-
35
- ### Code Review (see references/code-review.md)
36
-
37
- 1. `list_merge_request_changed_files` - get file paths only (no diffs)
38
- 2. `get_merge_request_file_diff` - get diffs for 3-5 files per call (batch)
39
- 3. `create_merge_request_thread` or `create_draft_note` - leave review comments
40
- 4. `bulk_publish_draft_notes` - publish all drafts at once
41
-
42
- ### MR Lifecycle (see references/merge-requests.md)
43
-
44
- `create_merge_request` -> review -> `approve_merge_request` -> `merge_merge_request`
45
-
46
- ### Issue Management (see references/issues.md)
47
-
48
- `create_issue` -> `create_issue_link` -> `create_issue_note` -> `update_issue`
49
-
50
- ### Work Items (see references/work-items.md)
51
-
52
- `list_work_items` -> `get_work_item` -> `update_work_item` -> `create_work_item_note`
53
-
54
- ### Webhooks & Search
55
-
56
- - Webhooks: see references/webhooks.md
57
- - Code search: see references/search.md
58
-
59
- ### File Operations
60
-
61
- - Read: `get_file_contents`, `get_repository_tree`
62
- - Write: `create_or_update_file` (single file), `push_files` (multiple files in one commit)
63
-
64
- ## Parameter Hints
65
-
66
- - **project_id**: numeric ID or URL-encoded path (`group/subgroup/project`)
67
- - **MR lookup**: provide `mergeRequestIid` OR `branchName` (not both)
68
- - **list_issues**: default scope = created by current user. Use `scope: "all"` for all issues
69
- - **list_merge_requests**: without project_id returns user's MRs across all projects
70
- - **emoji reactions**: merge request, issue, and work item reaction tools use GitLab emoji names like `thumbsup`, `rocket`, or `eyes`
71
- - **work items**: status and custom fields require GitLab Premium/Ultimate features
72
- - **execute_graphql**: escape double quotes in query strings
73
-
74
- ## Destructive Tools (require caution)
75
-
76
- `delete_issue`, `delete_label`, `delete_wiki_page`, `delete_group_wiki_page`, `delete_milestone`, `delete_release`, `delete_tag`, `delete_merge_request_note`, `delete_merge_request_discussion_note`, `delete_draft_note`, `delete_issue_link`, `delete_merge_request_emoji_reaction`, `delete_merge_request_note_emoji_reaction`, `delete_issue_emoji_reaction`, `delete_issue_note_emoji_reaction`, `delete_work_item_emoji_reaction`, `delete_work_item_note_emoji_reaction`, `merge_merge_request`, `push_files`
77
-
78
- ## Advanced
79
-
80
- - **Dynamic discovery**: `discover_tools` lists and activates opt-in toolsets at runtime
81
- - **GraphQL**: `execute_graphql` for queries not covered by REST tools
82
- - **Zoekt search**: `search_code`, `search_project_code`, `search_group_code` (requires advanced search enabled)
83
- - **Work Items**: GraphQL-based alternative to issues (Premium/Ultimate features)
@@ -1,31 +0,0 @@
1
- # GitLab MCP Examples
2
-
3
- ## Example 1: Review Merge Request Diffs
4
-
5
- Review a merge request with multiple file changes. Good agent behavior:
6
-
7
- - Use `list_merge_request_changed_files` to get the list of changed files (no diff).
8
- - Use `get_merge_request_file_diff` with 3-5 files at a time to review diffs in batches.
9
- - Use `get_merge_request_approval_state` to check who has approved.
10
- - Use `create_merge_request_thread` to leave inline feedback on specific lines.
11
- - Use `approve_merge_request` and `merge_merge_request` when the review passes.
12
-
13
- ## Example 2: Investigate Pipeline Failure
14
-
15
- A CI pipeline failed on the main branch. Good agent behavior:
16
-
17
- - Use `list_pipelines` to find the latest failed pipeline for the target branch.
18
- - Use `list_pipeline_jobs` to identify which job failed.
19
- - Use `get_pipeline_job_output` with pagination to read the failure logs.
20
- - Use `get_pipeline_job` to inspect the job's environment and timing.
21
- - Summarize the root cause and propose a fix based on the log output.
22
-
23
- ## Example 3: Create and Manage an Issue
24
-
25
- Track a bug report discovered during development. Good agent behavior:
26
-
27
- - Use `create_issue` with project key, summary, description, and labels.
28
- - Use `create_issue_note` to add reproduction steps as a comment.
29
- - Use `update_issue` to set assignee and priority.
30
- - Use `create_branch` to start work from the issue branch naming convention.
31
- - Use `create_merge_request` when the fix is ready, linking the MR to the issue.
@@ -1,110 +0,0 @@
1
- # Code Review Workflow
2
-
3
- ## Overview
4
-
5
- Efficient code review uses a 2-step approach: list files first, then fetch diffs in batches.
6
- This avoids loading the entire diff payload at once.
7
-
8
- ## Step 1: List Changed Files
9
-
10
- ```
11
- list_merge_request_changed_files
12
- project_id: "my-group/my-project"
13
- mergeRequestIid: 42
14
- ```
15
-
16
- Returns file paths with metadata:
17
-
18
- - `new_path`, `old_path` - file locations
19
- - `new_file`, `deleted_file`, `renamed_file` - change type flags
20
-
21
- Use `excluded_file_patterns` to skip generated files:
22
-
23
- ```
24
- excluded_file_patterns: ["*.lock", "*.min.js", "dist/**"]
25
- ```
26
-
27
- ## Step 2: Batch Diff Retrieval
28
-
29
- ```
30
- get_merge_request_file_diff
31
- project_id: "my-group/my-project"
32
- mergeRequestIid: 42
33
- file_paths: ["src/api.ts", "src/utils.ts", "src/types.ts"]
34
- ```
35
-
36
- **Batch 3-5 files per call** for optimal balance between API calls and response size.
37
- For large MRs (20+ files), prioritize reviewing:
38
-
39
- 1. Source code files first (skip configs, lockfiles)
40
- 2. New files before modified files
41
- 3. Core logic before tests
42
-
43
- ## Step 3: Leave Comments
44
-
45
- ### Option A: Thread comments (visible immediately)
46
-
47
- ```
48
- create_merge_request_thread
49
- project_id: "my-group/my-project"
50
- mergeRequestIid: 42
51
- body: "Consider using a const here"
52
- position:
53
- new_path: "src/api.ts"
54
- new_line: 15
55
- ```
56
-
57
- Reply to existing threads:
58
-
59
- ```
60
- create_merge_request_discussion_note
61
- project_id: "my-group/my-project"
62
- mergeRequestIid: 42
63
- discussion_id: "abc123"
64
- body: "Good point, updated"
65
- ```
66
-
67
- ### Option B: Draft notes (batch review)
68
-
69
- Create drafts, then publish all at once:
70
-
71
- ```
72
- create_draft_note -> create_draft_note -> create_draft_note
73
- ... repeat for each comment ...
74
- bulk_publish_draft_notes
75
- project_id: "my-group/my-project"
76
- mergeRequestIid: 42
77
- ```
78
-
79
- This mimics GitHub's "pending review" pattern - all comments appear simultaneously.
80
-
81
- ## Step 4: Resolve Threads
82
-
83
- ```
84
- resolve_merge_request_thread
85
- project_id: "my-group/my-project"
86
- mergeRequestIid: 42
87
- discussion_id: "abc123"
88
- resolved: true
89
- ```
90
-
91
- ## Alternative: Full Diff Methods
92
-
93
- For small MRs where batching is unnecessary:
94
-
95
- - `get_merge_request_diffs` - all diffs at once (can be large)
96
- - `list_merge_request_diffs` - paginated diffs
97
-
98
- For comparing arbitrary refs:
99
-
100
- - `get_branch_diffs` - compare two branches or commits
101
- - `get_commit_diff` - single commit changes
102
-
103
- ## Version Comparison
104
-
105
- Track review progress across force-pushes:
106
-
107
- ```
108
- list_merge_request_versions -> get versions list
109
- get_merge_request_version -> get specific version details
110
- ```