GitLab Jira Context MCP
This server is an MCP server that connects GitLab, Jira, Confluence, Grafana, and optionally GitHub, providing read-only access to project data and limited write operations that require explicit confirmation.
GitLab (read-only):
List projects, merge requests, and CI/CD pipelines.
Get details for specific projects and merge requests.
Read repository files at any branch, tag, or commit ref.
Jira (read + confirmed writes):
List issues assigned to you, get issue details with comments, search issues via JQL, list comments, worklogs, transitions, and changelog.
Add comments and worklogs (requires
confirm: true).
Confluence (optional, read-only):
Get a page by ID and search content with CQL.
Grafana (optional, read-only):
Search dashboards and get a dashboard by UID.
GitHub (optional):
Get authenticated user, list repositories, get repository metadata, read file content.
Create/update files (write with
confirm: true).
Provides read-only access to Confluence pages and CQL search.
Provides read-only access to GitLab projects, merge requests, CI/CD pipelines, and repository files.
Provides read-only access to Grafana dashboards, including dashboard search and retrieval.
Provides access to Jira issues, search, comments, worklogs, transitions, and changelog, with confirmed write operations for adding comments and worklogs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitLab Jira Context MCPShow me the Jira issue linked to merge request !42"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
contextloom-mcp
Renamed from gitlab-jira-context-mcp; GitHub redirects the old URL.
A local Model Context Protocol (MCP) server that connects GitLab project and merge-request context with Jira work tracking, Confluence pages, Grafana dashboards, and optional GitHub repository context. Jira comments, worklogs, and GitHub file changes require explicit confirmation.
The server uses stdio and runs on your machine. It sends requests only to the service URLs that you configure locally.
Architecture
flowchart LR
Client[VS Code / MCP Client] <-->|stdio| Server[contextloom-mcp]
Server -->|REST API| GitLab[GitLab]
Server -->|REST API| Jira[Jira]
Server -. optional REST API .-> Confluence[Confluence]
Server -. optional REST API .-> Grafana[Grafana]
Server -. optional REST API .-> GitHub[GitHub]
Config[Local .env] -. credentials and URLs .-> ServerThe server never exposes an HTTP endpoint or persists service data. Tokens stay in your local .env file or process environment.
Related MCP server: gitlab-mcp
Included Tools
Tool | Description |
| List projects visible to the configured GitLab token. |
| Get a project by ID or path. |
| List merge requests, optionally for one project. |
| Get a merge request and its metadata. |
| List recent CI/CD pipelines for a project. |
| Get a repository file at a branch, tag, or commit. |
| List issues assigned to the authenticated Jira user. |
| Get an issue by key, including comments. |
| Search issues with JQL. |
| List workflow transitions available for an issue. |
| Get issue status and field history. |
| List comments on an issue with |
| List worklog entries on an issue with |
| Add a comment after passing |
| Add a worklog entry after passing |
| Get a Confluence page and its stored content. |
| Search Confluence content with CQL. |
| Search dashboards visible to the configured service account. |
| Get a Grafana dashboard by UID. |
| Verify access for the configured GitHub token. |
| List repositories visible to the configured token. |
| Get repository metadata by owner/name. |
| Read one repository file at a branch or ref. |
| Create or update one UTF-8 text file after passing |
GitLab, Confluence, Grafana, and GitHub read tools are read-only. Jira mutations and GitHub file writes require an explicit confirm: true input and use the permissions of the configured token.
Jira search, comments, and worklogs return the service's pagination metadata. When total exceeds the number of returned entries, call the same tool with a later startAt value. jira_add_worklog accepts Jira duration syntax such as 1h 30m and an optional ISO 8601 started timestamp.
Repository Structure
contextloom-mcp/
├── src/
│ ├── client.ts # HTTP clients, authentication, and request helpers
│ ├── proxy.ts # Proxy-aware fetch dispatcher shared by every client
│ ├── config.ts # GitLab instance resolution (single host or GITLAB_INSTANCES)
│ └── server.ts # MCP tool registration and input schemas
├── test/
│ └── client.test.ts # Focused helper and request-payload tests
├── .env.example # Neutral local configuration template
├── package.json # Scripts and dependencies
└── tsconfig.json # TypeScript configurationRequirements
Node.js 20 or newer
An MCP client with stdio server support, such as Visual Studio Code with GitHub Copilot
A GitLab personal access token with access to the projects you need (or several, via
GITLAB_INSTANCES)A Jira Server or Data Center personal access token
Optional: a Confluence Server or Data Center personal access token
Optional: a Grafana service account token with dashboard read access
Optional: a GitHub fine-grained personal access token; repository metadata and file reads need read access, while
github_create_or_update_fileneeds repository contents write access
Quick Start
Clone the repository and install dependencies.
git clone https://github.com/jagarkarlo/contextloom-mcp.git cd contextloom-mcp npm install npm test npm run buildCreate your local configuration.
cp .env.example .envSet
GITLAB_BASE_URL,GITLAB_TOKEN,JIRA_BASE_URL, andJIRA_API_TOKEN. UseGITLAB_INSTANCESinstead of the single GitLab pair to talk to more than one host. Confluence and Grafana are optional; set both variables in either integration's pair to enable its tools. SetGITHUB_TOKENto enable GitHub tools;GITHUB_API_BASE_URLis optional for GitHub Enterprise Server. SetHTTPS_PROXY/NO_PROXYonly if reaching one of these hosts needs a corporate proxy. Keep.envlocal; it is ignored by Git.Register the compiled server in your MCP client. In VS Code, run
MCP: Open User Configurationand add this entry to theserversobject. Replace/absolute/path/towith the cloned repository path.{ "servers": { "contextloom": { "type": "stdio", "command": "node", "args": [ "/absolute/path/to/contextloom-mcp/dist/server.js" ] } } }Restart the server from
MCP: List Serversor reload VS Code.
Multiple GitLab hosts
Every gitlab_* tool accepts an optional instance argument. With a single
GITLAB_BASE_URL/GITLAB_TOKEN pair it is unnecessary. With GITLAB_INSTANCES
set to a JSON array of { "name", "baseUrl", "token" } objects, pass instance
to pick one; omitting it uses the first entry.
Security
The server reads credentials only from the local
.envfile or process environment.Use tokens with the smallest access scope that supports your intended requests.
Review the configured service URLs before starting the server.
Do not place credentials in source files, MCP configuration, issue comments, or commits.
Verify the issue key, work duration, and content before setting
confirm: truefor a Jira write.Use a fine-grained GitHub token scoped only to the repositories and contents permissions you need.
Read the existing file with
github_get_file_contentand pass its returned SHA when updating a GitHub file.A corporate proxy dispatcher (via
undici) is only attached for a host whenHTTPS_PROXY/HTTP_PROXYis set and that host is not covered byNO_PROXY— Node's globalfetchdoes not read those variables on its own, unlike curl.
Configuration Boundaries
Integration | Required | Access |
GitLab | Yes | Read-only projects, merge requests, pipelines, and repository files. |
Jira | Yes | Read issues, comments, worklogs, transitions, and changelog; confirmed comment/worklog writes. |
Confluence | Optional | Read-only page lookup and CQL search. |
Grafana | Optional | Read-only dashboard search and retrieval. |
GitHub | Optional | Read authenticated-user, repository, and file context; confirmed single-file UTF-8 writes. |
Development
Run the checks before committing changes:
npm test
npm run build
git diff --checksrc/client.ts contains the HTTP and response-handling helpers. src/proxy.ts holds the proxy-aware fetch dispatcher shared by every client. src/config.ts resolves one or more GitLab instances from the environment. src/server.ts registers the MCP tools and their input schemas. Tests cover the shared client helpers; add focused tests when changing behavior.
Roadmap
Future releases can add GitLab merge-request discussions and project search, while retaining explicit confirmation for every write operation.
License
This project is licensed under the MIT License.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server that enables querying and searching Atlassian Confluence pages and Jira issues through their REST APIs. Supports retrieving content by ID or URL, searching using CQL/JQL, and listing spaces and projects.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with GitLab API, supporting both self-hosted instances and gitlab.com. Provides tools for managing issues, merge requests, code review, pipelines, milestones, releases, search, and file access.514MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for the GitLab REST API providing tools to manage projects, merge requests, pipelines, CI/CD variables, approvals, issues, and code reviews.6MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for interacting with GitLab API, supporting dynamic tool selection and enterprise-grade security.10MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server giving access to Grafana dashboards, data and more.
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jagarkarlo/contextloom-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server