developer-toolsapi_key

Gitea

Community managed lightweight code hosting solution written in Go

Verdict

The Gitea MCP connects your self-hosted Gitea instance to Switchy, letting your team query repositories, manage issues, and pull user or organization data without leaving chat. @mention it to list open PRs, fetch commit history, check repo settings, or grab ActivityPub actor details for federation workflows. Developers and DevOps engineers get the most value — they can audit configurations, triage issues, and review code activity in Spaces where planning happens. You'll need an API key with read access to the repos and orgs you want to query; write operations aren't exposed yet.

Common use cases

  • List open pull requests across repos
  • Audit repository configuration and feature flags
  • Fetch commit history for sprint reviews
  • Retrieve gitignore templates for new projects
  • Check organization membership and permissions

Integration

Vendor
Gitea
Category
developer-tools
Auth
API_KEY
Tools
19
Composio slug
gitea

Tools

  • Get ActivityPub Person Actor

    Tool to retrieve the ActivityPub Person actor for a Gitea user. Use when you need to fetch a user's ActivityPub representation for federation purposes or to get ActivityStreams-formatted user data.

  • Get All Organizations

    Tool to retrieve a paginated list of all organizations in the Gitea instance. Use when you need to list all organizations or browse organizations with pagination support.

  • Get General API Settings

    Tool to retrieve the Gitea instance's global API settings including pagination limits and response size constraints. Use when you need to understand API rate limits or configuration parameters.

  • Get General Attachment Settings

    Tool to retrieve the Gitea instance's global settings for file attachments including enabled status, allowed file types, size limits, and file count limits. Use when you need to understand the attachment configuration of the instance.

  • Get General Repository Settings

    Tool to retrieve the Gitea instance's global settings for repositories including feature flags for mirroring, HTTP Git, migrations, stars, time tracking, and LFS. Use when you need to understand which repository features are enabled or disa

  • Get General UI Settings

    Tool to retrieve the Gitea instance's global settings for UI including default theme, allowed reactions, and custom emojis. Use when you need to understand the UI configuration of the instance.

  • Get Gitignore Template Info

    Tool to retrieve information about a specific gitignore template. Use when you need the content of a gitignore template for repository creation or configuration.

  • Get Label Template Info

    Tool to retrieve all labels from a specific label template. Use when you need to view the predefined label set for repository configuration.

  • Get License Template Info

    Tool to retrieve information about a specific license template. Use when you need the content and details of a license template for repository creation or configuration.

  • Get Node Info

    Tool to retrieve the nodeinfo of the Gitea application. Use when you need standardized metadata about the Gitea server following the NodeInfo specification.

  • Get Signing Key

    Tool to retrieve the default GPG signing key used by Gitea to sign commits. Use when you need to verify commits signed by the Gitea instance or import the public key to trust Gitea-generated commits.

  • Get Version

    Tool to retrieve the version of the Gitea application. Use when you need to check the Gitea server version.

  • List Gitignore Templates

    Tool to retrieve all available gitignore templates. Use when creating a repository to select an appropriate .gitignore template.

  • List Label Templates

    Tool to retrieve all available label templates. Use when you need to discover which predefined label sets are available for repositories.

  • List License Templates

    Tool to retrieve all available license templates. Use when creating a repository to select an appropriate license template.

  • List Organization Actions Secrets

    Tool to list all action secrets for an organization. Use when you need to retrieve the list of secrets configured at the organization level. Note that secret values are never returned through the API for security purposes.

  • Render Markdown

    Tool to render a markdown document as HTML with configurable rendering modes and context. Use when you need to convert markdown to HTML with specific rendering contexts like comments, wiki pages, or files.

  • Render Markdown Raw

    Tool to render raw markdown text as HTML. Use when you need to convert markdown content to HTML format for display or processing.

  • Render Markup

    Tool to render a markup document as HTML with support for multiple markup formats. Use when you need to convert markup content (Markdown, AsciiDoc, etc.) to HTML with specific rendering contexts like comments, wiki pages, or files.

Setup

