mcp

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New() *cobra.Command

CANARY: REQ=CP-281; FEATURE="MCPServerCommand"; ASPECT=Wire; STATUS=TESTED; TEST=TestMCPCommandCreation; UPDATED=2026-08-29 New returns the MCP subcommand for Canary

Types

type BugCreateParams

type BugCreateParams struct {
	Title       string `json:"title" jsonschema:"description:Bug title/description,required"`
	Severity    string `json:"severity,omitempty" jsonschema:"description:Severity level (CRITICAL HIGH MEDIUM LOW)"`
	Component   string `json:"component,omitempty" jsonschema:"description:Affected component"`
	Description string `json:"description,omitempty" jsonschema:"description:Detailed description"`
}

BugCreateParams defines parameters for the bug create tool

type BugCreateResult

type BugCreateResult struct {
	Token    string `json:"token"`
	BugID    string `json:"bugId"`
	Title    string `json:"title"`
	Severity string `json:"severity"`
}

BugCreateResult defines the output for the bug create tool

type BugListParams

type BugListParams struct {
	Status   string `json:"status,omitempty" jsonschema:"description:Filter by status (OPEN INVESTIGATING FIXED WONTFIX)"`
	Severity string `json:"severity,omitempty" jsonschema:"description:Filter by severity (CRITICAL HIGH MEDIUM LOW)"`
	Limit    int    `json:"limit,omitempty" jsonschema:"description:Maximum results (default 20, max 100)"`
}

BugListParams defines parameters for the bug list tool

type BugListResult

type BugListResult struct {
	Bugs  []*storage.Token `json:"bugs"`
	Count int              `json:"count"`
	Total int              `json:"total"`
}

BugListResult defines the output for the bug list tool

type CreateParams

type CreateParams struct {
	ReqID   string `json:"reqId" jsonschema:"description:Requirement ID (e.g. CBIN-CLI-105),required"`
	Feature string `json:"feature" jsonschema:"description:Feature name,required"`
	Aspect  string `json:"aspect,omitempty" jsonschema:"description:Aspect (API CLI Engine etc.)"`
	Status  string `json:"status,omitempty" jsonschema:"description:Status (STUB IMPL TESTED BENCHED)"`
	Owner   string `json:"owner,omitempty" jsonschema:"description:Owner/assignee"`
}

CreateParams defines parameters for the create tool

type CreateResult

type CreateResult struct {
	Token   string `json:"token"`
	ReqID   string `json:"reqId"`
	Feature string `json:"feature"`
	Aspect  string `json:"aspect"`
	Status  string `json:"status"`
}

CreateResult defines the output for the create tool

type DepsParams

type DepsParams struct {
	ReqID     string `json:"reqId" jsonschema:"description:requirement ID,required"`
	Direction string `json:"direction,omitempty" jsonschema:"description:forward (what it depends on, default) or reverse (what depends on it)"`
}

DepsParams selects a requirement and traversal direction.

type DepsResult

type DepsResult struct {
	ReqID        string   `json:"reqId"`
	Direction    string   `json:"direction"`
	Dependencies []string `json:"dependencies"`
	Count        int      `json:"count"`
}

DepsResult carries dependency IDs only -- deliberately no token payloads.

type FilesParams

type FilesParams struct {
	ReqID string `json:"reqId" jsonschema:"description:Requirement ID to find files for,required"`
}

FilesParams defines parameters for the files tool

type FilesResult

type FilesResult struct {
	ReqID     string   `json:"reqId"`
	Files     []string `json:"files"`
	FileCount int      `json:"fileCount"`
}

FilesResult defines the output for the files tool

type GapMarkParams

type GapMarkParams struct {
	ClaimID  string `json:"claimId" jsonschema:"description:Gap analysis claim ID,required"`
	Judgment string `json:"judgment" jsonschema:"description:Judgment (helpful unhelpful unclear),required"`
	Reason   string `json:"reason,omitempty" jsonschema:"description:Reason for judgment"`
}

GapMarkParams defines parameters for the gap mark tool

type GapMarkResult

type GapMarkResult struct {
	Message  string `json:"message"`
	ClaimID  string `json:"claimId"`
	Judgment string `json:"judgment"`
}

GapMarkResult defines the output for the gap mark tool

type GrepParams

