Skip to content

Commit 59bada8

Browse files
hannesrudolphmrubensSannidhyaSahSannidhya Sahellipsis-dev[bot]
authored
Tool calls (#92)
* Allow doc writer mode to edit all files * Add documentation for read_file tool and its usage * Add documentation for search_files tool and its usage * Add documentation for list_files tool and its usage * Add documentation for list_code_definition_names tool and its usage * Add documentation for write_to_file tool and its usage * Update model temperature documentation title * Remove outdated redirect for tool reference in Docusaurus configuration * Remove outdated tool reference documentation * Update link to Tool Use Overview in how-tools-work documentation * Fix formatting of model temperature documentation header * Add documentation for browser_action tool and its usage * Add documentation for ask_followup_question tool and its functionality * Add documentation for the attempt_completion tool and its functionality * Add documentation for the switch_mode tool and its functionality * Add documentation for the use_mcp_tool and its functionality * Add documentation for the access_mcp_resource tool and its functionality * Add documentation for the apply_diff tool and its functionality * Add documentation for the execute_command tool and its functionality * Add documentation for the new_task tool and its functionality * Add tool use overview documentation * Remove deprecated tools from the tool use overview documentation * Refactor sidebar structure to categorize tool usage and enhance navigation * Update logo (#91) * Update documentation with new features and available model info (#90) * docs: Update documentation with latest features and model info * Update docs/features/experimental/experimental-features.md Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update docs/providers/anthropic.md Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update sidebars.ts Updated sidebar with more features * Update more-features.md --------- Co-authored-by: Sannidhya Sah <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update social share image (#93) * Allow doc writer mode to edit all files * Add documentation for read_file tool and its usage * Add documentation for search_files tool and its usage * Add documentation for list_files tool and its usage * Add documentation for list_code_definition_names tool and its usage * Add documentation for write_to_file tool and its usage * Update model temperature documentation title * Remove outdated redirect for tool reference in Docusaurus configuration * Remove outdated tool reference documentation * Update link to Tool Use Overview in how-tools-work documentation * Fix formatting of model temperature documentation header * Add documentation for browser_action tool and its usage * Add documentation for ask_followup_question tool and its functionality * Add documentation for the attempt_completion tool and its functionality * Add documentation for the switch_mode tool and its functionality * Add documentation for the use_mcp_tool and its functionality * Add documentation for the access_mcp_resource tool and its functionality * Add documentation for the apply_diff tool and its functionality * Add documentation for the execute_command tool and its functionality * Add documentation for the new_task tool and its functionality * Add tool use overview documentation * Remove deprecated tools from the tool use overview documentation * Refactor sidebar structure to categorize tool usage and enhance navigation --------- Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: SannidhyaSah <[email protected]> Co-authored-by: Sannidhya Sah <[email protected]> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
1 parent 6697ef7 commit 59bada8

21 files changed

+2384
-37
lines changed

.roomodes

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,8 @@
77
"customInstructions": "### Custom Instructions\n\n1. **Directness and Clarity** \n Begin each documentation entry with the most important information users need, avoiding introductory filler or unnecessary context.\n\n2. **Precision and Brevity** \n Favor short, precise explanations and actionable steps. Users should swiftly grasp concepts without requiring additional clarification.\n\n3. **Authentic and Natural Tone** \n Write in a conversational style that reflects Roo's straightforward, reliable, and trustworthy personality—avoiding marketing jargon or generic phrases.\n\n4. **Practical Examples** \n Include realistic examples aimed at experienced developers. Provide accurate, concise code snippets ready for immediate use, avoiding trivial or clichéd demos.\n\n5. **Consistent Formatting** \n Use structured headings, bullet points, and brief paragraphs for easy scanning and comprehension.\n\n6. **Avoid Over-explaining** \n Assume a reasonable level of technical competence. Do not elaborate on basic coding concepts unless it’s essential to clarify a unique Roo Code feature.\n\n7. **Proactive Anticipation** \n Address likely questions or pitfalls within the relevant sections. Incorporate tips or clarifications to prevent common mistakes.\n\n8. **Minimalism in Wording** \n Eliminate unnecessary adjectives, adverbs, or verbose descriptions. Use clear, functional language that reduces cognitive load.\n\n9. **Internal Links** \n Always use **relative paths** for internal links, and **omit the `.md` file extension**. \n Example: \n ```md\n [Link to Guide](../intro/)\n\n\t10.\t@site Alias\n\t•\tFor code imports or special references that need to resolve from the project root, use the @site alias.\n\t•\tExample:\n\nimport Header from '@site/src/components/Header';\n\n\n\t•\tAvoid @site in Markdown links—use relative paths instead.\n\n\t11.\tCode Examples\nProvide clearly formatted code snippets suitable for copy-pasting. Maintain consistent syntax highlighting, indentation, and structure.\n\t12.\tImages\nInsert an image placeholder where needed. Include a brief description of the image below the placeholder. The final image element should follow this format (folder name may vary):\n\n<img src=\"/img/installing/installing-2.png\" alt=\"VS Code's Install from VSIX dialog\" width=\"600\" />\n\n(with the folder starting at /img/)",
88
"groups": [
99
"read",
10-
[
11-
"edit",
12-
{
13-
"fileRegex": "\\.md[x]?$",
14-
"description": "Markdown and MDX files only"
15-
}
16-
],
17-
"command"
10+
"command",
11+
"edit"
1812
],
1913
"source": "project"
2014
}

docs/basic-usage/how-tools-work.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ This safety mechanism ensures you maintain control over which files are modified
8080

8181
## Learn More About Tools
8282

83-
For more detailed information about each tool, including complete parameter references and advanced usage patterns, see the [Advanced Tool Reference](/features/tool-reference) documentation.
83+
For more detailed information about each tool, including complete parameter references and advanced usage patterns, see the [Tool Use Overview](/features/tools/tool-use-overview) documentation.

docs/features/model-temperature.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Adjusting Model Temperature
1+
# Model Temperature
22

33
Temperature controls the randomness of AI model outputs. Adjusting this setting optimizes results for different tasks - from precise code generation to creative brainstorming. Temperature is one of the most powerful parameters for controlling AI behavior. A well-tuned temperature setting can dramatically improve the quality and appropriateness of responses for specific tasks.
44

docs/features/tool-reference.md

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# access_mcp_resource
2+
3+
The `access_mcp_resource` tool retrieves data from resources exposed by connected Model Context Protocol (MCP) servers. It allows Roo to access files, API responses, documentation, or system information that provides additional context for tasks.
4+
5+
## Parameters
6+
7+
The tool accepts these parameters:
8+
9+
- `server_name` (required): The name of the MCP server providing the resource
10+
- `uri` (required): The URI identifying the specific resource to access
11+
12+
## What It Does
13+
14+
This tool connects to MCP servers and fetches data from their exposed resources. Unlike `use_mcp_tool` which executes actions, this tool specifically retrieves information that serves as context for tasks.
15+
16+
## When is it used?
17+
18+
- When Roo needs additional context from external systems
19+
- When Roo needs to access domain-specific data from specialized MCP servers
20+
- When Roo needs to retrieve reference documentation hosted by MCP servers
21+
- When Roo needs to integrate real-time data from external APIs via MCP
22+
23+
## Key Features
24+
25+
- Retrieves both text and image data from MCP resources
26+
- Requires user approval before executing resource access
27+
- Uses URI-based addressing to precisely identify resources
28+
- Integrates with the Model Context Protocol SDK
29+
- Displays resource content appropriately based on content type
30+
- Supports timeouts for reliable network operations
31+
- Handles server connection states (connected, connecting, disconnected)
32+
- Discovers available resources from connected servers
33+
- Processes structured response data with metadata
34+
- Handles image content special rendering
35+
36+
## Limitations
37+
38+
- Depends on external MCP servers being available and connected
39+
- Limited to the resources provided by connected servers
40+
- Cannot access resources from disabled servers
41+
- Network issues can affect reliability and performance
42+
- Resource access subject to configured timeouts
43+
- URI formats are determined by the specific MCP server implementation
44+
- No offline or cached resource access capabilities
45+
46+
## How It Works
47+
48+
When the `access_mcp_resource` tool is invoked, it follows this process:
49+
50+
1. **Connection Validation**:
51+
- Verifies that an MCP hub is available and initialized
52+
- Confirms the specified server exists in the connection list
53+
- Checks if the server is disabled (returns an error if it is)
54+
55+
2. **User Approval**:
56+
- Presents the resource access request to the user for approval
57+
- Provides server name and resource URI for user verification
58+
- Proceeds only if the user approves the resource access
59+
60+
3. **Resource Request**:
61+
- Uses the Model Context Protocol SDK to communicate with servers
62+
- Makes a `resources/read` request to the server through the MCP hub
63+
- Applies configured timeouts to prevent hanging on unresponsive servers
64+
65+
4. **Response Processing**:
66+
- Receives a structured response with metadata and content arrays
67+
- Processes text content for display to the user
68+
- Handles image data specially for appropriate display
69+
- Returns the processed resource data to Roo for use in the current task
70+
71+
## Resource Types
72+
73+
MCP servers can provide two main types of resources:
74+
75+
1. **Standard Resources**:
76+
- Fixed resources with specific URIs
77+
- Defined name, description, and MIME type
78+
- Direct access without parameters
79+
- Typically represent static data or real-time information
80+
81+
2. **Resource Templates**:
82+
- Parameterized resources with placeholder values in URIs
83+
- Allow dynamic resource generation based on provided parameters
84+
- Can represent queries or filtered views of data
85+
- More flexible but require additional URI formatting
86+
87+
## Examples When Used
88+
89+
- When helping with API development, Roo retrieves endpoint specifications from MCP resources to ensure correct implementation.
90+
- When assisting with data visualization, Roo accesses current data samples from connected MCP servers.
91+
- When working in specialized domains, Roo retrieves technical documentation to provide accurate guidance.
92+
- When generating industry-specific code, Roo references compliance requirements from documentation resources.
93+
94+
## Usage Examples
95+
96+
Accessing current weather data:
97+
```
98+
<access_mcp_resource>
99+
<server_name>weather-server</server_name>
100+
<uri>weather://san-francisco/current</uri>
101+
</access_mcp_resource>
102+
```
103+
104+
Retrieving API documentation:
105+
```
106+
<access_mcp_resource>
107+
<server_name>api-docs</server_name>
108+
<uri>docs://payment-service/endpoints</uri>
109+
</access_mcp_resource>
110+
```
111+
112+
Accessing domain-specific knowledge:
113+
```
114+
<access_mcp_resource>
115+
<server_name>knowledge-base</server_name>
116+
<uri>kb://medical/terminology/common</uri>
117+
</access_mcp_resource>
118+
```
119+
120+
Fetching system configuration:
121+
```
122+
<access_mcp_resource>
123+
<server_name>infra-monitor</server_name>
124+
<uri>config://production/database</uri>
125+
</access_mcp_resource>
126+
```

0 commit comments

Comments
 (0)