gitea-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITEA_URL | Yes | Base URL of your Gitea instance (e.g., https://gitea.example.com) | |
| GITEA_TOKEN | Yes | Personal Access Token from your Gitea user settings | |
| GITEA_TIMEOUT | No | HTTP request timeout in seconds | 30 |
| GITEA_MAX_RETRIES | No | Max retries for transient failures on idempotent methods | 3 |
| GITEA_RETRY_BASE_DELAY | No | Base delay (seconds) for exponential backoff between retries | 0.5 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_fileA | Read a file's content from a Gitea repository. Returns Gitea's The |
| create_branchA | Create a new branch in a repository. Returns the created Gitea Branch object. Fails cleanly via
:class: |
| commit_changesA | Create or update a single file on a branch in one commit. Auto-detects whether the file exists:
Returns Gitea's Single-file only. Multi-file commits would require Gitea's Git Trees API and are deliberately out of scope for this tool. |
| create_prA | Open a new pull request from Returns the created Gitea PullRequest object (including the assigned
number, URL, and merge status). Raises :class: |
| create_issueA | Create a new issue in a Gitea repository. Returns the full Gitea Issue object including the assigned number, URL, and metadata. Label names are resolved to IDs against the repository's label set; an unknown label name fails the call cleanly with the list of valid names. |
| list_issuesA | List issues in a Gitea repository. Pull requests are excluded; only true issues are returned. Filters compose (state AND labels AND assignee). |
| get_issueA | Get a single issue by number, including all of its comments. The returned object is the standard Gitea Issue payload, with an additional
|
| update_issueA | Update an existing issue's title, body, state, assignees, milestone, or labels. Each argument is independent — pass only the fields you want to change.
Labels are replaced atomically against the new set (passing |
| add_commentB | Add a comment to an existing issue. Returns the created Comment object. |
| list_branchesA | List branches in a repository. Returns the standard Gitea Branch object array: |
| list_pull_requestsA | List pull requests in a repository, optionally filtered by state. Returns Gitea PullRequest objects (not Issue-style — the PR endpoint
returns richer head/base/mergeable info than the issues endpoint does
even when issues are filtered to |
| get_pull_requestA | Get a single pull request by number, including its discussion comments. Mirrors :func: |
| add_comment_on_prA | Add a comment to a pull request's discussion thread. Posts to |
| merge_prA | Merge a pull request. Calls |
| list_releasesA | List releases for a repository. Returns the standard Gitea Release object array, including drafts and pre-releases. Sort order is newest first. |
| create_releaseA | Create a new release in a repository. .. warning:: Side effects: if |
| list_reposA | List repositories. Three modes:
|
| list_labelsA | List labels defined in a repository. Returns the standard Gitea Label object: |
| list_milestonesA | List milestones in a repository, optionally filtered by state. |
| get_server_versionA | Return the running gitea-mcp server's version. No network call — just reports the package version. |
| get_server_infoA | Return information about the running gitea-mcp server and its Gitea connection. Performs two Gitea API calls — Returns a dict with:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/werebear73/gitea-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server