diff --git a/README.md b/README.md index e8c3fd9..025d8d4 100644 --- a/README.md +++ b/README.md @@ -40,139 +40,36 @@ env GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token GITLAB_API_URL=your_gitlab_ap - `GITLAB_PERSONAL_ACCESS_TOKEN`: Your GitLab personal access token. - `GITLAB_API_URL`: Your GitLab API URL. (Default: `https://gitlab.com/api/v4`) -## Tools 🛠️ +## Tools Reference 🛠️ -1. `create_or_update_file` - - - Create or update a single file in a GitLab project. 📝 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `file_path` (string): Path to create/update the file - - `content` (string): File content - - `commit_message` (string): Commit message - - `branch` (string): Branch to create/update the file in - - `previous_path` (optional string): Previous file path when renaming a file - - Returns: File content and commit details - -2. `push_files` - - - Push multiple files in a single commit. 📤 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `branch` (string): Branch to push to - - `files` (array): Array of files to push, each with `file_path` and `content` properties - - `commit_message` (string): Commit message - - Returns: Updated branch reference - -3. `search_repositories` - - - Search for GitLab projects. 🔍 - - Inputs: - - `search` (string): Search query - - `page` (optional number): Page number (default: 1) - - `per_page` (optional number): Results per page (default: 20, max: 100) - - Returns: Project search results - -4. `create_repository` - - - Create a new GitLab project. ➕ - - Inputs: - - `name` (string): Project name - - `description` (optional string): Project description - - `visibility` (optional string): Project visibility level (public, private, internal) - - `initialize_with_readme` (optional boolean): Initialize with README - - Returns: Details of the created project - -5. `get_file_contents` - - - Get the contents of a file or directory. 📂 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `file_path` (string): Path to the file/directory - - `ref` (optional string): Branch, tag, or commit SHA (default: default branch) - - Returns: File/directory content - -6. `create_issue` - - - Create a new issue. 🐛 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `title` (string): Issue title - - `description` (string): Issue description - - `assignee_ids` (optional number[]): Array of assignee IDs - - `milestone_id` (optional number): Milestone ID - - `labels` (optional string[]): Array of labels - - Returns: Details of the created issue - -7. `create_merge_request` - - - Create a new merge request. 🚀 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `title` (string): Merge request title - - `description` (string): Merge request description - - `source_branch` (string): Branch with changes - - `target_branch` (string): Branch to merge into - - `allow_collaboration` (optional boolean): Allow collaborators to push commits to the source branch - - `draft` (optional boolean): Create as a draft merge request - - Returns: Details of the created merge request - -8. `fork_repository` - - - Fork a project. 🍴 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path to fork - - `namespace` (optional string): Namespace to fork into (default: user namespace) - - Returns: Details of the forked project - -9. `create_branch` - - - Create a new branch. 🌿 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `name` (string): New branch name - - `ref` (optional string): Ref to create the branch from (branch, tag, commit SHA, default: default branch) - - Returns: Created branch reference - -10. `get_merge_request` - - - Get details of a merge request. ℹ️ - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `merge_request_iid` (number): Merge request IID - - Returns: Merge request details - -11. `get_merge_request_diffs` - - - Get changes (diffs) of a merge request. diff - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `merge_request_iid` (number): Merge request IID - - `view` (optional string): Diff view type ('inline' or 'parallel') - - Returns: Array of merge request diff information - -12. `update_merge_request` - - - Update a merge request. 🔄 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `merge_request_iid` (number): Merge request IID - - `title` (optional string): New title - - `description` (string): New description - - `target_branch` (optional string): New target branch - - `state_event` (optional string): Merge request state change event ('close', 'reopen') - - `remove_source_branch` (optional boolean): Remove source branch after merge - - `allow_collaboration` (optional boolean): Allow collaborators to push commits to the source branch - - Returns: Updated merge request details - -13. `create_note` - - Create a new note (comment) to an issue or merge request. 💬 - - Inputs: - - `project_id` (string): Project ID or namespace/project_path - - `noteable_type` (string): Type of noteable ("issue" or "merge_request") - - `noteable_iid` (number): IID of the issue or merge request - - `body` (string): Note content - - Returns: Details of the created note +| Tool | Description | Parameters | Returns | +|------|-------------|------------|---------| +| **`create_or_update_file`** | Create or update a single file in a GitLab project 📝 | • `project_id` (string): Project ID or path
• `file_path` (string): Path to create/update
• `content` (string): File content
• `commit_message` (string): Commit message
• `branch` (string): Target branch
• `previous_path` (optional): Previous path when renaming | File content and commit details | +| **`push_files`** | Push multiple files in a single commit 📤 | • `project_id` (string): Project ID or path
• `branch` (string): Target branch
• `files` (array): Array of files with `file_path` and `content`
• `commit_message` (string): Commit message | Updated branch reference | +| **`search_repositories`** | Search for GitLab projects 🔍 | • `search` (string): Search query
• `page` (optional): Page number (default: 1)
• `per_page` (optional): Results per page (default: 20) | Project search results | +| **`create_repository`** | Create a new GitLab project ➕ | • `name` (string): Project name
• `description` (optional): Project description
• `visibility` (optional): Visibility level
• `initialize_with_readme` (optional): Initialize with README | Created project details | +| **`get_file_contents`** | Get the contents of a file or directory 📂 | • `project_id` (string): Project ID or path
• `file_path` (string): Path to file/directory
• `ref` (optional): Branch, tag, or commit SHA | File/directory content | +| **`create_issue`** | Create a new issue 🐛 | • `project_id` (string): Project ID or path
• `title` (string): Issue title
• `description` (string): Issue description
• `assignee_ids` (optional): Array of assignee IDs
• `milestone_id` (optional): Milestone ID
• `labels` (optional): Array of labels | Created issue details | +| **`list_issues`** | List issues in a project with filtering options | • `project_id` (string): Project ID or path
• Various optional filtering parameters | Array of issues | +| **`get_issue`** | Get details of a specific issue | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID | Issue details | +| **`update_issue`** | Update an existing issue | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID
• Various optional update parameters | Updated issue details | +| **`delete_issue`** | Delete an issue | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID | Success message | +| **`list_issue_links`** | List all links for a specific issue | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID | Array of linked issues | +| **`get_issue_link`** | Get details of a specific issue link | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID
• `issue_link_id` (number): Link ID | Issue link details | +| **`create_issue_link`** | Create a link between two issues | • `project_id` (string): Project ID or path
• `issue_iid` (number): Source issue IID
• `target_project_id` (string): Target project ID
• `target_issue_iid` (number): Target issue IID
• `link_type` (optional): Relationship type | Created link details | +| **`delete_issue_link`** | Delete an issue link | • `project_id` (string): Project ID or path
• `issue_iid` (number): Issue IID
• `issue_link_id` (number): Link ID | Success message | +| **`create_merge_request`** | Create a new merge request 🚀 | • `project_id` (string): Project ID or path
• `title` (string): MR title
• `description` (string): MR description
• `source_branch` (string): Branch with changes
• `target_branch` (string): Branch to merge into
• `allow_collaboration` (optional): Allow collaborators
• `draft` (optional): Create as draft | Created merge request details | +| **`fork_repository`** | Fork a project 🍴 | • `project_id` (string): Project ID or path to fork
• `namespace` (optional): Namespace to fork into | Forked project details | +| **`create_branch`** | Create a new branch 🌿 | • `project_id` (string): Project ID or path
• `branch` (string): New branch name
• `ref` (optional): Reference to create from | Created branch reference | +| **`get_merge_request`** | Get details of a merge request ℹ️ | • `project_id` (string): Project ID or path
• `merge_request_iid` (number): MR IID | Merge request details | +| **`get_merge_request_diffs`** | Get changes of a merge request | • `project_id` (string): Project ID or path
• `merge_request_iid` (number): MR IID
• `view` (optional): Diff view type | Array of merge request diffs | +| **`update_merge_request`** | Update a merge request 🔄 | • `project_id` (string): Project ID or path
• `merge_request_iid` (number): MR IID
• Various optional update parameters | Updated merge request details | +| **`create_note`** | Create a comment on an issue or MR 💬 | • `project_id` (string): Project ID or path
• `noteable_type` (string): "issue" or "merge_request"
• `noteable_iid` (number): IID of the issue or MR
• `body` (string): Comment content | Created note details | +| **`list_namespaces`** | List available namespaces | • `search` (optional): Search term
• `page` (optional): Page number
• `per_page` (optional): Results per page
• `owned` (optional): Filter by ownership | Array of namespaces | +| **`get_namespace`** | Get details of a namespace | • `namespace_id` (string): Namespace ID or path | Namespace details | +| **`verify_namespace`** | Check if a namespace exists | • `path` (string): Namespace path to verify | Verification result | +| **`get_project`** | Get details of a specific project | • `project_id` (string): Project ID or path | Project details | +| **`list_projects`** | List accessible projects | • Various optional filtering parameters | Array of projects | ## Environment Variable Configuration