Gitea MCP Server

Gitea repositories managed directly through custom file upload and sync tools.

Data last scanned today · Reviewed today

241 dangerous tool4 tools13TypeScriptApache-2.0

Overview

The Gitea MCP Server provides a bridge for AI agents to interact with self-hosted Gitea instances. It supports core repository management tasks including the creation of new repositories and the bulk uploading of files while maintaining original folder structures. Built in TypeScript, the server handles project synchronization and modification of existing files with integrated conflict resolution. Users can configure connections to multiple Gitea instances simultaneously, utilizing environment variables to manage API rate limits, request timeouts, and batch processing parameters.

Our verdict

This server carries a high risk level with a security score of 24/100. Key contributors to this assessment include the lack of editorial review and the fact that it is a community-maintained project rather than an official vendor release. Given these factors, it is recommended for use in non-critical environments or personal sandboxes where the underlying infrastructure is strictly controlled.

  • Supports multi-instance Gitea configurations simultaneously
  • Preserves directory structure during file upload operations
  • Small dependency footprint with only 9 direct dependencies
  • Provides built-in logic for API rate limiting and retries
  • Community-maintained with no official vendor support
  • Security aspects like OAuth and read-only modes remain unreviewed
  • Low bus-factor risk with only a single contributor
  • Inactivity concerns with the last commit 115 days ago

Setup

Claude Desktop
{
  "mcpServers": {
    "gitea-mcp": {
      "args": [
        "-y",
        "gitea-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
create_repositoryCreate a new repository on a specified Gitea instance.medium
upload_filesUpload multiple files to a repository while preserving directory structure.medium
sync_projectAutomatically discover and sync an entire project directory to a Gitea repository while respecting .gitignore rules.medium
sync_updateAdvanced tool for updating existing files in Gitea repository with intelligent conflict resolution and change detection.high

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What are the prerequisite system requirements to run this server?

You need Node.js version 18.0.0 or higher installed, along with access to one or more Gitea instances and the corresponding personal access tokens.

How do I configure multiple Gitea instances?

You can define multiple instances within the GITEA_INSTANCES environment variable, which accepts a JSON array of objects, each requiring a unique id, name, baseUrl, and personal access token.

What permissions are required for the Gitea personal access token?

Your token must be created with 'repo' (full repository access), 'write:repository' (for creating repositories), and 'read:user' permissions.

Does this server handle API rate limiting?

Yes, you can configure rate limiting per instance within the GITEA_INSTANCES environment variable by defining the requests count and windowMs duration.

Why might the build script fail on Windows?

The default build script uses the 'chmod' command, which is not natively available on Windows; however, the package.json is updated to include a Windows-compatible build script.

How can I enable debug logging?

You can enable debug logging by setting the LOG_LEVEL environment variable to 'debug' and running the 'npm run start:mcp' command. If you encounter configuration issues, ensure the 'pino-pretty' package is installed as a development dependency.

Badge

Gitea MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.