tools

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterBillingTools

func RegisterBillingTools(s *mcp.Server, c *client.APIClient)

RegisterBillingTools registers get_billing_plan.

func RegisterDeploymentTools

func RegisterDeploymentTools(s *mcp.Server, c *client.APIClient)

RegisterDeploymentTools registers list_deployments, get_deployment, and get_build_logs.

func RegisterDeploymentWriteTools

func RegisterDeploymentWriteTools(s *mcp.Server, c *client.APIClient)

func RegisterDomainTools

func RegisterDomainTools(s *mcp.Server, c *client.APIClient)

RegisterDomainTools registers list_domains and get_domain_status.

func RegisterDomainWriteTools

func RegisterDomainWriteTools(s *mcp.Server, c *client.APIClient)

func RegisterMigrationPrompts

func RegisterMigrationPrompts(s *mcp.Server)

func RegisterMigrationResources

func RegisterMigrationResources(s *mcp.Server)

func RegisterMigrationTools

func RegisterMigrationTools(s *mcp.Server, c *client.APIClient)

func RegisterProjectTools

func RegisterProjectTools(s *mcp.Server, c *client.APIClient)

RegisterProjectTools registers list_projects and get_project.

func RegisterProjectWriteTools

func RegisterProjectWriteTools(s *mcp.Server, c *client.APIClient)

func RegisterShareTools

func RegisterShareTools(s *mcp.Server, c *client.APIClient)

func RegisterTeamTools

func RegisterTeamTools(s *mcp.Server, c *client.APIClient)

Types

type AddDomainParams

type AddDomainParams struct {
	ProjectID string `json:"project_id" jsonschema:"Project UUID to attach the domain to"`
	Domain    string `json:"domain"     jsonschema:"Fully qualified domain name e.g. blog.example.com"`
}

type AnalyzeProjectConfigParams

type AnalyzeProjectConfigParams struct {
	ConfigContent  string `json:"config_content"  jsonschema:"Raw content of the platform config file (vercel.json, netlify.toml, or wrangler.toml)"`
	SourcePlatform string `json:"source_platform" jsonschema:"Source platform: vercel, netlify, or cloudflare_pages"`
}

type CancelDeploymentParams

type CancelDeploymentParams struct {
	ID string `json:"id" jsonschema:"Deployment UUID — must be in pending, queued, or building status"`
}

type CheckSubdomainParams

type CheckSubdomainParams struct {
	Subdomain string `json:"subdomain" jsonschema:"Subdomain to check (3-63 chars, lowercase alphanumeric with hyphens)"`
}

type CreateProjectParams

type CreateProjectParams struct {
	Name          string `json:"name"                     jsonschema:"Project display name (required)"`
	Framework     string `json:"framework,omitempty"      jsonschema:"Framework: nextjs, sveltekit, astro, hugo, vite, gatsby, jekyll, other"`
	GitRepoURL    string `json:"git_repo_url,omitempty"   jsonschema:"Git repository HTTPS URL"`
	GitProvider   string `json:"git_provider,omitempty"   jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken      string `json:"git_token,omitempty"      jsonschema:"Personal access token for private repositories"`
	BuildCommand  string `json:"build_command,omitempty"  jsonschema:"Build command e.g. npm run build"`
	OutputDir     string `json:"output_dir,omitempty"     jsonschema:"Build output directory e.g. dist or out"`
	DefaultBranch string `json:"default_branch,omitempty" jsonschema:"Default branch name (default: main)"`
}

type CreateShareLinkParams

type CreateShareLinkParams struct {
	DeploymentID string `json:"deployment_id"        jsonschema:"Deployment UUID — use list_deployments to find"`
	Password     string `json:"password,omitempty"   jsonschema:"Optional password to protect the link (min 8 chars)"`
	ExpiresIn    string `json:"expires_in,omitempty" jsonschema:"Expiry: 24h, 7d, or 30d (omit for no expiry)"`
}

type DeleteProjectParams

type DeleteProjectParams struct {
	ID string `json:"id" jsonschema:"Project UUID"`
}

type GetBillingPlanParams

type GetBillingPlanParams struct{}

GetBillingPlanParams has no required input.

type GetBuildLogsParams

type GetBuildLogsParams struct {
	ID string `json:"id" jsonschema:"Deployment UUID"`
}

GetBuildLogsParams defines input for get_build_logs.

type GetDNSInstructionsParams

type GetDNSInstructionsParams struct {
	ID string `json:"id" jsonschema:"Domain UUID — use list_domains to find"`
}

type GetDeploymentParams

type GetDeploymentParams struct {
	ID string `json:"id" jsonschema:"Deployment UUID"`
}

GetDeploymentParams defines input for get_deployment.

type GetDomainStatusParams

type GetDomainStatusParams struct {
	ID string `json:"id" jsonschema:"Domain UUID"`
}

GetDomainStatusParams defines input for get_domain_status.

type GetProjectParams

type GetProjectParams struct {
	ID string `json:"id" jsonschema:"Project UUID"`
}

GetProjectParams defines input for get_project.

type ListDeploymentsParams

type ListDeploymentsParams struct {
	ProjectID string `json:"project_id,omitempty" jsonschema:"Filter by project UUID"`
	Status    string `json:"status,omitempty"     jsonschema:"Filter by status: pending, queued, building, deployed, failed, cancelled"`
	Page      int    `json:"page,omitempty"       jsonschema:"Page number (default 1)"`
	PageSize  int    `json:"page_size,omitempty"  jsonschema:"Results per page, max 100 (default 20)"`
}

ListDeploymentsParams defines input for list_deployments.

type ListDomainsParams

type ListDomainsParams struct {
	ProjectID string `json:"project_id,omitempty" jsonschema:"Filter by project UUID"`
	Page      int    `json:"page,omitempty"       jsonschema:"Page number (default 1)"`
	PageSize  int    `json:"page_size,omitempty"  jsonschema:"Results per page (default 20)"`
}

ListDomainsParams defines input for list_domains.

type ListProjectsParams

type ListProjectsParams struct {
	Search   string `json:"search,omitempty"    jsonschema:"Search projects by name"`
	Page     int    `json:"page,omitempty"      jsonschema:"Page number (default 1)"`
	PageSize int    `json:"page_size,omitempty" jsonschema:"Results per page, max 100 (default 20)"`
}

ListProjectsParams defines input for list_projects.

type ListTeamInvitationsParams

type ListTeamInvitationsParams struct{}

type ListTeamMembersParams

type ListTeamMembersParams struct{}

type MigrateFromCloudflareParams

type MigrateFromCloudflareParams struct {
	ConfigContent string `json:"config_content"              jsonschema:"Content of wrangler.toml"`
	GitRepoURL    string `json:"git_repo_url"                jsonschema:"Git repository HTTPS URL"`
	ProjectName   string `json:"project_name"                jsonschema:"Display name for the new deploybase project"`
	GitProvider   string `json:"git_provider,omitempty"      jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken      string `json:"git_token,omitempty"         jsonschema:"Personal access token for private repositories"`
	DefaultBranch string `json:"default_branch,omitempty"    jsonschema:"Default branch (default: main)"`
}

