mcp

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateSessionInput

type CreateSessionInput struct {
	Name   string `json:"name"              jsonschema:"description=Human-readable session name"`
	Agent  string `json:"agent,omitempty"   jsonschema:"description=Agent type (e.g. claude, codex, agy). Defaults to configured default."`
	Repo   string `json:"repo,omitempty"    jsonschema:"description=Path to the git repository"`
	Base   string `json:"base,omitempty"    jsonschema:"description=Base branch to create worktree from"`
	Prompt string `json:"prompt,omitempty"  jsonschema:"description=Initial prompt to send to the agent"`
	NoRepo bool   `json:"no_repo,omitempty" jsonschema:"description=Create session without a git worktree"`
}

type CreateSessionOutput

type CreateSessionOutput struct {
	ID           string `json:"id"`
	Name         string `json:"name"`
	WorktreePath string `json:"worktree_path,omitempty"`
	Branch       string `json:"branch,omitempty"`
	Agent        string `json:"agent"`
	Status       string `json:"status"`
}

type ListSessionsInput

type ListSessionsInput struct{}

type ListSessionsOutput

type ListSessionsOutput struct {
	Sessions []SessionInfoOutput `json:"sessions"`
}

type MessageOutput

type MessageOutput struct {
	ID         string `json:"id"`
	Seq        int64  `json:"seq"`
	Stream     string `json:"stream"`
	SenderID   string `json:"sender_id"`
	SenderName string `json:"sender_name,omitempty"`
	Body       string `json:"body"`
	ThreadID   string `json:"thread_id,omitempty"`
	ReplyTo    string `json:"reply_to,omitempty"`
	CreatedAt  string `json:"created_at"`
}

type PublishMessageInput

type PublishMessageInput struct {
	Topic    string `json:"topic"               jsonschema:"description=Topic/stream name to publish to"`
	Body     string `json:"body"                jsonschema:"description=Message body"`
	Sender   string `json:"sender,omitempty"    jsonschema:"description=Sender name for attribution"`
	ThreadID string `json:"thread_id,omitempty" jsonschema:"description=Thread ID for threaded conversations"`
	ReplyTo  string `json:"reply_to,omitempty"  jsonschema:"description=Topic where replies should be sent"`
}

type PublishMessageOutput

type PublishMessageOutput struct {
	ID        string `json:"id"`
	Seq       int64  `json:"seq"`
	Stream    string `json:"stream"`
	CreatedAt string `json:"created_at"`
}

type ReadMessagesInput

type ReadMessagesInput struct {
	Topic      string `json:"topic"                jsonschema:"description=Topic/stream name to read from"`
	Subscriber string `json:"subscriber,omitempty" jsonschema:"description=Subscriber ID for tracking read position"`
	All        bool   `json:"all,omitempty"        jsonschema:"description=Read all messages instead of only unread"`
	ThreadID   string `json:"thread_id,omitempty"  jsonschema:"description=Filter to a specific thread"`
	Ack        bool   `json:"ack,omitempty"        jsonschema:"description=Acknowledge messages after reading"`
}

type ReadMessagesOutput

type ReadMessagesOutput struct {
	Messages []MessageOutput `json:"messages"`
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(cfg *config.Config, paths config.Paths, configFile string) *Server

func (*Server) Run

func (s *Server) Run(ctx context.Context) error

type SessionInfoOutput

type SessionInfoOutput struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	RepoPath       string `json:"repo_path,omitempty"`
	RepoName       string `json:"repo_name,omitempty"`
	WorktreePath   string `json:"worktree_path,omitempty"`
	Branch         string `json:"branch,omitempty"`
	Agent          string `json:"agent"`
	AgentSessionID string `json:"agent_session_id,omitempty"`
	Status         string `json:"status"`
	AgentStatus    string `json:"agent_status,omitempty"`
	ExitCode       *int   `json:"exit_code,omitempty"`
	CreatedAt      string `json:"created_at"`
	LastAttachedAt string `json:"last_attached_at,omitempty"`
	Dirty          bool   `json:"dirty,omitempty"`
	UnpushedCount  int    `json:"unpushed_count,omitempty"`
}

type SessionStatusInput

type SessionStatusInput struct {
	Session string `json:"session" jsonschema:"description=Session name or ID"`
}

type SubscribeInput

type SubscribeInput struct {
	Topic      string `json:"topic"                jsonschema:"description=Topic/stream name to subscribe to"`
	Subscriber string `json:"subscriber,omitempty" jsonschema:"description=Subscriber ID for tracking read position"`
	ThreadID   string `json:"thread_id,omitempty"  jsonschema:"description=Filter to a specific thread"`
	Ack        bool   `json:"ack,omitempty"        jsonschema:"description=Acknowledge the message after receiving it"`
}

type SubscribeOutput

type SubscribeOutput struct {
	Message MessageOutput `json:"message"`
}

Jump to

Keyboard shortcuts

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