|
|
9 meses atrás | |
|---|---|---|
| docs-api @ 9740f402bd | 9 meses atrás | |
| src | 9 meses atrás | |
| .env.example | 9 meses atrás | |
| .gitignore | 9 meses atrás | |
| .gitmodules | 9 meses atrás | |
| LICENSE | 9 meses atrás | |
| README.md | 9 meses atrás | |
| USAGE_EXAMPLES.md | 9 meses atrás | |
| package.json | 9 meses atrás | |
| tsconfig.json | 9 meses atrás |
A Model Context Protocol (MCP) server that provides access to Gogs git hosting APIs. This server enables AI assistants like Claude to interact with Gogs repositories, users, and other resources.
This MCP server provides tools to:
User Management
Repository Management
Content Access
Clone this repository:
git clone ssh://git@207.154.220.231:10022/claude/gogs-mcp.git
cd gogs-mcp
Install dependencies:
npm install
Build the project:
npm run build
Create a .env file or set environment variables:
GOGS_SERVER_URL=https://your-gogs-server.com
GOGS_ACCESS_TOKEN=your-access-token-here
The access token is optional but recommended. Without it:
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gogs": {
"command": "node",
"args": ["/absolute/path/to/gogs-mcp-server/dist/index.js"],
"env": {
"GOGS_SERVER_URL": "https://your-gogs-server.com",
"GOGS_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}
The server uses stdio transport and can be integrated with any MCP-compatible client:
# Set environment variables
export GOGS_SERVER_URL=https://your-gogs-server.com
export GOGS_ACCESS_TOKEN=your-access-token-here
# Run the server
npm start
get_current_userGet information about the authenticated user.
get_userGet information about a specific user.
username (string, required): Username to look upsearch_usersSearch for users by username.
query (string, required): Search querylimit (number, optional): Maximum results (default: 10)list_user_repositoriesList repositories for a user.
username (string, optional): Username (omit for authenticated user)search_repositoriesSearch for repositories.
query (string, required): Search queryuid (number, optional): User ID to filter bylimit (number, optional): Maximum results (default: 10)page (number, optional): Page number (default: 1)get_repositoryGet information about a specific repository.
owner (string, required): Repository owner usernamerepo (string, required): Repository namecreate_repositoryCreate a new repository.
name (string, required): Repository namedescription (string, optional): Repository descriptionprivate (boolean, optional): Create as private (default: false)auto_init (boolean, optional): Initialize with README (default: false)gitignores (string, optional): Gitignore templates (e.g., "Go,VisualStudioCode")license (string, optional): License template (e.g., "MIT License")readme (string, optional): README template (default: "Default")delete_repositoryDelete a repository (requires admin access).
owner (string, required): Repository owner usernamerepo (string, required): Repository nameget_contentsGet file or directory contents from a repository.
owner (string, required): Repository owner usernamerepo (string, required): Repository namepath (string, required): File or directory pathref (string, optional): Branch, tag, or commit SHA (default: default branch)get_raw_contentGet raw file content from a repository.
owner (string, required): Repository owner usernamerepo (string, required): Repository nameref (string, required): Branch, tag, or commit SHApath (string, required): File pathlist_branchesList all branches in a repository.
owner (string, required): Repository owner usernamerepo (string, required): Repository nameget_commitsGet commit history from a repository.
owner (string, required): Repository owner usernamerepo (string, required): Repository namesha (string, optional): Branch name or commit SHApage (number, optional): Page number (default: 1)npm run dev
npm run build
npm run watch
The Gogs API documentation is included in the docs-api submodule. For more information about the Gogs REST API, see:
docs-api/README.mdMake sure you've set the GOGS_SERVER_URL environment variable or included it in your MCP client configuration.
This can indicate:
MIT
Contributions are welcome! Please feel free to submit a Pull Request.