Class AutobotService
java.lang.Object
com.shaft.mcp.AutobotService
MCP adapter for SHAFT Autobot local agent routing.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionLists local agent CLI routes available to SHAFT Autobot.providerModels(String provider, String model) Discovers configured provider model identifiers without returning provider response details.providerStatus(String provider, String model) Reports the configured SHAFT cloud provider readiness for the IntelliJ status view.runLocalAgent(String client, String mode, String prompt, String workingDirectory, List<String> command, Map<String, String> environment, int timeoutSeconds, boolean allowSourceMutation) Runs an Ask, Plan, or explicitly approved Agent prompt through a local CLI agent.runProviderChat(String provider, String model, String mode, String prompt, String workingDirectory, int timeoutSeconds, boolean allowSourceMutation) Runs an Ask or Plan prompt through the configured SHAFT cloud provider.
-
Constructor Details
-
AutobotService
public AutobotService()Creates the default Autobot MCP adapter.
-
-
Method Details
-
localAgentClients
@Tool(name="autobot_local_agent_clients", description="lists local SHAFT Autobot CLI clients that do not require SHAFT cloud API keys") public List<AutobotLocalAgentClient> localAgentClients()Lists local agent CLI routes available to SHAFT Autobot.- Returns:
- supported local clients
-
runLocalAgent
@Tool(name="autobot_local_agent_run", description="routes Ask, Plan, or approved Agent requests to Codex, Claude Code, or Copilot CLI") public LocalAgentResponse runLocalAgent(String client, String mode, String prompt, String workingDirectory, List<String> command, Map<String, String> environment, int timeoutSeconds, boolean allowSourceMutation) Runs an Ask, Plan, or explicitly approved Agent prompt through a local CLI agent.- Parameters:
client- local agent client: CODEX, CLAUDE_CODE, or COPILOT_CLImode- Autobot mode: ASK, PLAN, or AGENTprompt- prompt written to the local agentworkingDirectory- optional workspace-relative working directorycommand- optional custom command and argumentsenvironment- optional process environment variables; never echoed in the responsetimeoutSeconds- process timeout in seconds; defaults to 300 when non-positiveallowSourceMutation- explicit approval required for AGENT mode- Returns:
- safe local agent response
-
runProviderChat
@Tool(name="autobot_provider_chat", description="routes Ask or Plan requests to configured SHAFT cloud providers without source mutation") public AutobotProviderChatResponse runProviderChat(String provider, String model, String mode, String prompt, String workingDirectory, int timeoutSeconds, boolean allowSourceMutation) Runs an Ask or Plan prompt through the configured SHAFT cloud provider.- Parameters:
provider- provider identifier: openai, anthropic, gemini, or githubmodel- model identifiermode- assistant mode: ASK or PLANprompt- prompt sent to the providerworkingDirectory- optional workspace-relative working directorytimeoutSeconds- provider timeout in secondsallowSourceMutation- ignored for cloud providers; source mutation is never allowed- Returns:
- safe provider response
-
providerStatus
@Tool(name="autobot_provider_status", description="reports the configured SHAFT cloud provider, model, API-key presence (never the value), and structured-output support for the IntelliJ readiness view") public AutobotProviderStatus providerStatus(String provider, String model) Reports the configured SHAFT cloud provider readiness for the IntelliJ status view.Never exposes the API key value; only whether the provider key is present in the environment.
- Parameters:
provider- provider identifier: openai, anthropic, gemini, or githubmodel- configured model, or blank when none is set- Returns:
- read-only provider status
-
providerModels
@Tool(name="autobot_provider_models", description="discovers model IDs from the configured SHAFT provider without exposing responses, headers, or credentials") public AutobotProviderModels providerModels(String provider, String model) Discovers configured provider model identifiers without returning provider response details.- Parameters:
provider- provider identifiermodel- selected provider model, or blank to use its configured default- Returns:
- safe model-discovery state and identifiers
-