Part 1: Introduce a single registerTool() wrapper that registers each tool under its canonical mokogitea_* name and, when enabled, the legacy gitea_* name as a deprecated alias pointing at the same handler. Legacy aliases are on by default and can be disabled via MOKOGITEA_MCP_LEGACY_ALIASES (falsy). All 111 server.tool(...) call sites now use registerTool(...). Server version bumped to 1.5.0; README documents canonical vs deprecated naming. Part 2: metadata brand fix -- standards_version description now says "mokocli standards version" (was "mokoplatform"). Added a comment noting display_name is server-derived (no settable param). No /manifest references remain. Closes #33 Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT
gitea-api-mcp
MCP server for MokoGitea REST API v1 operations -- 111 tools (canonical
mokogitea_*names, plus deprecatedgitea_*aliases) for complete MokoGitea instance management from Claude Code and other MCP clients.
Table of Contents
Background
mokogitea-api-mcp is a Model Context Protocol (MCP) server that exposes 111 tools for interacting with the MokoGitea REST API v1. Tools use canonical mokogitea_* names, with legacy gitea_* names retained as deprecated aliases (see Tools). It supports multiple named connections, allowing you to manage several MokoGitea instances from a single server. Authentication uses MokoGitea's native Authorization: token header format.
Install
Prerequisites
- Node.js >= 20.0.0
- A MokoGitea instance with API access
- A MokoGitea access token (Settings > Applications > Generate Token)
Build from Source
git clone https://git.mokoconsulting.tech/MokoConsulting/gitea-api-mcp.git
cd gitea-api-mcp
npm install
npm run build
Configuration
Create ~/.gitea-api-mcp.json:
{
"defaultConnection": "moko",
"connections": {
"moko": {
"baseUrl": "https://git.mokoconsulting.tech",
"token": "your-gitea-access-token",
"insecure": false
}
}
}
Config Fields
| Field | Type | Required | Description |
|---|---|---|---|
baseUrl |
string | Yes | Base URL of your MokoGitea instance |
token |
string | Yes | MokoGitea API access token |
insecure |
boolean | No | Skip TLS verification (self-signed certs) |
Override the config path with the GITEA_API_MCP_CONFIG environment variable.
Multi-Connection Example
{
"defaultConnection": "moko",
"connections": {
"moko": {
"baseUrl": "https://git.mokoconsulting.tech",
"token": "token-for-moko-gitea"
},
"github-mirror": {
"baseUrl": "https://gitea.example.com",
"token": "token-for-mirror"
}
}
}
Usage
Claude Code Registration
Add to your Claude Code MCP config (~/.claude/claude_desktop_config.json or project-level .mcp.json):
{
"mcpServers": {
"gitea-moko": {
"command": "node",
"args": ["/path/to/gitea-api-mcp/dist/index.js"]
}
}
}
Multi-Connection Usage in Claude Code
When using multiple connections, pass the connection parameter to any tool:
Use mokogitea_repo_get with connection "github-mirror" to get owner/repo details.
If connection is omitted, the defaultConnection is used.
Tools
Tool naming: mokogitea_* (canonical) vs gitea_* (deprecated aliases)
As part of the Gitea → MokoGitea brand normalization, the canonical name for
every tool is mokogitea_* (e.g. mokogitea_repo_get, mokogitea_pull_merge,
mokogitea_metadata_update). For a transition window the legacy gitea_* names
are still registered as deprecated aliases that call the same handlers, so
existing agent configs and skills keep working — but new integrations should use
the mokogitea_* names.
The tables below list each tool by its legacy gitea_* name for continuity; the
canonical name is the same string with the gitea_ prefix replaced by
mokogitea_.
Legacy aliases are enabled by default. To expose only the canonical
mokogitea_* names (halving the tool count), set the environment variable
MOKOGITEA_MCP_LEGACY_ALIASES to a falsy value (0, false, off, or no).
While enabled, both names are registered, so the exposed tool count is roughly
double the 111 logical tools during the deprecation window.
User / Auth (3 tools)
| Tool | Description |
|---|---|
gitea_me |
Get the authenticated user info |
gitea_user_orgs |
List organizations the authenticated user belongs to |
gitea_user_repos |
List repositories owned by the authenticated user |
Repositories (8 tools)
| Tool | Description |
|---|---|
gitea_repo_get |
Get repository details |
gitea_repo_create |
Create a new repository |
gitea_repo_delete |
Delete a repository |
gitea_repo_edit |
Edit repository settings |
gitea_repo_fork |
Fork a repository |
gitea_repo_search |
Search repositories |
gitea_org_repos |
List repositories in an organization |
gitea_list_connections |
List configured MokoGitea connections |
File Contents (5 tools)
| Tool | Description |
|---|---|
gitea_file_get |
Get file contents from a repository |
gitea_dir_get |
Get directory contents (file listing) from a repository |
gitea_file_create_or_update |
Create or update a file in a repository |
gitea_file_delete |
Delete a file from a repository |
gitea_tree_get |
Get the git tree for a repository (recursive file listing) |
Branches (4 tools)
| Tool | Description |
|---|---|
gitea_branches_list |
List branches in a repository |
gitea_branch_get |
Get a specific branch |
gitea_branch_create |
Create a new branch |
gitea_branch_delete |
Delete a branch |
Commits (2 tools)
| Tool | Description |
|---|---|
gitea_commits_list |
List commits in a repository |
gitea_commit_get |
Get a specific commit |
Issues (7 tools)
| Tool | Description |
|---|---|
gitea_issues_list |
List issues in a repository |
gitea_issue_get |
Get a single issue by number |
gitea_issue_create |
Create a new issue |
gitea_issue_update |
Update an issue |
gitea_issue_comments_list |
List comments on an issue |
gitea_issue_comment_create |
Add a comment to an issue |
gitea_issue_search |
Search issues across all repositories |
Labels (2 tools)
| Tool | Description |
|---|---|
gitea_labels_list |
List labels in a repository |
gitea_label_create |
Create a label |
Milestones (2 tools)
| Tool | Description |
|---|---|
gitea_milestones_list |
List milestones in a repository |
gitea_milestone_create |
Create a milestone |
Pull Requests (6 tools)
| Tool | Description |
|---|---|
gitea_pulls_list |
List pull requests |
gitea_pull_get |
Get a single pull request |
gitea_pull_create |
Create a pull request |
gitea_pull_merge |
Merge a pull request |
gitea_pull_files |
List files changed in a pull request |
gitea_pull_review_create |
Create a pull request review |
Releases (5 tools)
| Tool | Description |
|---|---|
gitea_releases_list |
List releases |
gitea_release_get |
Get a single release by ID |
gitea_release_latest |
Get the latest release |
gitea_release_create |
Create a new release |
gitea_release_delete |
Delete a release |
Tags (3 tools)
| Tool | Description |
|---|---|
gitea_tags_list |
List tags |
gitea_tag_create |
Create a tag |
gitea_tag_delete |
Delete a tag |
Actions (2 tools)
| Tool | Description |
|---|---|
gitea_actions_runs_list |
List workflow runs for a repository |
gitea_actions_run_get |
Get a specific workflow run |
Organizations (3 tools)
| Tool | Description |
|---|---|
gitea_org_get |
Get organization details |
gitea_org_teams_list |
List teams in an organization |
gitea_org_members_list |
List members of an organization |
Users (2 tools)
| Tool | Description |
|---|---|
gitea_user_get |
Get a user profile |
gitea_users_search |
Search users |
Webhooks (2 tools)
| Tool | Description |
|---|---|
gitea_webhooks_list |
List webhooks for a repository |
gitea_webhook_create |
Create a webhook |
Wiki (7 tools)
| Tool | Description |
|---|---|
gitea_wiki_pages_list |
List wiki pages |
gitea_wiki_page_get |
Get a wiki page |
gitea_wiki_page_create |
Create a new wiki page |
gitea_wiki_page_edit |
Edit an existing wiki page |
gitea_wiki_page_delete |
Delete a wiki page |
gitea_wiki_page_revisions |
List revision history for a wiki page |
gitea_wiki_search |
Search wiki page titles and content |
Notifications (2 tools)
| Tool | Description |
|---|---|
gitea_notifications_list |
List notifications for the authenticated user |
gitea_notifications_read |
Mark all notifications as read |
Generic (2 tools)
| Tool | Description |
|---|---|
gitea_api_request |
Make a raw API request to any MokoGitea v1 endpoint |
gitea_list_connections |
List configured MokoGitea connections |
Contributing
See CONTRIBUTING.md for development guidelines.
License
GPL-3.0-or-later -- Copyright (C) 2026 Moko Consulting
Revision History
| Version | Date | Description |
|---|---|---|
| 0.0.1 | 2026-05-07 | Initial release with 61 tools |
| 1.4.3 | 2026-06-23 | Fix wiki create endpoint, add wiki search + revisions tools (111 total) |