type GrepParams struct {
	Pattern string `json:"pattern" jsonschema:"description:Pattern to search for in token fields,required"`
	Field   string `json:"field,omitempty" jsonschema:"description:Field to search (req feature aspect owner or all)"`
	Limit   int    `json:"limit,omitempty" jsonschema:"description:Maximum results (default 20, max 100)"`
}

GrepParams defines parameters for the grep tool

type GrepResult

type GrepResult struct {
	Pattern string           `json:"pattern"`
	Field   string           `json:"field"`
	Tokens  []*storage.Token `json:"tokens"`
	Count   int              `json:"count"`
	Total   int              `json:"total"`
	// TotalIsLowerBound is true when the underlying overfetch hit its ceiling
	// (maxToolLimit+1 rows came back for an "all"-field search), meaning
	// Total is a floor, not an exact count.
	TotalIsLowerBound bool `json:"total_is_lower_bound,omitempty"`
}

GrepResult defines the output for the grep tool

type ImplementParams

type ImplementParams struct {
	ReqID string `json:"reqId" jsonschema:"description:Requirement ID to implement,required"`
}

ImplementParams defines parameters for the implement tool

type ImplementResult

type ImplementResult struct {
	Message      string `json:"message"`
	ReqID        string `json:"reqId"`
	Guidance     string `json:"guidance,omitempty"`
	SpecPath     string `json:"specPath,omitempty"`
	PlanPath     string `json:"planPath,omitempty"`
	HasSpec      bool   `json:"hasSpec"`
	HasPlan      bool   `json:"hasPlan"`
	TokenCount   int    `json:"tokenCount"`
	CurrentPhase string `json:"currentPhase,omitempty"`
}

ImplementResult defines the output for the implement tool

type IndexParams

type IndexParams struct {
	Root    string `json:"root,omitempty" jsonschema:"description:Root directory to index (default: current directory)"`
	Rebuild bool   `json:"rebuild,omitempty" jsonschema:"description:Force rebuild of index"`
}

IndexParams defines parameters for the index tool

type IndexResult

type IndexResult struct {
	Message       string `json:"message"`
	TokensIndexed int    `json:"tokensIndexed"`
	FilesScanned  int    `json:"filesScanned"`
}

IndexResult defines the output for the index tool

type ListParams

type ListParams struct {
	Status string `json:"status,omitempty" jsonschema:"description:Filter by status (STUB IMPL TESTED BENCHED)"`
	Aspect string `json:"aspect,omitempty" jsonschema:"description:Filter by aspect (API CLI Engine etc.)"`
	Owner  string `json:"owner,omitempty" jsonschema:"description:Filter by owner"`
	Limit  int    `json:"limit,omitempty" jsonschema:"description:Maximum number of results"`
}

ListParams defines parameters for the list tool

type ListResult

type ListResult struct {
	Tokens []*storage.Token `json:"tokens"`
	Count  int              `json:"count"`
	Total  int              `json:"total"`
	// TotalIsLowerBound is true when the underlying overfetch hit its ceiling
	// (maxToolLimit+1 rows came back), meaning Total is a floor, not an exact
	// count -- there may be more matches than reported.
	TotalIsLowerBound bool `json:"total_is_lower_bound,omitempty"`
}

ListResult defines the output for the list tool

type NextParams

type NextParams struct {
	Status string `json:"status,omitempty" jsonschema:"description:Filter by status (STUB or IMPL)"`
	Aspect string `json:"aspect,omitempty" jsonschema:"description:Filter by aspect"`
}

NextParams defines parameters for the next tool

type NextResult

type NextResult struct {
	Token    *storage.Token `json:"token,omitempty"`
	ReqID    string         `json:"reqId,omitempty"`
	Feature  string         `json:"feature,omitempty"`
	Aspect   string         `json:"aspect,omitempty"`
	Status   string         `json:"status,omitempty"`
	Priority int            `json:"priority,omitempty"`
	Message  string         `json:"message,omitempty"`
}

NextResult defines the output for the next tool

type PlanParams

type PlanParams struct {
	ReqID     string `json:"reqId" jsonschema:"description:Requirement ID (e.g. CBIN-123),required"`
	TechStack string `json:"techStack,omitempty" jsonschema:"description:Technology stack description"`
}

PlanParams defines parameters for the plan tool

type PlanResult

type PlanResult struct {
	Message   string `json:"message"`
	ReqID     string `json:"reqId"`
	TechStack string `json:"techStack,omitempty"`
	PlanPath  string `json:"planPath,omitempty"`
}

