diff --git a/internal/app/app.go b/internal/app/app.go index 38744ff..cc797bf 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -23,6 +23,9 @@ func Run(ctx context.Context, args []string, version string) error { MCP: func(ctx context.Context, inv bootstrap.Invocation) error { return runMCP(c, version) }, + Update: func(ctx context.Context, inv bootstrap.Invocation) error { + return mcpgen.RunUpdate(ctx, inv.Args, version, inv.Stdout) + }, }, }) } diff --git a/mcp.toml b/mcp.toml index d2a5484..d23930c 100644 --- a/mcp.toml +++ b/mcp.toml @@ -1,5 +1,15 @@ binary_name = "xdebug-mcp" +[update] +source_name = "xdebug-mcp releases" +driver = "gitea" +repository = "AI/xdebug-mcp" +base_url = "https://forge.lclr.dev" +asset_name_template = "{binary}-{os}-{arch}{ext}" +checksum_asset_name = "{asset}.sha256" +checksum_required = true +token_env_names = ["GITEA_TOKEN"] + [bootstrap] description = "MCP server for Xdebug profiling files" diff --git a/mcpgen/manifest.go b/mcpgen/manifest.go index 04f3dd6..b464449 100644 --- a/mcpgen/manifest.go +++ b/mcpgen/manifest.go @@ -4,7 +4,7 @@ package mcpgen import fwmanifest "forge.lclr.dev/AI/mcp-framework/manifest" -const embeddedManifest = "binary_name = \"xdebug-mcp\"\n\n[bootstrap]\ndescription = \"MCP server for Xdebug profiling files\"\n\n[profiles]\ndefault = \"prod\"\nknown = [\"dev\", \"prod\"]\n" +const embeddedManifest = "binary_name = \"xdebug-mcp\"\n\n[update]\nsource_name = \"xdebug-mcp releases\"\ndriver = \"gitea\"\nrepository = \"AI/xdebug-mcp\"\nbase_url = \"https://forge.lclr.dev\"\nasset_name_template = \"{binary}-{os}-{arch}{ext}\"\nchecksum_asset_name = \"{asset}.sha256\"\nchecksum_required = true\ntoken_env_names = [\"GITEA_TOKEN\"]\n\n[bootstrap]\ndescription = \"MCP server for Xdebug profiling files\"\n\n[profiles]\ndefault = \"prod\"\nknown = [\"dev\", \"prod\"]\n" func LoadManifest(startDir string) (fwmanifest.File, string, error) { return fwmanifest.LoadDefaultOrEmbedded(startDir, embeddedManifest)