Skip to content

MCP Integration

Relicta includes a Model Context Protocol (MCP) server that enables AI agents to manage releases directly. This allows Claude, GPT, and custom agents to plan, approve, and publish releases through natural language.

Terminal window
# Stdio transport (default, for Claude Desktop)
relicta mcp serve
# HTTP transport (for custom integrations)
relicta mcp serve --port 8080

Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json on macOS/Linux):

{
"mcpServers": {
"relicta": {
"command": "relicta",
"args": ["mcp", "serve"],
"cwd": "/path/to/your/project"
}
}
}

After adding this, restart Claude Desktop. You can then ask Claude to manage releases naturally:

“Analyze commits and plan a release for this project” “What’s the current release status?” “Generate release notes for the upcoming version”

ToolDescription
relicta.statusGet current release state and pending actions
relicta.planAnalyze commits and suggest a version bump
relicta.bumpCalculate and set the next version
relicta.notesGenerate changelog and release notes
relicta.evaluateEvaluate risk using CGP
relicta.approveApprove the release for publishing
relicta.publishExecute the release (create tags, run plugins)

The MCP server exposes these read-only resources:

ResourceDescription
relicta://stateCurrent release state machine status
relicta://configRelicta configuration
relicta://commitsRecent commits since last release
relicta://changelogGenerated changelog
relicta://risk-reportCGP risk assessment

Analyzes commits since the last release and suggests a version bump.

Parameters:

  • from (string): Starting point for analysis - tag, SHA, or “auto” (default: “auto”)
  • analyze (boolean): Include detailed commit analysis

Returns:

{
"release_id": "rel-123",
"current_version": "1.1.0",
"next_version": "1.2.0",
"release_type": "minor",
"commit_count": 15,
"has_breaking": false,
"has_features": true,
"has_fixes": true
}

Calculates and applies the next version.

Parameters:

  • bump (string): Bump type - “major”, “minor”, “patch”, or “auto” (default: “auto”)
  • version (string): Explicit version to set (overrides bump)

Generates changelog and release notes.

Parameters:

  • ai (boolean): Use AI to enhance release notes

Evaluates release risk using the Change Governance Protocol (CGP).

Returns:

{
"decision": "approve",
"risk_score": 0.35,
"severity": "low",
"can_auto_approve": true,
"risk_factors": [
{"name": "blast_radius", "score": 0.2},
{"name": "api_changes", "score": 0.4}
]
}

Approves the release for publishing.

Parameters:

  • notes (string): Updated release notes (optional)

Executes the release by creating tags and running plugins.

Parameters:

  • dry_run (boolean): Simulate without making changes

Manage releases across multiple repositories:

Terminal window
relicta mcp serve --multi-repo

Additional tools:

  • relicta.repos.list - List all repositories
  • relicta.repos.add - Add a repository
  • relicta.repos.switch - Switch primary repository

Manage plugins via MCP:

  • relicta.plugins.list - List installed plugins
  • relicta.plugins.execute - Execute a plugin hook

Long-running operations support progress reporting for real-time feedback in AI agent interfaces.

For developers building custom AI agent integrations, Relicta provides a Go client SDK:

import "github.com/relicta-tech/relicta/internal/mcp"
// Create client
transport := mcp.NewStdioClientTransport(stdin, stdout)
client := mcp.NewClient(transport)
client.Initialize(ctx)
// Plan a release
plan, err := client.Plan(ctx, true, "")
// Approve and publish
client.Approve(ctx, plan.ReleaseID, true)
client.Publish(ctx, plan.ReleaseID, false)
  • The MCP server does not implement authentication - run in trusted environments only
  • Use dry_run: true when testing to prevent unintended releases
  • Sensitive values (API keys) should be set via environment variables
Terminal window
# Test with verbose output
relicta mcp serve --verbose
  1. Verify config path is correct for your OS
  2. Ensure relicta is in your PATH
  3. Restart Claude Desktop after config changes
  4. Check Claude Desktop logs for errors