Documentation
¶
Overview ¶
Package mcp provides Model Context Protocol (MCP) integration for devloop.
This package implements MCP server functionality that allows devloop to be used as an MCP tool by AI assistants and other external clients. The MCP integration provides structured access to devloop's capabilities through the standardized MCP protocol.
MCP Server ¶
The MCP server exposes devloop functionality as MCP tools: - Project configuration management - Rule triggering and status monitoring - File content reading - Real-time log streaming
Usage ¶
The MCP server is automatically started when devloop runs in standalone or agent mode, providing stdio-based communication:
devloop -c .devloop.yaml # MCP server available on stdio
Integration ¶
AI assistants can use devloop through MCP by: - Connecting to the stdio-based MCP server - Calling available MCP tools for project management - Receiving real-time updates through the MCP protocol
Tools Available ¶
- get_config: Retrieve project configuration - trigger_rule: Execute specific automation rules - get_rule_status: Check rule execution status - list_watched_paths: Get monitored file patterns - read_file_content: Access file contents - stream_logs: Receive real-time log updates
Index ¶
- type MCPService
- type SelectiveGatewayAdapter
- func (s *SelectiveGatewayAdapter) GetConfig(ctx context.Context, req *pb.GetConfigRequest) (*pb.GetConfigResponse, error)
- func (s *SelectiveGatewayAdapter) GetRuleStatus(ctx context.Context, req *pb.GetRuleStatusRequest) (*pb.GetRuleStatusResponse, error)
- func (s *SelectiveGatewayAdapter) ListProjects(ctx context.Context, req *pb.ListProjectsRequest) (*pb.ListProjectsResponse, error)
- func (s *SelectiveGatewayAdapter) ListWatchedPaths(ctx context.Context, req *pb.ListWatchedPathsRequest) (*pb.ListWatchedPathsResponse, error)
- func (s *SelectiveGatewayAdapter) ReadFileContent(ctx context.Context, req *pb.ReadFileContentRequest) (*pb.ReadFileContentResponse, error)
- func (s *SelectiveGatewayAdapter) TriggerRuleClient(ctx context.Context, req *pb.TriggerRuleClientRequest) (*pb.TriggerRuleClientResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MCPService ¶
type MCPService struct {
// contains filtered or unexported fields
}
MCPService manages the MCP server for devloop
func NewMCPService ¶
func NewMCPService(orchestrator gateway.Orchestrator, port int) *MCPService
NewMCPService creates a new MCP service instance
func (*MCPService) Start ¶
func (m *MCPService) Start() error
Start initializes and starts the MCP server
type SelectiveGatewayAdapter ¶
type SelectiveGatewayAdapter struct {
// contains filtered or unexported fields
}
SelectiveGatewayAdapter exposes only essential devloop operations as MCP tools
func (*SelectiveGatewayAdapter) GetConfig ¶
func (s *SelectiveGatewayAdapter) GetConfig(ctx context.Context, req *pb.GetConfigRequest) (*pb.GetConfigResponse, error)
GetConfig implements the MCP GetConfig tool
func (*SelectiveGatewayAdapter) GetRuleStatus ¶
func (s *SelectiveGatewayAdapter) GetRuleStatus(ctx context.Context, req *pb.GetRuleStatusRequest) (*pb.GetRuleStatusResponse, error)
GetRuleStatus implements the MCP GetRuleStatus tool
func (*SelectiveGatewayAdapter) ListProjects ¶
func (s *SelectiveGatewayAdapter) ListProjects(ctx context.Context, req *pb.ListProjectsRequest) (*pb.ListProjectsResponse, error)
ListProjects implements the MCP ListProjects tool
func (*SelectiveGatewayAdapter) ListWatchedPaths ¶
func (s *SelectiveGatewayAdapter) ListWatchedPaths(ctx context.Context, req *pb.ListWatchedPathsRequest) (*pb.ListWatchedPathsResponse, error)
ListWatchedPaths implements the MCP ListWatchedPaths tool
func (*SelectiveGatewayAdapter) ReadFileContent ¶
func (s *SelectiveGatewayAdapter) ReadFileContent(ctx context.Context, req *pb.ReadFileContentRequest) (*pb.ReadFileContentResponse, error)
ReadFileContent implements the MCP ReadFileContent tool
func (*SelectiveGatewayAdapter) TriggerRuleClient ¶
func (s *SelectiveGatewayAdapter) TriggerRuleClient(ctx context.Context, req *pb.TriggerRuleClientRequest) (*pb.TriggerRuleClientResponse, error)
TriggerRuleClient implements the MCP TriggerRule tool