src ▸ site opened 0

Turn GitLab into a REST + MCP endpoint

Writ turns the GitLab actions you already do in a browser into a callable REST endpoint your software (and your AI agents) can call.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
call-gitlab.shPOST /v1/gitlab/run
bash
curl -X POST https://api.usewrit.app/v1/gitlab/run \
  -H "Authorization: Bearer wt_8f2c...a91" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "query": "your search term" } }'
REST endpoint MCP tool structured JSON
new ▸ endpoint minted 01
02
create

No GitLab API yet? Build one in minutes

Record the GitLab task once (open a project, then read issues and MRs) and call it as a REST endpoint and an MCP tool. No backend project, no waiting on GitLab to ship an API.

  1. 1
    Record the GitLab task once

    Open the recorder and open a project on GitLab in a real browser. Writ captures each step, including login and 2FA, into a reusable workflow.

  2. 2
    Publish it as an endpoint

    One click turns the workflow into a callable REST endpoint at /v1/gitlab/run and a matching MCP tool. Inputs become a typed schema.

  3. 3
    Call it from anything

    Call GitLab from your code, a no-code tool, or an AI agent. Run it on your own machine for free, or on metered cloud.

Read the REST API docs, see what's possible on workflows, or search for another site. Free to start. See pricing.

gap ▸ no public api 02
03
why

GitLab doesn't give you the endpoint you need

GitLab has an API, but some analytics, group settings, and admin screens are only reachable through the browser UI.

Writ closes that gap. Record the GitLab task once (or describe it to an AI session) and publish it as a REST endpoint at /v1/gitlab/run and a matching MCP tool. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.

ops ▸ actions mapped 03
04
operations

What you can call on GitLab

Each operation below is a real GitLab action recorded into a workflow and exposed as a typed endpoint.

{ }open a project
{ }read issues and MRs
{ }export a list
{ }run a UI-only admin action

Returns structured fields such as project metadata, stars, open issues, MR status: typed JSON, not raw page text.

run ▸ endpoint called 04
05
call it

A real GitLab endpoint, authorized with a wt_ key

POST your inputs, get structured output. Authenticate every call with a scoped wt_ key.

cURL
bash
curl -X POST https://api.usewrit.app/v1/gitlab/run \
  -H "Authorization: Bearer wt_8f2c...a91" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "query": "your search term" } }'
Python
python
import requests

r = requests.post(
    "https://api.usewrit.app/v1/gitlab/run",
    headers={"Authorization": "Bearer wt_8f2c...a91"},
    json={"input": {"query": "your search term"}},
)
print(r.json()["output"])
response.json
json
{
  "run_id": "run_gitl_7b21",
  "status": "succeeded",
  "output": {
    "project_metadata": "...",
    "stars": "...",
    "open_issues": "..."
  }
}
{ }

Also an MCP tool. The same workflow is exposed as an MCP tool your AI agent can call. See GitLab MCP tools, or browse all MCP clients.

auth ▸ logged-in web 05
06
the hard web

Login, 2FA, and dynamic pages on GitLab

The reason GitLab has no usable API is the same reason it's hard to automate. Writ handles it.

Writ signs into your own GitLab account through a Persona with 2FA for UI-only actions, or reads public projects with no login.

PersonasTOTP & mailbox OTP AI navigationReal Chromium rendering
build ▸ three routes 06
07
build

Three ways to build your GitLab endpoint

Pick whichever fits the task. All three produce the same callable workflow.

Record itOpen the recorder, open a project on GitLab once in a real browser, and Writ captures every step into a workflow.
Describe itTell an AI session your goal on GitLab in plain language, and it drives the page to build the workflow for you.
Discover itLet API discovery watch GitLab's own network calls as you browse, then turn the underlying requests into a fast workflow.

Built on the same engine as the recorder and workflows.

watch ▸ changes tracked 07
08
watch

Trigger your GitLab endpoint on a change

Monitor GitLab for new release, new issue matching a label, pipeline status change and fire this endpoint the instant something changes.

Monitors check as fast as every 10s (10s on Enterprise). A detected change becomes an automation trigger that runs your workflow in seconds. Monitor GitLab ▸

venue ▸ local or cloud 08
09
run it

Free on your own machine, or on cloud

Local / BYO agent

No compute charge. The agent runs on your hardware, so it can reach GitLab even from an intranet or VPN-only network, and your AI keys never leave your machine.

Writ cloud

Metered by running time at $0.12 per browser-hour, drawn from your plan’s included usage. No infrastructure to manage.

faq ▸ questions answered 10
11
faq

GitLab API questions

Does GitLab have an API?
GitLab has an API, but some analytics, group settings, and admin screens are only reachable through the browser UI. Writ gives you a callable /v1/gitlab/run endpoint that runs the real GitLab flow in a browser and returns structured JSON.
Is there a ready-made GitLab API I can use?
Record the GitLab task once in the recorder (open a project, then read issues and MRs) or describe it to an AI session. Writ turns it into a callable REST endpoint and MCP tool. It usually takes minutes, not a backend project.
Is it allowed to automate GitLab this way?
Use Writ on your own GitLab account and on public projects you have the right to access. Respect its Terms of Service. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
Does this work with GitLab login and 2FA?
Writ signs into your own GitLab account through a Persona with 2FA for UI-only actions, or reads public projects with no login. Writ handles TOTP and mailbox-OTP two-factor through Personas, so the endpoint runs inside your own authenticated session.
Can I run it on my own machine?
Yes. Run it on a local or BYO agent for no compute charge — useful when GitLab is only reachable from your own network or VPN, and free on every plan. Or run it on metered cloud at $0.12 per browser-hour, drawn from your plan’s included usage.
rec ▸ ready

Build a GitLab API

Record it once, then call it from your software and your AI agents. Get started free.