mcp-gitea
Provides tools for interacting with Gitea, enabling AI agents to manage issues, repositories, files, pull requests, and perform analysis with AI prompts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-giteashow open issues for my-org/my-repo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gitea MCP Server
A Model Context Protocol (MCP) server for interacting with Gitea. This package is designed to be used as a standalone server or imported by a gateway.
π Capabilities
Issues: List, search, create, update, comment.
Repositories: List repos, branches, labels.
Files: Read file content.
Pull Requests: Create PRs.
Analysis: Analyze issues with AI prompts.
Shell: Execute safe git commands in WSL (
run_safe_shell).
Related MCP server: gitea-mcp
π Security
Allowed Paths: Restricted via
MCP_ALLOWED_PATHSenvironment variable.Git Safety: Only whitelisted git subcommands are allowed. Global flags are blocked.
π¦ Installation
npm install @boringstudio_org/gitea-mcpπ Usage
Via NPX (Recommended)
# Configure environment variables
export GITEA_TOKEN=your_token
# Optional: Defaults to https://git.your-instance.com/api/v1
export GITEA_API_URL=https://git.your-instance.com/api/v1
# Cloudflare Access (Optional)
# If your Gitea instance is behind Cloudflare Zero Trust
export CF_ID=your_cf_client_id
export CF_SECRET=your_cf_client_secret
# Run
npx @boringstudio_org/gitea-mcpStandalone (From Source)
# Install dependencies
npm install
# Configure .env
echo "GITEA_TOKEN=..." > .env
echo "GITEA_API_URL=..." >> .env
# Optional: Cloudflare Access
echo "CF_ID=..." >> .env
echo "CF_SECRET=..." >> .env
# Run
node index.jsAs a Library
import { runGiteaServer } from "@boringstudio_org/gitea-mcp";
// Ensure environment variables are set
runGiteaServer().catch(console.error);π License
MIT
Available Tools
11 toolsadd_commentB
Leave a comment on a Gitea issue
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| repo | Yes | ||
| owner | Yes | ||
| issue_number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'Leave a comment', implying a write operation, but lacks details on permissions, idempotency, or potential side effects (e.g., whether duplicate comments are allowed).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the key information. It could be slightly improved by adding essential details without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no output schema, 4 required params), the description is minimally adequate but lacks details on return values, error handling, or behavior when the issue doesn't exist. Sibling tools like get_issue_details have richer descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should explain parameters. It implicitly conveys that 'body' is the comment text and 'owner'/'repo' identify the repository, but does not explain format or constraints for any of the four required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Leave a comment) and the resource (a Gitea issue), distinguishing it from sibling tools like create_issue (creates a new issue) or update_issue (modifies issue fields).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent has no context to decide between add_comment and other issue-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_issueC
Create a new issue in the repository
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| repo | Yes | ||
| owner | Yes | ||
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description offers no behavioral details beyond the action. It does not disclose authentication needs, side effects, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is a single sentence, it is under-specified and lacks necessary details. Conciseness should not compromise completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (3 required) and no output schema, the description is insufficient. It omits return values, permissions, and typical usage patterns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters. It only repeats the resource name without adding meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an issue in a repository, using a specific verb and resource. It distinguishes from siblings like create_pull_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like update_issue or list_issues. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pull_requestC
Create a Pull Request
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | ||
| body | No | ||
| head | Yes | ||
| repo | Yes | ||
| owner | Yes | ||
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It fails to mention any side effects, permissions, or what happens in edge cases like duplicate PRs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single phrase, but it is not appropriately sized; it is under-specified. Conciseness requires complete information, not just brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is grossly incomplete. It does not cover essential context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the 6 parameters. Required parameters like owner, repo, head, and title are not explained beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action 'Create' and the resource 'Pull Request', making the purpose clear. However, it does not distinguish this tool from sibling tools like create_issue, though the name is self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, nor any alternatives or exclusions. It lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_issue_detailsB
Read the full issue description and its status
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| issue_number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('Read'), but with no annotations, it carries the full burden. It does not disclose potential errors, permissions, or side effects. However, for a simple get tool, the basic behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It is not verbose, but could potentially include additional useful context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 required parameters, no output schema), the description covers the basic purpose. However, it lacks details on return format, error handling, or any caveats. It is minimally complete for a straightforward fetch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about the parameters (owner, repo, issue_number). While parameter names are self-explanatory, the description adds no value beyond the schema, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the full issue description and status, which distinguishes it from sibling tools like list_issues (which lists issues without details) and update_issue (which modifies). The verb 'Read' and resource 'issue' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_issues or list_issues. No exclusions or prerequisites are mentioned. The description is purely functional without context on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_branchesC
List branches in the repository
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing behavioral traits like read-only, pagination, sorting, or required permissions. A simple 'List branches' is insufficient for the agent to understand side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded, containing no wasted words. However, it lacks any structure (e.g., bullet points or additional context) which would be beneficial for a tool with undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 required parameters, no output schema, and no annotations, the description is far from complete. It does not explain return values, possible filters, error conditions, or prerequisites. The agent receives minimal context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (owner, repo) with no descriptions. Schema description coverage is 0%, and the description does not explain what 'owner' or 'repo' mean (e.g., GitHub username, repository name format). The mention of 'repository' only covers one parameter, leaving owner undefined. This severely undermines correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (branches), and the context 'in the repository' combined with the required parameters (owner, repo) makes the purpose specific. It distinguishes from siblings like list_repos or list_issues because no other sibling lists branches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic context (list branches in a repository) but offers no guidance on when to use it versus alternatives, nor any prerequisites or exclusions. It is implied that it is used to retrieve branches, but explicit when-not or alternative suggestions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_issuesC
Get a list of all open issues in the repository
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | ||
| limit | No | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must fully describe behavior. It only states the scope ('all open issues') but does not disclose pagination, sorting, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. However, for a tool with 4 parameters and no other documentation, it is too brief and lacks front-loaded essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not mention return format, pagination behavior, or how results are ordered. Given the pagination parameters (page, limit), this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any of the 4 parameters (owner, repo, page, limit), leaving their meaning entirely to the schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'list of all open issues in the repository'. It implies a basic listing operation, which differentiates it from siblings like search_issues or get_issue_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use list_issues versus search_issues or get_issue_details. No mention of pagination or filtering options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_labelsB
Get a list of all labels in the repository
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must disclose behavior. It fails to mention that this is a read-only operation, does not cover pagination, rate limits, or return format, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no extraneous information. Every word is necessary and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (2 params, list output), the description covers the basic purpose but lacks details on return values. Without output schema, agent has incomplete expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description adds no meaning beyond parameter names. Parameters 'owner' and 'repo' are not explained, leaving the agent to infer from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and resource 'labels', specifying it lists all labels in a repository. The resource is distinct from sibling tools (list_repos, list_issues), making usage unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool versus alternatives, lacks context on prerequisites (e.g., need owner and repo), and does not mention any constraints or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_reposB
Get a list of all user/organization repositories
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It does not mention authentication requirements, pagination, or whether only public repos are listed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 8 words, no redundant information, perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list operation, but lacks details on authentication, scope, and ordering. Could be improved for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds minimal value beyond the schema. The term 'user/organization' may confuse since the only parameter is 'org'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a list of all user/organization repositories' with specific verb and resource. Distinct from sibling tools which focus on issues and pull requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no exclusions, and no mention of default behavior when 'org' is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_safe_shellB
Execute a safe shell command (git only) in a specific directory
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | The working directory for the command | |
| args | Yes | The arguments for the command | |
| command | Yes | The command to execute (must start with 'git') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'safe' and 'git only' but does not detail what happens on success/failure, security implications, or side effects. The behavioral transparency is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the tool's purpose without any unnecessary words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity, the schema covers parameters, but there is no output schema. The description lacks usage guidelines and behavioral details, leaving gaps in completeness for an execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema adequately documents each parameter. The description adds the constraint that command must start with 'git', which is consistent with the schema. Baseline 3 is appropriate as no extra meaning is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (execute), the resource (safe shell command), and constraints (git only, specific directory). It distinguishes this tool from sibling tools focused on repos, issues, etc., making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks context for appropriate usage, such as prerequisites, error handling, or scenarios where this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_issuesC
Search for issues in a repository using keywords
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| query | Yes | ||
| state | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'search for issues'. It does not disclose whether search covers title, body, comments, or how pagination, rate limits, or ordering work. The state parameter from the schema is not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it omits critical information. It is under-specified rather than efficiently packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 4 parameters with zero schema descriptions, the description should at least hint at return format (e.g., list of issues) or pagination. It does not, leaving the agent without enough context to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the parameters. It mentions 'keywords' but does not explain the query parameter or the owner, repo, or state fields. The state enum is left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'issues', and mentions using 'keywords', which distinguishes it from list_issues (listing all) and get_issue_details (specific issue). However, it could be more specific about what fields are searched (e.g., title, body).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like list_issues or get_issue_details. There is no mention of when-to-use, when-not-to-use, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_issueB
Update an issue (change state, title, body, or labels)
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| repo | Yes | ||
| owner | Yes | ||
| state | No | ||
| title | No | ||
| labels | No | ||
| issue_number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'update' implying mutation, but does not mention side effects, authentication needs, reversibility, or response behavior. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. Every word earns its place, making it quick to parse. Ideal for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and seven parameters, the description is overly sparse. It does not explain return values, whether updates are partial or full, or any prerequisites. For a mutation tool, this lacks critical context for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists four updateable parameters (state, title, body, labels) but omits the three required identifier parameters (owner, repo, issue_number) and does not clarify types or constraints (e.g., state enum). This adds some value but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Update') and resource ('issue'), and lists the modifiable fields (state, title, body, labels). It distinguishes from siblings like create_issue and add_comment, leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like create_issue or add_comment. The description implies usage for modifying existing issues, but lacks when-not or prerequisite information. Adequate but not helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
11 tool updates
v1.8.0- First observed
add_comment - First observed
create_issue - First observed
create_pull_request - First observed
get_issue_details - First observed
list_branches - First observed
list_issues - First observed
list_labels - First observed
list_repos - First observed
run_safe_shell - First observed
search_issues - First observed
update_issue
TDQS
Each tool targets a distinct resource and action, with no overlap. For example, 'list_repos', 'list_issues', and 'list_labels' clearly differentiate repositories, issues, and labels. 'search_issues' and 'list_issues' serve different purposes (search vs. listing).
Most tools follow a consistent verb_noun pattern (e.g., 'list_repos', 'create_issue', 'update_issue'). The one exception is 'run_safe_shell', which uses an adjective between verb and noun, breaking the pattern slightly.
With 11 tools, the set is well-scoped for a Gitea MCP server. It covers essential operations like repository listing, issue management (CRUD, search, labels, comments), branch listing, and pull request creation without being excessive.
The tool set covers issue workflows well (create, read, update, comment, search, labels) but misses repository creation/deletion and pull request operations beyond creation (e.g., listing, merging). Branch management is limited to listing, and the 'run_safe_shell' tool is an outlier.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for siGit (sigit.si): browse repos, search code, manage PRs/issues, web search.
A MCP server built for developers enabling Git based project management with project and personalβ¦
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for managing your repositories on Forgejo/Gitea server.66Mozilla Public 2.0
- AlicenseAqualityAmaintenanceMCP server for managing Gitea repositories via the Gitea API, enabling operations on issues, comments, labels, milestones, and repository info.72721MIT
- AlicenseNot gradedqualityCmaintenanceA secure, git-aware MCP server for working with local repositories, enabling file management, shell commands, and full git operations within allowed directories.6071GPL 3.0
- FlicenseNot gradedqualityDmaintenanceMCP server for Forgejo that exposes tools for pull requests, repositories, and issues, leveraging the local fj CLI.-
Appeared in Searches
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/boringstudio-org/mcp-gitea'
If you have feedback or need assistance with the MCP directory API, please join our Discord server