Skip to main content
Glama
pxsloot

gitea-mcp-server

by pxsloot

Gitea MCP Server

CI Python License: MIT Ruff

Model Context Protocol server that provides ~400 auto-generated tools and resources for LLM agents to interact with Gitea and Forgejo instances. Built with FastMCP 3.x.

How it works

Your Gitea/Forgejo instance
       │
       ▼  (Swagger/OpenAPI spec)
  gitea-mcp-server
       │  ┌────────────────────────────┐
       │  │ Auto-generates ~400 tools  │
       │  │ from the API spec          │
       │  │ Adds lazy loading, scope   │
       │  │ filtering, annotations,    │
       │  │ workflow guides, resources │
       │  └────────────────────────────┘
       │
       ▼  (MCP protocol: stdio or HTTP)
  Your LLM agent
       │
       ├─ call_tool("gitea_issue_create_issue", ...)
       ├─ read_resource("gitea://repos/owner/repo")
       └─ search_tools("list pull requests")

Related MCP server: GitHub MCP Server

Requirements

  • Python 3.11+ and uv (package manager)

  • A Gitea or Forgejo instance (local or remote)

  • An API token with sufficient scopes (Settings → Applications → Generate Token)

Quick Start

git clone https://github.com/pxsloot/gitea-mcp-server.git && cd gitea-mcp-server
cp .env.example .env              # then edit GITEA_URL and GITEA_TOKEN
uv sync
uv run python -m gitea_mcp_server

Install from git (pip)

pip install git+https://github.com/pxsloot/gitea-mcp-server.git
gitea-mcp

Configuration

Env var

Default

Description

GITEA_URL

--

Base URL of your Gitea/Forgejo instance

GITEA_TOKEN

--

API token (Settings → Applications → Generate Token)

GITEA_VERIFY_SSL

true

Set false for self-signed certs

SSL_CERT_FILE

--

Custom CA bundle path

LOG_LEVEL

INFO

DEBUG, INFO, WARNING, ERROR

LOG_FORMAT

json

json or text

TRANSPORT_TYPE

stdio

stdio or http

TOOL_PREFIX

gitea_

Prefix for all tool names

HTTP transport settings (TRANSPORT_TYPE=http):

  • HTTP_HOST — default 127.0.0.1 (set HTTP_HOST=0.0.0.0 for remote access)

  • HTTP_PORT — default 8080

  • HTTP_PATH — default /mcp

  • HTTP_CORS — defaults to origin from GITEA_URL

Usage

Stdio (CLI clients)

uv run python -m gitea_mcp_server

HTTP (server mode)

TRANSPORT_TYPE=http uv run python -m gitea_mcp_server
# Health check: http://localhost:8080/health
# MCP endpoint: http://localhost:8080/mcp

Docker

docker build --progress=plain -t gitea-mcp-server:latest .
docker run --rm -e GITEA_URL=... -e GITEA_TOKEN=... gitea-mcp-server:latest

For a local test Gitea instance: docker compose -f docker-compose.gitea.yml up -d

Key Features

  • Auto-generated tools from Gitea's Swagger spec (converted 2.0 → 3.1)

  • Lazy loading — BM25 search-based tool discovery, not all 200 tools listed upfront

  • Permission filtering — tools hidden based on token scopes

  • Workflow guides — 16 guides explaining Gitea/Forgejo concepts beyond the API

  • MCP Resources — cached, URI-based data access (gitea://repos/{owner}/{repo})

  • Tool annotations — read-only/destructive/idempotent hints per tool

  • mcp_extensions.yaml — customize tool metadata without code

  • HTTP/stdio transport, Docker support, OpenTelemetry observability

Development

# Tests
uv run pytest tests/unit/ -x -q

# Lint & type-check
uv run ruff check gitea_mcp_server/
uv run mypy gitea_mcp_server/

# Coverage
uv run pytest --cov=gitea_mcp_server

See docs/DEVELOPMENT.md and docs/ARCHITECTURE.md.

Contributing

Please read CONTRIBUTING.md for the full workflow. Start with AGENTS.md for project onboarding. The docs/SKILL.md has the developer handbook with conventions, workflows, and checklists for agent contributors.

Changelog

See CHANGELOG.md for release history.

Security

Report vulnerabilities to gitea-mcp-server@pxsloot.nl — see SECURITY.md.

License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with Gitea repositories through intelligent tools for issue/PR management, workflow analysis, compliance checking, and content generation, plus 200+ CLI commands for complete CRUD operations.
    Last updated
    22
    100
    5
    MIT
  • F
    license
    -
    quality
    -
    maintenance
    Enables LLMs to interact with GitHub repositories, issues, pull requests, and workflows through the Model Context Protocol. It provides a comprehensive set of tools for repository management, issue tracking, code search, and CI/CD automation.
    Last updated
  • A
    license
    B
    quality
    D
    maintenance
    A Python-based Model Context Protocol server that provides 87 tools for comprehensive interaction with the GitHub API. It enables AI agents to manage repositories, issues, pull requests, workflows, and projects through automated commands.
    Last updated
    87
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server providing comprehensive Gitea API coverage with 186 tools for managing repositories, issues, pull requests, and CI/CD workflows. It enables autonomous AI agents to perform complex development and administrative tasks directly through a Gitea instance.
    Last updated
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Point Gecko at an OpenAPI spec; get first-call-correct, auth-hidden agent tools.

  • Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.

View all MCP Connectors

Latest Blog Posts

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/pxsloot/gitea-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server