Documentation
¶
Index ¶
- type CreateMemoryToolInput
- type CreateMemoryToolOutput
- type CreateSessionInput
- type CreateSessionOutput
- type CreateTaskGroupToolInput
- type CreateTaskGroupToolOutput
- type CreateTaskToolInput
- type CreateTaskToolOutput
- type DeleteMemoryToolInput
- type DeleteMemoryToolOutput
- type DeleteSessionInput
- type DeleteSessionOutput
- type DeleteTaskGroupToolInput
- type DeleteTaskGroupToolOutput
- type DeleteTaskToolInput
- type DeleteTaskToolOutput
- type GetMemoryToolInput
- type GetMemoryToolOutput
- type GetMessagesInput
- type GetMessagesOutput
- type GetStatusInput
- type GetStatusOutput
- type GetTaskToolInput
- type GetTaskToolOutput
- type ListMemoriesToolInput
- type ListMemoriesToolOutput
- type ListSessionsInput
- type ListSessionsOutput
- type ListTaskGroupsToolInput
- type ListTaskGroupsToolOutput
- type ListTasksToolInput
- type ListTasksToolOutput
- type MCPHandler
- type MCPServer
- type MemoryOutput
- type MessageOutput
- type SendMessageInput
- type SendMessageOutput
- type SessionOutput
- type TaskGroupOutput
- type TaskLinkInput
- type TaskLinkOutput
- type TaskOutput
- type UpdateMemoryToolInput
- type UpdateMemoryToolOutput
- type UpdateTaskToolInput
- type UpdateTaskToolOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateMemoryToolInput ¶ added in v1.248.0
type CreateMemoryToolInput struct {
Title string `json:"title"`
Content string `json:"content,omitempty"`
Scope string `json:"scope"`
TeamID string `json:"team_id,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
}
CreateMemoryToolInput represents input for create_memory tool
type CreateMemoryToolOutput ¶ added in v1.248.0
type CreateMemoryToolOutput struct {
Memory MemoryOutput `json:"memory"`
}
CreateMemoryToolOutput represents output for create_memory tool
type CreateSessionInput ¶
type CreateSessionInput struct {
Environment map[string]string `json:"environment,omitempty" jsonschema:"Environment variables for the session"`
Tags map[string]string `json:"tags,omitempty" jsonschema:"Tags for the session"`
Repository string `json:"repository,omitempty" jsonschema:"Repository to clone (e.g., 'owner/repo' or 'https://github.com/owner/repo')"`
}
CreateSessionInput represents input for create_session tool
type CreateSessionOutput ¶
type CreateSessionOutput struct {
SessionID string `json:"session_id" jsonschema:"Created session ID"`
}
CreateSessionOutput represents output for create_session tool
type CreateTaskGroupToolInput ¶ added in v1.247.0
type CreateTaskGroupToolInput struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Scope string `json:"scope"`
TeamID string `json:"team_id,omitempty"`
}
CreateTaskGroupToolInput represents input for create_task_group tool
type CreateTaskGroupToolOutput ¶ added in v1.247.0
type CreateTaskGroupToolOutput struct {
TaskGroup TaskGroupOutput `json:"task_group"`
}
CreateTaskGroupToolOutput represents output for create_task_group tool
type CreateTaskToolInput ¶ added in v1.247.0
type CreateTaskToolInput struct {
Title string `json:"title"`
Description string `json:"description,omitempty"`
TaskType string `json:"task_type"`
Scope string `json:"scope"`
TeamID string `json:"team_id,omitempty"`
GroupID string `json:"group_id,omitempty"`
Links []TaskLinkInput `json:"links,omitempty"`
}
CreateTaskToolInput represents input for create_task tool
type CreateTaskToolOutput ¶ added in v1.247.0
type CreateTaskToolOutput struct {
Task TaskOutput `json:"task"`
}
CreateTaskToolOutput represents output for create_task tool
type DeleteMemoryToolInput ¶ added in v1.248.0
type DeleteMemoryToolInput struct {
MemoryID string `json:"memory_id"`
}
DeleteMemoryToolInput represents input for delete_memory tool
type DeleteMemoryToolOutput ¶ added in v1.248.0
type DeleteMemoryToolOutput struct {
Message string `json:"message"`
MemoryID string `json:"memory_id"`
}
DeleteMemoryToolOutput represents output for delete_memory tool
type DeleteSessionInput ¶
type DeleteSessionInput struct {
SessionID string `json:"session_id" jsonschema:"Session ID to delete"`
}
DeleteSessionInput represents input for delete_session tool
type DeleteSessionOutput ¶
type DeleteSessionOutput struct {
Message string `json:"message" jsonschema:"Success message"`
SessionID string `json:"session_id" jsonschema:"Deleted session ID"`
}
DeleteSessionOutput represents output for delete_session tool
type DeleteTaskGroupToolInput ¶ added in v1.247.0
type DeleteTaskGroupToolInput struct {
GroupID string `json:"group_id"`
}
DeleteTaskGroupToolInput represents input for delete_task_group tool
type DeleteTaskGroupToolOutput ¶ added in v1.247.0
type DeleteTaskGroupToolOutput struct {
Message string `json:"message"`
GroupID string `json:"group_id"`
}
DeleteTaskGroupToolOutput represents output for delete_task_group tool
type DeleteTaskToolInput ¶ added in v1.247.0
type DeleteTaskToolInput struct {
TaskID string `json:"task_id"`
}
DeleteTaskToolInput represents input for delete_task tool
type DeleteTaskToolOutput ¶ added in v1.247.0
DeleteTaskToolOutput represents output for delete_task tool
type GetMemoryToolInput ¶ added in v1.248.0
type GetMemoryToolInput struct {
MemoryID string `json:"memory_id"`
}
GetMemoryToolInput represents input for get_memory tool
type GetMemoryToolOutput ¶ added in v1.248.0
type GetMemoryToolOutput struct {
Memory MemoryOutput `json:"memory"`
}
GetMemoryToolOutput represents output for get_memory tool
type GetMessagesInput ¶
type GetMessagesInput struct {
SessionID string `json:"session_id" jsonschema:"Session ID to get messages from"`
}
GetMessagesInput represents input for get_messages tool
type GetMessagesOutput ¶
type GetMessagesOutput struct {
Messages []MessageOutput `json:"messages" jsonschema:"List of messages"`
}
GetMessagesOutput represents output for get_messages tool
type GetStatusInput ¶
type GetStatusInput struct {
SessionID string `json:"session_id" jsonschema:"Session ID to get status for"`
}
GetStatusInput represents input for get_session_status tool
type GetStatusOutput ¶
type GetStatusOutput struct {
Status string `json:"status" jsonschema:"Session status"`
}
GetStatusOutput represents output for get_session_status tool
type GetTaskToolInput ¶ added in v1.247.0
type GetTaskToolInput struct {
TaskID string `json:"task_id"`
}
GetTaskToolInput represents input for get_task tool
type GetTaskToolOutput ¶ added in v1.247.0
type GetTaskToolOutput struct {
Task TaskOutput `json:"task"`
}
GetTaskToolOutput represents output for get_task tool
type ListMemoriesToolInput ¶ added in v1.248.0
type ListMemoriesToolInput struct {
Scope string `json:"scope,omitempty"`
TeamID string `json:"team_id,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
Query string `json:"query,omitempty"`
}
ListMemoriesToolInput represents input for list_memories tool
type ListMemoriesToolOutput ¶ added in v1.248.0
type ListMemoriesToolOutput struct {
Memories []MemoryOutput `json:"memories"`
Total int `json:"total"`
}
ListMemoriesToolOutput represents output for list_memories tool
type ListSessionsInput ¶
type ListSessionsInput struct {
Status string `json:"status,omitempty" jsonschema:"Filter by session status"`
Tags map[string]string `json:"tags,omitempty" jsonschema:"Filter by tags"`
}
ListSessionsInput represents input for list_sessions tool
type ListSessionsOutput ¶
type ListSessionsOutput struct {
Sessions []SessionOutput `json:"sessions" jsonschema:"List of sessions"`
}
ListSessionsOutput represents output for list_sessions tool
type ListTaskGroupsToolInput ¶ added in v1.247.0
type ListTaskGroupsToolInput struct {
Scope string `json:"scope,omitempty"`
TeamID string `json:"team_id,omitempty"`
}
ListTaskGroupsToolInput represents input for list_task_groups tool
type ListTaskGroupsToolOutput ¶ added in v1.247.0
type ListTaskGroupsToolOutput struct {
TaskGroups []TaskGroupOutput `json:"task_groups"`
Total int `json:"total"`
}
ListTaskGroupsToolOutput represents output for list_task_groups tool
type ListTasksToolInput ¶ added in v1.247.0
type ListTasksToolInput struct {
Scope string `json:"scope,omitempty"`
TeamID string `json:"team_id,omitempty"`
GroupID string `json:"group_id,omitempty"`
Status string `json:"status,omitempty"`
TaskType string `json:"task_type,omitempty"`
}
ListTasksToolInput represents input for list_tasks tool
type ListTasksToolOutput ¶ added in v1.247.0
type ListTasksToolOutput struct {
Tasks []TaskOutput `json:"tasks"`
Total int `json:"total"`
}
ListTasksToolOutput represents output for list_tasks tool
type MCPHandler ¶
type MCPHandler struct {
// contains filtered or unexported fields
}
MCPHandler implements the CustomHandler interface for MCP endpoints
func NewMCPHandler ¶
func NewMCPHandler(server *app.Server) *MCPHandler
NewMCPHandler creates a new MCP handler for the /mcp endpoint
func (*MCPHandler) GetName ¶
func (h *MCPHandler) GetName() string
GetName returns the name of this handler for logging
func (*MCPHandler) RegisterRoutes ¶
RegisterRoutes registers the /mcp endpoint with Echo
type MCPServer ¶
type MCPServer struct {
// contains filtered or unexported fields
}
MCPServer wraps the MCP server and use cases
func NewMCPServer ¶
func NewMCPServer(sessionManager repositories.SessionManager, shareRepo repositories.ShareRepository, taskRepo repositories.TaskRepository, taskGroupRepo repositories.TaskGroupRepository, memoryRepo repositories.MemoryRepository, authenticatedUserID string, authenticatedTeams []string, authenticatedGithubToken string, sessionID string, opts *mcp.ServerOptions) *MCPServer
NewMCPServer creates a new MCP server instance
func (*MCPServer) RegisterTools ¶
func (s *MCPServer) RegisterTools()
RegisterTools registers all MCP tools
type MemoryOutput ¶ added in v1.248.0
type MemoryOutput struct {
ID string `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Tags map[string]string `json:"tags,omitempty"`
Scope string `json:"scope"`
OwnerID string `json:"owner_id"`
TeamID string `json:"team_id,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
MemoryOutput represents a memory entry in the response
type MessageOutput ¶
type MessageOutput struct {
Role string `json:"role" jsonschema:"Message role"`
Content string `json:"content" jsonschema:"Message content"`
Timestamp time.Time `json:"timestamp" jsonschema:"Message timestamp"`
}
MessageOutput represents a message in the output
type SendMessageInput ¶
type SendMessageInput struct {
SessionID string `json:"session_id" jsonschema:"Session ID to send message to"`
Message string `json:"message" jsonschema:"Message content to send"`
Type string `json:"type,omitempty" jsonschema:"Message type (user or raw)"`
}
SendMessageInput represents input for send_message tool
type SendMessageOutput ¶
type SendMessageOutput struct {
MessageID string `json:"message_id" jsonschema:"Sent message ID"`
}
SendMessageOutput represents output for send_message tool
type SessionOutput ¶
type SessionOutput struct {
SessionID string `json:"session_id" jsonschema:"Session ID"`
UserID string `json:"user_id" jsonschema:"User ID"`
Status string `json:"status" jsonschema:"Session status"`
StartedAt time.Time `json:"started_at" jsonschema:"When the session was started"`
Port int `json:"port" jsonschema:"Port number"`
Tags map[string]string `json:"tags,omitempty" jsonschema:"Session tags"`
}
SessionOutput represents a session in the output
type TaskGroupOutput ¶ added in v1.247.0
type TaskGroupOutput struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Scope string `json:"scope"`
OwnerID string `json:"owner_id"`
TeamID string `json:"team_id,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
TaskGroupOutput represents a task group in the response
type TaskLinkInput ¶ added in v1.247.0
TaskLinkInput represents a link in a task creation/update request
type TaskLinkOutput ¶ added in v1.247.0
type TaskLinkOutput struct {
ID string `json:"id"`
URL string `json:"url"`
Title string `json:"title,omitempty"`
}
TaskLinkOutput represents a link in a task response
type TaskOutput ¶ added in v1.247.0
type TaskOutput struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
Status string `json:"status"`
TaskType string `json:"task_type"`
Scope string `json:"scope"`
OwnerID string `json:"owner_id"`
TeamID string `json:"team_id,omitempty"`
GroupID string `json:"group_id,omitempty"`
SessionID string `json:"session_id,omitempty"`
Links []TaskLinkOutput `json:"links"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
TaskOutput represents a task in the response
type UpdateMemoryToolInput ¶ added in v1.248.0
type UpdateMemoryToolInput struct {
MemoryID string `json:"memory_id"`
Title *string `json:"title,omitempty"`
Content *string `json:"content,omitempty"`
Tags *map[string]string `json:"tags,omitempty"`
}
UpdateMemoryToolInput represents input for update_memory tool
type UpdateMemoryToolOutput ¶ added in v1.248.0
type UpdateMemoryToolOutput struct {
Memory MemoryOutput `json:"memory"`
}
UpdateMemoryToolOutput represents output for update_memory tool
type UpdateTaskToolInput ¶ added in v1.247.0
type UpdateTaskToolInput struct {
TaskID string `json:"task_id"`
Title *string `json:"title,omitempty"`
Description *string `json:"description,omitempty"`
Status *string `json:"status,omitempty"`
GroupID *string `json:"group_id,omitempty"`
SessionID *string `json:"session_id,omitempty"`
Links *[]TaskLinkInput `json:"links,omitempty"`
}
UpdateTaskToolInput represents input for update_task tool
type UpdateTaskToolOutput ¶ added in v1.247.0
type UpdateTaskToolOutput struct {
Task TaskOutput `json:"task"`
}
UpdateTaskToolOutput represents output for update_task tool