gitea-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITEA_TOKEN | Yes | Gitea API access token | |
| GITEA_BASE_URL | Yes | Gitea instance URL (e.g. https://gitea.example.com) | |
| GITEA_DEFAULT_REPO | No | Default repository name (avoid passing repo on every call) | |
| GITEA_DEFAULT_OWNER | No | Default repository owner (avoid passing owner on every call) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_issues | List issues in one Gitea repository. Paginated: page is 1-based, limit <= 100; keep paging until a page returns fewer than |
| get_issue | Fetch one issue by its |
| create_issue | Create an issue. |
| update_issue | Update one issue by |
| delete_issue | PERMANENTLY delete an issue by |
| search_issues | Search issues (and pull requests) across ALL repositories the token can see, by keyword/type/state/labels. Use for 'find issues about X' or duplicate detection across repos; set type='issues' to exclude pull requests. For listing one repo's issues use list_issues instead. |
| list_comments | List comments on one issue by its |
| create_comment | Add a comment to an issue by its |
| update_comment | Edit a comment by its |
| delete_comment | Delete a comment by its |
| list_labels | List labels in a repo. Paginated (page 1-based, limit <= 100); page until a page returns fewer than |
| create_label | Create a label. |
| update_label | Update a label by |
| delete_labelA | Permanently delete a label by |
| add_issue_labels | Add labels to an issue by its |
| remove_issue_label | Remove ONE label from an issue. Takes the label |
| replace_issue_labels | REPLACE the issue's ENTIRE label set. |
| clear_issue_labels | Remove ALL labels from an issue by its |
| list_milestones | List milestones in a repo. Paginated (page 1-based, limit <= 100). RISK: Gitea's DEFAULT returns only OPEN milestones — pass state='all' or 'closed' if you need closed/completed ones. Each milestone has |
| get_milestone | Fetch one milestone by |
| create_milestone | Create a milestone. |
| update_milestone | Update a milestone by |
| delete_milestone | Permanently delete a milestone by |
| list_topics | List a repository's topics (tags). Returns the topic name list for the repo — useful to inspect classification before editing. Topic names are lowercase letters, digits, and hyphens. Paginated (page 1-based, limit <= 100). |
| replace_topics | REPLACE a repository's ENTIRE topic set. |
| add_topic | Add ONE topic to a repository by name. Idempotent: adding an existing topic does not error. Topic name: lowercase letters, digits, and hyphens, starting with a letter/digit. To add several topics at once or to set the exact desired set, prefer replace_topics. |
| remove_topic | Remove ONE topic from a repository by name. No error if the topic is not currently on the repo (idempotent delete). Topic name: lowercase letters, digits, and hyphens, starting with a letter/digit. Confirm with the user first. |
| list_pull_requests | List pull requests in one Gitea repository. Paginated: page is 1-based, limit <= 100; keep paging until a page returns fewer than |
| get_pull_request | Fetch one pull request by its |
| create_pull_request | Create a pull request. |
| update_pull_request | Update one pull request by |
| merge_pull_request | Merge a pull request by |
| is_pull_merged | Check whether a pull request has been merged. Returns a boolean ( |
| list_pull_commits | List the commits in one pull request by its |
| list_pull_files | List the files changed in one pull request by its |
| list_action_runs | List Gitea Actions workflow runs in one repository. Paginated: page is 1-based, limit <= 100; keep paging until a page returns fewer than |
| get_action_run | Fetch one Actions workflow run by its |
| cancel_action_run | Cancel one Actions workflow run by |
| rerun_action_run | Rerun an entire Actions workflow run by |
| rerun_action_run_failed_jobsA | Rerun ONLY the failed jobs of an Actions workflow run by |
| resolve_repo | Detect baseUrl/owner/repo from a git repository's remotes (SSH or HTTPS). Reads |
| list_my_repos | List repositories the authenticated token's user can access (across ALL owners/orgs). Paginated (page 1-based, limit <= 100). Each repo object is large — keep |
| gitea_statusA | Report the resolved credential state: every discovered credential candidate, its source (gitea-config / env / credential-store), the auth schemes that will be tried, and per-scheme outcome (pending / active / exhausted with redacted last error). Secrets are NEVER returned — only a |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| triage_issues | List open issues in a repo, read context on ambiguous ones, and propose priority labels + next actions. Returns an instruction the model executes via the tools. |
| summarize_issue | Read one issue plus its comment thread and produce a concise status: decisions, open questions, and a recommended next action. |
| audit_labels | List every label in a repo and report duplicates, inconsistent colors, missing descriptions, and a proposed cleanup. Read-only analysis; applies nothing. |
| milestone_report | List all milestones in a repo, compute completion % for each, and flag overdue milestones that still have open issues. Read-only. |
| triage_pull_requests | List open pull requests in a repo, inspect high-priority ones (commits, files, mergeability), and propose review/merge/close actions. Returns an instruction the model executes via the tools. |
| summarize_pull_request | Read one pull request (body, commits, changed files, comment thread) and produce a concise review summary: what it changes, mergeability, open questions, and a recommended action (merge / request changes / close). |
| triage_action_runs | List recent Gitea Actions workflow runs in a repo, identify stuck/failed/running ones, and propose cancel or rerun actions. Returns an instruction the model executes via the tools. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| field-reference | Gitea object field reference (Issue, Label, Milestone, Comment, Repo, User) |
| label-guide | Label management guide: name-vs-id matrix, conventions, safe/unsafe operations |
| tool-cookbook | Task-to-tool recipes: discover, read, create, edit, destructive ops, pagination, errors |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- 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/amonstack/gitea_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server