HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/PraisonAI/docs/mcp/gitlab.mdx
---
title: "GitLab MCP Integration"
sidebarTitle: "GitLab"
description: "Guide for integrating GitLab repository management with PraisonAI agents using MCP"
icon: "gitlab"
---

## Add GitLab Tool to AI Agent

```mermaid
flowchart LR
    In[Query] --> Agent[AI Agent]
    Agent --> Tool[GitLab MCP]
    Tool --> Agent
    Agent --> Out[Answer]
    
    style In fill:#8B0000,color:#fff
    style Agent fill:#2E8B57,color:#fff
    style Tool fill:#FC6D26,color:#fff
    style Out fill:#8B0000,color:#fff
```

## Quick Start

<Steps>
    <Step title="Install Dependencies">
        Make sure you have Node.js installed, as the MCP server requires it:
        ```bash
        pip install praisonaiagents mcp
        ```
    </Step>
    <Step title="Set API Keys">
        Set your GitLab credentials as environment variables in your terminal:
        ```bash
        export GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token_here
        export GITLAB_API_URL=https://gitlab.com/api/v4
        export OPENAI_API_KEY=your_openai_api_key_here
        ```
    </Step>

    <Step title="Create a file">
        Create a new file `gitlab_agent.py` with the following code:
        ```python
        from praisonaiagents import Agent, MCP
        import os

        # Use the API token and URL from environment or set directly
        gitlab_token = os.getenv("GITLAB_PERSONAL_ACCESS_TOKEN")
        gitlab_api_url = os.getenv("GITLAB_API_URL", "https://gitlab.com/api/v4")

        # Use a single string command with environment variables
        gitlab_agent = Agent(
            instructions="""You are a helpful assistant that can interact with GitLab.
            Use the available tools when relevant to answer user questions.""",
            llm="gpt-4o-mini",
            tools=MCP("npx -y @modelcontextprotocol/server-gitlab", 
                    env={
                        "GITLAB_PERSONAL_ACCESS_TOKEN": gitlab_token,
                        "GITLAB_API_URL": gitlab_api_url
                    })
        )

        gitlab_agent.start("List my GitLab projects")
        ```
    </Step>

    <Step title="Run the Agent">
        Execute your script:
        ```bash
        python gitlab_agent.py
        ```
    </Step>
</Steps>

<Note>
  **Requirements**
  - Python 3.10 or higher
  - Node.js installed on your system
  - GitLab Personal Access Token
  - OpenAI API key (for the agent's LLM)
</Note>