> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab Tools

> List and summarize GitLab merge requests and issues with read-only GitlabTools functions.

```python gitlab_tools.py theme={null}
"""
GitLab Tools

Setup:
1. Create a personal access token in GitLab with read scopes.
2. Set environment variables:
   - GITLAB_ACCESS_TOKEN: Your token
   - GITLAB_BASE_URL: Optional GitLab URL (defaults to https://gitlab.com)
"""

from agno.agent import Agent
from agno.tools.gitlab import GitlabTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------


agent = Agent(
    instructions=[
        "Use GitLab tools to answer repository questions.",
        "Use read-only operations unless explicitly asked to modify data.",
    ],
    tools=[
        GitlabTools(
            enable_list_projects=True,
            enable_get_projects=True,
            enable_list_merge_requests=True,
            enable_get_merge_request=True,
            enable_list_issues=True,
        )
    ],
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "List open merge requests for project 'gitlab-org/gitlab' and summarize the top 5 by recency.",
        markdown=True,
    )

    # Async variant:
    # import asyncio
    #
    # async def run_async():
    #     await agent.aprint_response(
    #         "List open issues for project 'gitlab-org/gitlab' with labels and assignees.",
    #         markdown=True,
    #     )
    #
    # asyncio.run(run_async())
```

## Run the Example

<Snippet file="create-venv-step.mdx" />

**1. Install dependencies**

```bash theme={null}
uv pip install -U agno openai python-gitlab
```

**2. Export environment variables**

```bash Mac/Linux theme={null}
export GITLAB_ACCESS_TOKEN="your_gitlab_access_token_here"
export OPENAI_API_KEY="your_openai_api_key_here"
```

```bash Windows theme={null}
$Env:GITLAB_ACCESS_TOKEN="your_gitlab_access_token_here"
$Env:OPENAI_API_KEY="your_openai_api_key_here"
```

**3. Run the example**

Save the code above as `gitlab_tools.py`, then run:

```bash theme={null}
python gitlab_tools.py
```

Full source: [cookbook/91\_tools/gitlab\_tools.py](https://github.com/agno-agi/agno/blob/v3.0.4/cookbook/91_tools/gitlab_tools.py)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.