gitea-mcp
Server Quality Checklist
Latest release: v1.0.59
- Disambiguation3/5
The tools are divided by operation category (read, write, delete, etc.) with clear names, but there is overlap: gitea_delete and gitea_admin_write both handle DELETE operations, and gitea_execute may overlap with gitea_write for actions like merge PR. An agent may be uncertain which umbrella tool to use for a given operation.
Naming Consistency4/5All tools share the gitea_ prefix and use snake_case, which is consistent. However, gitea_version is a noun while the others are verbs (read, write, delete, execute), a minor deviation from the otherwise verb-based pattern.
Tool Count5/5With 7 tools, the count is well within the typical range for a server that wraps a full API. Each umbrella tool covers a broad category of operations, making the top-level count compact and manageable.
Completeness4/5The set covers the core domains: version info, read/write/delete operations, admin read/write, and side-effecting actions. The split between gitea_write and gitea_execute is somewhat redundant for certain actions, and there is no dedicated search tool, but overall coverage is strong.
Average 4.2/5 across 7 of 7 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 26 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full transparency burden. It discloses strict parameter validation and the meta-operation behavior (help/schema), which is useful. However, it does not mention authentication, rate limits, response format, or potential side-effect-free nature beyond the word 'read'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured with clear line breaks separating operational modes. Every sentence contributes to usability. It avoids unnecessary prose while covering the essential mechanics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the dynamic dispatcher complexity and lack of output schema/annotations, the description explains how to discover operations (help), inspect schemas (schema), and invoke with validation details. It is sufficiently complete for a meta-tool, though examples of actual operations and return values would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema lists 'operation' and 'params' without descriptions (0% schema coverage). The description compensates by explaining the three operation modes ('help', 'schema', '<OpName>') and the role of 'params' as a validated pass-through argument object. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States 'Gitea admin read operations (GET /admin/*)' which clearly identifies the resource and verb scope. It distinguishes from write/delete/execute siblings by the 'admin' and 'read' qualifiers, though it does not explicitly differentiate from the generic sibling 'gitea_read'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed operational instructions (help, schema, invoke) but gives no guidance on when to choose this tool over alternatives like gitea_read or gitea_admin_write. No explicit 'use this when...' or 'instead of...' statements. Usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description only states 'get version', no mention of side effects, permissions, or idempotency. With no annotations, the burden is entirely on the description, which is lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded with the key action and target. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple version retrieval tool with no parameters, though it could mention expected return format (e.g., version strings).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so baseline score of 4 applies. Description adds no parameter info, but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly describes retrieving the Gitea MCP server and service version, which is distinct from sibling tools like gitea_read or gitea_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for checking version, but no explicit guidance on when to use or not use it, nor alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the side-effecting nature ('side-effecting actions') and warns about strict validation ('Params validated strictly: unknown keys, wrong types, missing required → ValueError'). It also explains the introspection operations 'help' and 'schema' which let the agent discover behavior. It does not mention permissions or reversibility, but the side-effect warning is a strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized but every line is functional. The intro line defines scope, then bullet-like code lines explain each operation mode. It is well-structured and front-loaded with the core purpose. It could be slightly trimmed, but it is not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a generic dispatcher with potentially many operations, the description is fairly complete. It explains the invocation pattern, discovery mechanisms, and validation behavior. It doesn't list all possible ops, but the 'help' operation exists for that. It could mention return values, but the 'schema' operation likely provides that for each op. Overall, it covers the essential usage context well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only 'operation' and 'params' with no descriptions, and 0% coverage. The description adds rich semantics: operation selects the op, params holds arguments, and it details special operations ('help', 'schema') with usage examples. This fully compensates for the schema's vagueness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gitea action triggers — merge PRs, dispatch workflows, and other side-effecting actions beyond plain CRUD.' This gives a specific verb (trigger) and resource (Gitea actions), and explicitly distinguishes it from the CRUD siblings by saying 'beyond plain CRUD'. It also provides concrete examples (merge PRs, dispatch workflows).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: for side-effecting actions beyond plain CRUD. It also explains discoverability via 'help' and 'schema' operations. However, it does not explicitly name sibling alternatives or state 'use this instead of gitea_write for workflow dispatch'. The boundary is clear but not explicitly exclusionary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that operations are safe and GET-only, implying no side effects. Also mentions strict param validation with ValueError. Missing details on authentication or rate limits, but these are likely shared across tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with bullet-point structure, front-loading the purpose. Each sentence provides necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the meta-operation system thoroughly, including help and schema retrieval. Lacks details on error handling beyond validation errors and does not specify output format, but the schema mechanism addresses schema queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but description compensates by explaining the meaning of 'operation' and 'params', including the meta-pattern for listing ops and schemas. Adds value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Gitea read operations — safe, GET-only', specifying the verb (read) and resource (Gitea operations). Distinguishes from sibling tools (admin_read, write, delete, etc.) via the 'safe, GET-only' phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions for using operation='help', 'schema', and specific operation invocations. However, does not explicitly state when to not use this tool vs siblings, though the name and 'safe, GET-only' imply a read-only scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully shoulders the transparency burden. It discloses that operations are write-oriented, describes strict parameter validation with field-level error details, and explains the behavior of help, schema, and invocation modes. It could be more explicit about side effects like actual data mutation, but 'write operations' suffices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a few sentences to cover all operational modes. It is structured in a readable bullet-point-like manner. However, the formatting could be cleaner with explicit lists for better scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple operations like help, schema, invoke), the description covers all aspects thoroughly. It explains each operational mode, error handling, and parameter behavior. No output schema exists, but the description implies the nature of returns (list of ops, schema, or invocation results). This is complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% coverage with no descriptions, but the description adds comprehensive semantics for both parameters: operation strings ('help', 'schema', '<OpName>') and params (optional object used for search filtering and invocation arguments). This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for admin write operations (POST/PUT/PATCH/DELETE /admin/*) and admin-scope actions like running cron jobs. It distinguishes itself from siblings such as gitea_admin_read and gitea_write by specifying the scope and HTTP methods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is for admin write operations and admin-scope actions. It describes how to use help and schema operations for exploration. However, it does not explicitly state when not to use it or provide direct comparisons with sibling tools, missing clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully carries the burden. It discloses destructive nature, strict validation with field-level errors, and meta-operations (help, schema). This provides clear behavioral expectations beyond a simple 'delete' operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and structured with line breaks for each mode of operation. It is informative but could be more concise by grouping related info. The length is acceptable given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and complex meta-operations, the description provides essential context. It explains help, schema, and invocation behavior, and mentions field-level errors. However, it lacks examples of specific delete operations and return value formats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema coverage, the description explains the 'operation' parameter in detail: values like 'help', 'schema', and '<OpName>' with specific behaviors. For 'params', it states validation rules. However, it does not enumerate all possible operation names or their required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gitea delete operations (DELETE) — destructive', specifying the verb and resource. It explains the operation parameter with help, schema, and invocation modes, distinguishing it from sibling tools focused on read, write, admin, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on using 'help' to list ops, 'schema' for one op's schema, and '<OpName>' to invoke. Mentions strict validation and error behavior. However, lacks advice on when to prefer this over sibling tools or specific prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the transparency burden. It discloses strict validation behavior (ValueError with field-level detail), how to list operations via 'help', and how to retrieve JSON schemas. It lacks information on authentication, rate limits, or the side effects beyond the generic 'write' implication, but the included behavioral details are specific and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a clean line-based breakdown of operation modes. Each sentence serves a distinct purpose, and there is no redundant or filler content. The formatting enhances scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description provides a complete self-service approach: users can query 'help' for operation lists and 'schema' for detailed parameter schemas. It covers invocation, validation, and error behavior, making it sufficiently complete for a complex dispatcher tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining the 'operation' parameter (accepts 'help', 'schema', or an op name) and the 'params' parameter (optional object with default null, used for search filters, op selection, or invocation arguments). It also clarifies validation rules, adding meaning far beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Gitea write operations — create or update resources (POST/PUT/PATCH),' clearly identifying the tool's function as a dispatcher for write operations. This distinguishes it from sibling tools like gitea_read, gitea_delete, and gitea_execute, and the specific verb+resource phrasing leaves no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys that this tool is for writes, which is a clear usage context. However, it does not explicitly contrast with alternatives or state when not to use it (e.g., 'for reads use gitea_read'). The self-service help and schema mechanisms effectively guide usage for discovery, but explicit exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/nikitatsym/gitea-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server