type MigrateFromNetlifyParams

type MigrateFromNetlifyParams struct {
	ConfigContent string `json:"config_content"              jsonschema:"Content of netlify.toml"`
	GitRepoURL    string `json:"git_repo_url"                jsonschema:"Git repository HTTPS URL"`
	ProjectName   string `json:"project_name"                jsonschema:"Display name for the new deploybase project"`
	GitProvider   string `json:"git_provider,omitempty"      jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken      string `json:"git_token,omitempty"         jsonschema:"Personal access token for private repositories"`
	DefaultBranch string `json:"default_branch,omitempty"    jsonschema:"Default branch (default: main)"`
}

type MigrateFromVercelParams

type MigrateFromVercelParams struct {
	ConfigContent string `json:"config_content"              jsonschema:"Content of vercel.json"`
	GitRepoURL    string `json:"git_repo_url"                jsonschema:"Git repository HTTPS URL"`
	ProjectName   string `json:"project_name"                jsonschema:"Display name for the new deploybase project"`
	GitProvider   string `json:"git_provider,omitempty"      jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken      string `json:"git_token,omitempty"         jsonschema:"Personal access token for private repositories"`
	DefaultBranch string `json:"default_branch,omitempty"    jsonschema:"Default branch (default: main)"`
}

type PromoteDeploymentParams

type PromoteDeploymentParams struct {
	ProjectID    string `json:"project_id"    jsonschema:"Project UUID"`
	DeploymentID string `json:"deployment_id" jsonschema:"Deployment UUID to promote to production — must have status=deployed"`
}

type RemoveDomainParams

type RemoveDomainParams struct {
	ID string `json:"id" jsonschema:"Domain UUID — use list_domains to find"`
}

type RevokeShareLinkParams

type RevokeShareLinkParams struct {
	ID string `json:"id" jsonschema:"Share link UUID"`
}

type TriggerDeploymentParams

type TriggerDeploymentParams struct {
	ProjectID     string `json:"project_id"               jsonschema:"Project UUID — use list_projects to find"`
	Branch        string `json:"branch"                   jsonschema:"Git branch to deploy (e.g. main, feature/new-page)"`
	CommitHash    string `json:"commit_hash,omitempty"    jsonschema:"Full 40-character git commit SHA (optional)"`
	CommitMessage string `json:"commit_message,omitempty" jsonschema:"Commit message for display (optional, max 1000 chars)"`
}

type UpdateProjectParams

type UpdateProjectParams struct {
	ID            string `json:"id"                       jsonschema:"Project UUID"`
	Name          string `json:"name,omitempty"           jsonschema:"New display name"`
	Framework     string `json:"framework,omitempty"      jsonschema:"Framework: nextjs, sveltekit, astro, hugo, vite, gatsby, jekyll, other"`
	GitRepoURL    string `json:"git_repo_url,omitempty"   jsonschema:"New git repository URL"`
	GitProvider   string `json:"git_provider,omitempty"   jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken      string `json:"git_token,omitempty"      jsonschema:"New personal access token"`
	BuildCommand  string `json:"build_command,omitempty"  jsonschema:"New build command"`
	OutputDir     string `json:"output_dir,omitempty"     jsonschema:"New output directory"`
	DefaultBranch string `json:"default_branch,omitempty" jsonschema:"New default branch"`
	Subdomain     string `json:"subdomain,omitempty"      jsonschema:"New subdomain for sites.deploybase.eu (use check_subdomain first)"`
}

type ValidateGitRepoParams

type ValidateGitRepoParams struct {
	GitRepoURL  string `json:"git_repo_url"           jsonschema:"Git repository HTTPS URL to validate"`
	GitProvider string `json:"git_provider,omitempty" jsonschema:"Git provider: github, gitlab, bitbucket, codeberg"`
	GitToken    string `json:"git_token,omitempty"    jsonschema:"Personal access token for private repos"`
}

type VerifyDomainParams

type VerifyDomainParams struct {
	ID string `json:"id" jsonschema:"Domain UUID — use list_domains to find"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL