2
0
logikonline 94e0a27b36 docs(api): document organization and landing page MCP tools
Updates README to document newly added MCP tools for organization management and landing page configuration.

Adds Organization Tools section documenting 8 tools: list_orgs, get_org_overview, update_org, list_org_repos, get_org_profile_readme, update_org_profile_readme, pin_org_repo, unpin_org_repo.

Adds Landing Page Tools section documenting 12 tools for configuring repository landing pages: get_landing_config, list_landing_templates, enable_landing_page, and 9 update_landing_* tools for brand, hero, pricing, comparison, features, social proof, SEO, theme, stats, value props, and CTA sections.

Includes example prompts users can ask Claude to exercise the new functionality.
2026-04-19 17:35:54 -04:00

GitCaddy MCP Server

A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact directly with your GitCaddy instance.

Features

  • Organization Management - List orgs, view overviews, update settings, manage profile READMEs
  • Repository Organization - List repos with group support, pin/unpin featured repos
  • Query Runners - List runners, check status, view capabilities, monitor queue depth
  • Manage Workflows - List, trigger, rerun, cancel, and approve workflow runs
  • View Logs - Get job logs with automatic error extraction for failed jobs
  • Access Artifacts - List and download workflow artifacts
  • Manage Releases - List releases, get assets, check download counts
  • Landing Pages - Configure and customize repository landing pages
  • AI Learning - Query error patterns, report solutions, help other AIs learn
  • AI-Friendly - Structured JSON responses designed for AI consumption

Quick Start

1. Download

Download the latest binary from Releases.

2. Configure Claude Code

Add to your Claude Code settings:

Option A: Command line arguments

{
  "mcpServers": {
    "gitcaddy": {
      "command": "/path/to/gitcaddy-mcp-server",
      "args": ["--url", "https://git.marketally.com", "--token", "YOUR_API_TOKEN"]
    }
  }
}

Option B: Environment variables

{
  "mcpServers": {
    "gitcaddy": {
      "command": "/path/to/gitcaddy-mcp-server",
      "env": {
        "GITCADDY_URL": "https://git.marketally.com",
        "GITCADDY_TOKEN": "your-token-here"
      }
    }
  }
}

3. Use It

Ask Claude things like:

  • "What organizations do I have access to?"
  • "Show me the overview for myorg"
  • "List all repos in myorg grouped by category"
  • "Update myorg's description and website"
  • "Show me the profile README for myorg"
  • "Update the profile README for myorg"
  • "Pin the 'flagship-app' repo to the myorg overview"
  • "Unpin 'old-project' from myorg"
  • "What runners are online?"
  • "Show me the latest workflow runs for gitcaddy/act_runner"
  • "Why did run #77 fail?"
  • "Rerun the failed jobs in run #77"
  • "Cancel run #80"
  • "Trigger the build.yml workflow on the main branch"
  • "What workflows are available in myorg/myrepo?"
  • "Show me the build.yml workflow file"
  • "Validate the build.yml workflow in myorg/myrepo"
  • "What artifacts were produced by run #77?"
  • "What's the queue depth for each runner label?"
  • "Approve the workflow run from the fork PR"
  • "What assets are in the v0.3.6 release?"
  • "Are there any known solutions for NETSDK1147?"
  • "Diagnose why job 456 failed"
  • "What secrets are available for myorg/myrepo?"
  • "List all NuGet packages for myorg"
  • "What are the package defaults for myorg?"
  • "List all repos for myorg"
  • "List open issues for gitcaddy/server"
  • "Show me issue #42 in myorg/myrepo"
  • "Set up a landing page for myorg/myrepo"
  • "Update the hero section on the landing page"

Available Tools

Organization Tools

Tool Description
list_orgs List all organizations the authenticated user belongs to
get_org_overview Get comprehensive org overview: pinned repos, groups, members, stats, profile README, recent activity
update_org Update org info (full name, email, description, website, location, group header)
list_org_repos List repos for an org with optional group_by=group_header grouping
get_org_profile_readme Get the raw markdown of an org's profile README from its .profile repo
update_org_profile_readme Update (or create) the org's profile README; creates the .profile repo if needed
pin_org_repo Pin a repository to the org's overview page, optionally into a group
unpin_org_repo Unpin a repository from the org's overview page

Runner Tools

Tool Description
list_runners List all runners with status, capabilities, disk space
get_runner Get detailed runner info by ID
get_queue_depth Get waiting jobs per runner label (capacity insight)

Workflow Tools

Tool Description
list_workflows List available workflow files in a repository (includes validation status)
get_workflow_file Get the YAML content of a workflow file
validate_workflow Validate a workflow YAML file for parse errors (from repo or raw content)
list_workflow_runs List workflow runs for a repository
get_workflow_run Get run details with all jobs
get_job_logs Get logs from a specific job (auto-extracts errors for failed jobs)
trigger_workflow Manually trigger a workflow_dispatch workflow with inputs
rerun_workflow Rerun a completed workflow or specific failed job
cancel_workflow_run Cancel a running workflow and all its jobs
approve_workflow Approve a workflow run that requires approval (fork PRs)