PlanResult defines the output for the plan tool

type PrioritizeParams

type PrioritizeParams struct {
	ReqID    string `json:"reqId" jsonschema:"description:Requirement ID to prioritize,required"`
	Priority int    `json:"priority" jsonschema:"description:Priority level (lower is higher priority),required"`
}

PrioritizeParams defines parameters for the prioritize tool

type PrioritizeResult

type PrioritizeResult struct {
	Message  string `json:"message"`
	ReqID    string `json:"reqId"`
	Priority int    `json:"priority"`
	Updated  int    `json:"updated"`
}

PrioritizeResult defines the output for the prioritize tool

type ScanParams

type ScanParams struct {
	Root        string `json:"root,omitempty" jsonschema:"description:Root directory to scan"`
	ProjectOnly bool   `json:"projectOnly,omitempty" jsonschema:"description:Filter by project requirement ID pattern"`
}

ScanParams defines parameters for the scan tool

type ScanResult

type ScanResult struct {
	Message string `json:"message"`
	Root    string `json:"root"`
	Tokens  int    `json:"total_tokens"`
}

ScanResult defines the output for the scan tool

type SearchParams

type SearchParams struct {
	Keywords string `json:"keywords" jsonschema:"description:Search keywords,required"`
	Limit    int    `json:"limit,omitempty" jsonschema:"description:Maximum results (default 20, max 100)"`
}

SearchParams defines parameters for the search tool

type SearchResult

type SearchResult struct {
	Keywords string           `json:"keywords"`
	Tokens   []*storage.Token `json:"tokens"`
	Count    int              `json:"count"`
	Total    int              `json:"total"`
	// TotalIsLowerBound is true when the underlying overfetch hit its ceiling
	// (maxToolLimit+1 rows came back), meaning Total is a floor, not an exact
	// count -- there may be more matches than reported.
	TotalIsLowerBound bool `json:"total_is_lower_bound,omitempty"`
}

SearchResult defines the output for the search tool

type ShowParams

type ShowParams struct {
	ReqID string `json:"reqId" jsonschema:"description:Requirement ID (e.g. CBIN-123),required"`
	Limit int    `json:"limit,omitempty" jsonschema:"description:Maximum results (default 20, max 100)"`
}

ShowParams defines parameters for the show tool

type ShowResult

type ShowResult struct {
	ReqID  string           `json:"reqId"`
	Tokens []*storage.Token `json:"tokens"`
	Count  int              `json:"count"`
	Total  int              `json:"total"`
}

ShowResult defines the output for the show tool

type SpecifyParams

type SpecifyParams struct {
	Description string `json:"description" jsonschema:"description:Feature description to create specification for,required"`
	Aspect      string `json:"aspect,omitempty" jsonschema:"description:Aspect (API CLI Engine Storage etc.)"`
}

SpecifyParams defines parameters for the specify tool

type SpecifyResult

type SpecifyResult struct {
	Message     string `json:"message"`
	Description string `json:"description"`
	Aspect      string `json:"aspect"`
	SpecPath    string `json:"specPath,omitempty"`
}

SpecifyResult defines the output for the specify tool

type StatusParams

type StatusParams struct {
	ReqID string `json:"reqId" jsonschema:"description:Requirement ID (e.g. CBIN-123),required"`
}

StatusParams defines parameters for the status tool

type StatusResult

type StatusResult struct {
	ReqID         string           `json:"reqId"`
	Stats         StatusStats      `json:"stats"`
	CompletionPct int              `json:"completionPct"`
	Tokens        []*storage.Token `json:"tokens"`
	Total         int              `json:"total"`
}

StatusResult defines the output for the status tool

type StatusStats

type StatusStats struct {
	Total     int `json:"total"`
	Stub      int `json:"stub"`
	Impl      int `json:"impl"`
	Tested    int `json:"tested"`
	Benched   int `json:"benched"`
	Completed int `json:"completed"`
}

StatusStats holds progress statistics

type ViewParams

type ViewParams struct {
	ReqID string `json:"reqId" jsonschema:"description:requirement ID e.g. CBIN-105 or PLAT-4521,required"`
	Limit int    `json:"limit,omitempty" jsonschema:"description:max entries per list section (default 10)"`
}

ViewParams identifies the requirement to aggregate.

Jump to

Keyboard shortcuts

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