Setup guide

  1. 11. In your Gitea instance, navigate to Settings → Applications → Generate New Token and create an API key with at least read:repository and read:organization scopes. 2. Copy the token immediately — Gitea shows it only once. 3. In Switchy, open your workspace settings and click Integrations → Add MCP → Gitea. 4. Paste your Gitea instance URL (e.g. https://git.yourcompany.com) and the API key you just generated. 5. Click Connect and wait for Switchy to verify the token against your instance. 6. Open any Space, type '@Gitea list all organizations' and send — if you see a list of orgs, the connection works. 7. To test repo access, try '@Gitea show me the general repository settings' — you should get feature flags for mirroring, LFS, and time tracking.

What teammates see: by default, memories from Gitea are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

List All Organizations

@Gitea show me all organizations in our instance, paginated if there are more than 50
Open in a Space →

Check Repo Settings

@Gitea get the general repository settings and tell me which features are turned on
Open in a Space →

Fetch Gitignore Template

@Gitea grab the Node gitignore template and paste the full content here
Open in a Space →

Review Attachment Limits

@Gitea what are the attachment settings for this instance — file types, size limits, and count limits
Open in a Space →

Get User ActivityPub Actor

@Gitea fetch the ActivityPub actor for username 'alice' and show me the JSON
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@gitea list all organizations in our instance and show me their member counts

Output

Here are the organizations in your Gitea instance: **Engineering** (12 members) - Main development teams **DevOps** (5 members) - Infrastructure and deployment **Documentation** (3 members) - Technical writing **Security** (4 members) - Security review and auditing This data comes from the paginated organizations endpoint. Each organization includes basic metadata like creation date and visibility settings. I can drill into any specific org if you need member details or repository lists.

Notes

This example uses the Get All Organizations tool to provide visibility across your self-hosted Gitea. Requires API key with org:read scope. Response is limited by the instance's pagination settings (typically 50 items per page) — larger instances may need follow-up queries to see all orgs.

Prompt

@gitea what gitignore template should I use for a new Python data science project?

Output

For a Python data science project, I recommend the **Python** gitignore template. Here's what it excludes: - Python bytecode (*.pyc, __pycache__) - Virtual environments (venv/, env/) - Jupyter notebook checkpoints (.ipynb_checkpoints/) - Distribution/packaging artifacts (dist/, build/, *.egg-info) - pytest cache and coverage reports This template covers standard Python patterns. You may want to manually add data-specific exclusions like `*.csv`, `*.h5`, or `models/` depending on your workflow.

Notes

This example demonstrates the Get Gitignore Template Info tool, which retrieves pre-configured ignore patterns. Useful during repository setup to avoid committing build artifacts or credentials. The template content is static — you'll need to customize it for project-specific data files or model checkpoints.

Prompt

@gitea check our instance settings and tell me if LFS and time tracking are enabled for repos

Output

Based on your Gitea instance's repository settings: **Git LFS**: ✅ Enabled - Large file storage is available for all repositories **Time Tracking**: ✅ Enabled - Issue time estimates and logging are active Additional flags: - HTTP Git access: Enabled - Repository mirroring: Enabled - External migrations: Disabled These are instance-wide defaults. Individual repositories may have features disabled at the repo level. LFS requires client-side git-lfs installation to use.

Notes

This example uses Get General Repository Settings to surface instance-level feature flags. Helpful for onboarding new teams or troubleshooting why a feature isn't available. Requires admin-level API access to read global settings. Note that these are defaults — repo owners can override some settings per-repository.

Use-case deep-dives

Self-hosted repo migration planning

When Gitea MCP helps teams scope a self-hosted move

A 6-person engineering team evaluating a move from GitHub to self-hosted Gitea can use this MCP to audit their target instance before committing. The Get General Repository Settings and Get General Attachment Settings tools surface deal-breakers early—if your team relies on LFS for design assets and the instance has it disabled, you know before migration day. The Get All Organizations tool confirms the instance can handle your org structure at the scale you need. This is a pre-decision integration: run it once during evaluation, not daily in production. If you're already on Gitea and need live repo work (PRs, issues, commits), you want the GitHub MCP or a Git-native tool instead. Use Gitea MCP when you're shopping for a self-hosted platform, not operating one.

Federated identity lookup for open-source

When ActivityPub federation matters for contributor identity

An open-source maintainer team running Gitea with ActivityPub federation enabled can use the Get ActivityPub Person Actor tool to resolve contributor identities across federated instances. This matters when you're coordinating with contributors who authenticate via Mastodon or other ActivityPub services—you need their actor URI to verify identity or send federated notifications. The use-case is narrow: if your Gitea instance isn't federated (most aren't), this tool does nothing. If you're just managing issues and PRs on a single instance, the other 18 tools won't help either—they're mostly settings-inspection, not workflow automation. Use this MCP when you're running a federated Gitea setup and need programmatic access to ActivityPub metadata. For standard repo work, stick with Git or GitHub integrations.

Template-driven repo provisioning at scale

When Gitea MCP speeds up bulk repository creation

A platform team provisioning 20+ new service repos per quarter can use the Get Gitignore Template Info and Get Label Template Info tools to standardize repo setup without manual clicks. You script the template fetch, apply it to each new repo via API, and ensure every service starts with the same ignore rules and label taxonomy. This works when your Gitea instance has custom templates defined and you're creating repos in batches—if you're provisioning one repo a month, the overhead isn't worth it. The MCP doesn't create repos itself (you'd call the Gitea API directly for that), but it surfaces the template data you need to feed into your provisioning script. Use this when you're automating repo creation at a cadence where consistency matters more than speed.

Frequently asked

What can the Gitea MCP do in Switchy?

The Gitea MCP connects your self-hosted Gitea instance to Switchy, letting AI agents read organization lists, repository settings, user data, and configuration templates. It's designed for teams running their own Git infrastructure who want AI to understand their Gitea setup without switching to GitHub or GitLab. The MCP focuses on read operations — checking settings, fetching templates, browsing organizations.

What API key permissions does Gitea MCP need?

You'll need a Gitea API token with read access to the resources you want Switchy to query. If your team only needs organization browsing and settings checks, a token with basic read scope works. For ActivityPub user data or repository configuration details, ensure the token has user and repo read permissions. Generate the token in your Gitea instance under Settings → Applications → Generate New Token.

Can the Gitea MCP create repositories or push code?

No. This MCP is read-only — it retrieves settings, templates, and metadata but doesn't create repos, push commits, or modify issues. If you need write operations, use Gitea's API directly or connect a CI/CD tool that integrates with both Gitea and Switchy. The MCP is for AI agents that need to understand your Gitea environment, not change it.

How is this different from just using Gitea's web UI?

The MCP lets AI agents in Switchy query your Gitea instance programmatically without you manually copying settings or navigating the UI. Instead of screenshotting your repository config or pasting gitignore templates into chat, the agent fetches them directly. It's faster for repetitive lookups and keeps context in one place, but you'll still use Gitea's UI for anything the MCP can't read.

Who on the team should connect the Gitea MCP?

Whoever manages your Gitea instance or has admin access to generate API tokens. That's usually a DevOps lead or senior engineer. Once connected, anyone on your Switchy workspace can use it in conversations — the token is shared at the workspace level. If your Gitea instance has strict access controls, coordinate with your admin to ensure the token only exposes what your team needs.

Data last verified 607 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.