Artifact Tools

Tool Description
list_artifacts List artifacts from a workflow run
get_artifact_download_url Get the download URL for a specific artifact

Repository & Issue Tools

Tool Description
list_repos List repositories for an owner (org or user)
list_issues List issues for a repository with pagination and state filtering
get_issue Get issue details including body content and comments

Release & Package Tools

Tool Description
list_releases List releases for a repository
get_release Get release details with all assets
list_secrets List secret names and descriptions (not values) for global, org, and repo scopes
list_packages List packages for an owner or globally with version and visibility info
get_package_defaults Get preconfigured package defaults (authors, company, copyright, icon, URLs) for an org

AI Learning Tools

Tool Description
get_error_patterns Query known CI/CD error patterns with diagnoses and solutions
report_error_solution Report a solution that fixed an error (helps other AIs learn)
report_solution_success Mark a solution as successful (improves ranking)
get_compatibility_matrix See what project types work on which runners
diagnose_job_failure Auto-analyze failed job logs and suggest solutions

Landing Page Tools

Tool Description
get_landing_config Get the full landing page configuration for a repository
list_landing_templates List available landing page templates
enable_landing_page Enable or disable a repository's landing page
update_landing_brand Update the brand section (name, logo, colors)
update_landing_hero Update the hero section (headline, description, CTA)
update_landing_pricing Update the pricing section
update_landing_comparison Update the feature comparison table
update_landing_features Update the features list
update_landing_social_proof Update testimonials and social proof
update_landing_seo Update SEO metadata (title, description, keywords)
update_landing_theme Update the visual theme (colors, fonts, layout)
update_landing_stats Update stat counters
update_landing_value_props Update value propositions
update_landing_cta Update the call-to-action section

AI Learning System

GitCaddy includes a collaborative AI learning system. When you encounter and fix CI/CD errors, you can report your solutions to help other AI assistants:

AI encounters error -> get_error_patterns -> finds solution -> applies fix
                                                  |
                                                  v
                                        report_solution_success
                                        (improves ranking)

AI finds NEW solution -> report_error_solution -> stored in database
                                                  |
                                                  v
                                        Other AIs can now find it

Example: Diagnosing a Failed Build

User: "Why did job 789 fail?"

Claude uses: diagnose_job_failure(owner="myorg", repo="myapp", job_id=789)

Response:
{
  "extracted_errors": ["NETSDK1147", "XA5300"],
  "diagnoses": [
    {
      "pattern": "NETSDK1147",
      "diagnosis": "The .NET MAUI Android workload is not installed",
      "solution": "Install the workload: dotnet workload install maui-android",
      "success_rate": 94.5
    }
  ]
}

Building from Source

git clone https://git.marketally.com/gitcaddy/mcp-server.git
cd mcp-server
go build -o gitcaddy-mcp-server .

Cross-compile for all platforms

# Linux
GOOS=linux GOARCH=amd64 go build -o gitcaddy-mcp-server-linux-amd64 .

# macOS Intel
GOOS=darwin GOARCH=amd64 go build -o gitcaddy-mcp-server-darwin-amd64 .

# macOS Apple Silicon
GOOS=darwin GOARCH=arm64 go build -o gitcaddy-mcp-server-darwin-arm64 .

# Windows
GOOS=windows GOARCH=amd64 go build -o gitcaddy-mcp-server-windows-amd64.exe .

Architecture

+-------------+     stdio      +------------------+     HTTP      +-------------+
| Claude Code | <------------> | gitcaddy-mcp     | <-----------> |  GitCaddy   |
|  (AI Tool)  |   JSON-RPC     |   (This binary)  |  /api/v2/mcp  |   Server    |
+-------------+                +------------------+               +-------------+

The MCP server:

  1. Receives JSON-RPC requests over stdio from Claude Code
  2. Forwards them to GitCaddy's /api/v2/mcp endpoint
  3. Returns responses back to Claude Code

Configuration Options

Flag Env Variable Description
--url GITCADDY_URL GitCaddy server URL (required)
--token GITCADDY_TOKEN API token for authentication
--debug - Enable debug logging to stderr

Note: GITEA_URL and GITEA_TOKEN are also supported for backwards compatibility.

Obtaining an API Token

  1. Go to your GitCaddy instance -> Settings -> Applications
  2. Generate a new token with appropriate scopes
  3. Copy the token and use it in your configuration

Requirements

  • GitCaddy Server (Gitea 1.26+ with GitCaddy enhancements)
  • Go 1.21+ (for building from source)

License

MIT License - See LICENSE file.

MIT License

Copyright (c) 2026 MarketAlly

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Description
MCP (Model Context Protocol) server for Gitea - enables AI assistants to interact with Gitea Actions
http://www.gitcaddy.com
Readme MIT 88 KiB
2026-04-15 07:47:07 +00:00
Languages
Go 100%