Astrail
Back to Marketplace
Executable connectorCodeJul 22, 20260 calls

GitLab Connector

Read-safe GitLab.com connector for projects, merge requests, and pipelines.

Credential setup

bearer

Use a token with read_api and restrict its lifetime.

Setup docs: https://gitlab.com/-/user_settings/personal_access_tokens

After adding this connector, attach the credential on the server page, then run astrail tools list.

Hosted MCP endpoint

/api/mcp/preset-gitlab

Private servers require an Astrail API key in the Authorization header.

MCP client snippets

Connect

Claude Desktop config

{
  "mcpServers": {
    "gitlab-connector": {
      "url": "/api/mcp/preset-gitlab"
    }
  }
}

cURL initialize

curl -sS -X POST "/api/mcp/preset-gitlab" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

cURL tools/list

curl -sS -X POST "/api/mcp/preset-gitlab" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

cURL tools/call

curl -sS -X POST "/api/mcp/preset-gitlab" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"gitlab_search_projects","arguments":{"search":"example","membership":"example","per_page":"example"}}}'

Runtime behavior

Runtime healthhealthy
Endpoint healthnot_checked
Execution modesafe_rest_execution
Deterministic executionSupported
Generated sourceExport only
Endpoint mapAvailable
Endpoint mappedYes
Auth-required endpointsPresent
Browser runtime endpointsNone detected
Last statusnot recorded
Last execution modenot recorded
Last toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace IDnot recorded
Error codenone
Observabilitystructured fallback
Rate limit modestandard
Missing authauth_required / oauth_required
Missing mappingmapping_required

Astrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.

Tools

5
gitlab_search_projects

Search GitLab.com projects visible to the token.

gitlab_get_project

Retrieve a GitLab.com project by ID or URL-encoded path.

gitlab_list_merge_requests

List merge requests for a GitLab.com project.

gitlab_list_pipelines

List pipelines for a GitLab.com project.

gitlab_get_pipeline

Retrieve a GitLab.com pipeline.

server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "GitLab Connector", version: "1.0.0" });

// Curated Astrail connector for: gitlab_search_projects, gitlab_get_project, gitlab_list_merge_requests, gitlab_list_pipelines, gitlab_get_pipeline.
// The hosted endpoint executes its verified deterministic endpoint map. Attach a least-privilege provider credential before calling private tools.

server.tool("connector_status", "Confirm this curated connector template is installed.", z.object({}), async () => ({
  content: [{ type: "text", text: "Connector installed. Attach provider credentials to enable hosted API calls." }],
}));

const transport = new StdioServerTransport();
await server.connect(transport);