Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 0 additions & 61 deletions crates/goose-mcp/src/computercontroller/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ use mcp_server::Router;

mod docx_tool;
mod pdf_tool;
mod presentation_tool;
mod xlsx_tool;

mod platform;
Expand Down Expand Up @@ -363,47 +362,6 @@ impl ComputerControllerRouter {
None,
);

let make_presentation_tool = Tool::new(
"make_presentation",
indoc! {r#"
Create and manage HTML presentations with a simple, modern design.
Operations:
- create: Create new presentation with template
- add_slide: Add a new slide with content

Open in a browser (using a command) to show the user: open <path>

For advanced edits, use developer tools to modify the HTML directly.
A template slide is included in comments for reference.
"#},
json!({
"type": "object",
"required": ["path", "operation"],
"properties": {
"path": {
"type": "string",
"description": "Path to the presentation file"
},
"operation": {
"type": "string",
"enum": ["create", "add_slide"],
"description": "Operation to perform"
},
"params": {
"type": "object",
"description": "Parameters for add_slide operation",
"properties": {
"content": {
"type": "string",
"description": "Content for the new slide"
}
}
}
}
}),
None,
);

let xlsx_tool = Tool::new(
"xlsx_tool",
indoc! {r#"
Expand Down Expand Up @@ -593,7 +551,6 @@ impl ComputerControllerRouter {
pdf_tool,
docx_tool,
xlsx_tool,
make_presentation_tool,
],
cache_dir,
active_resources: Arc::new(Mutex::new(HashMap::new())),
Expand Down Expand Up @@ -1168,24 +1125,6 @@ impl Router for ComputerControllerRouter {
"pdf_tool" => this.pdf_tool(arguments).await,
"docx_tool" => this.docx_tool(arguments).await,
"xlsx_tool" => this.xlsx_tool(arguments).await,
"make_presentation" => {
let path = arguments
.get("path")
.and_then(|v| v.as_str())
.ok_or_else(|| {
ToolError::InvalidParameters("Missing 'path' parameter".into())
})?;

let operation = arguments
.get("operation")
.and_then(|v| v.as_str())
.ok_or_else(|| {
ToolError::InvalidParameters("Missing 'operation' parameter".into())
})?;

presentation_tool::make_presentation(path, operation, arguments.get("params"))
.await
}
_ => Err(ToolError::NotFound(format!("Tool {} not found", tool_name))),
}
})
Expand Down
Loading
Loading