chore(tools): Adding guardrails to MCP server tools#96
Open
irfan-ahmed wants to merge 1 commit intooracle:mainfrom
Open
chore(tools): Adding guardrails to MCP server tools#96irfan-ahmed wants to merge 1 commit intooracle:mainfrom
irfan-ahmed wants to merge 1 commit intooracle:mainfrom
Conversation
8067b77 to
e58ba1f
Compare
cboffa13
approved these changes
Dec 15, 2025
shopewf
reviewed
Dec 22, 2025
| "Deletes the specified instance. WARNING: This action is destructive and cannot be undone. It will " | ||
| "permanently delete the instance and all associated data. The AI client must inform the user of this " | ||
| "destructive nature and ask for explicit confirmation before executing this tool. Do not attempt " | ||
| "this operation without getting a confirmations from the user." |
Member
There was a problem hiding this comment.
so do we have a standard annotation for this type of destructive behavior? Is adding destructiveHint not enough? Should we add this to the best practices doc? If this is left off, is there no explicit confirmation from the user to perform this action?
Member
Author
There was a problem hiding this comment.
In my testing, I was seeing that without this, the GPT-oss model would be inconsistent in showing a warning. Once I added this, it always shows a confirmation before executing the task.
- Updated the delete/terminate/update tools to add a warning and destructiveHint. Also updated the description to make sure that the AI client asks for a confirmation before proceeding with the tool execution - Generated new denylist from oci-cli version 3.71.1 - Bumped up the versions of servers that have this change - Updated the denylist generator to store the version in the created commands and denylist of the CLI it is generated from
e58ba1f to
0fea9b2
Compare
shopewf
approved these changes
Jan 7, 2026
cboffa13
reviewed
Jan 8, 2026
Member
There was a problem hiding this comment.
Couple questions:
- Can this list be overwritten? If so, how?
- We should add a section in the readme of this server for this functionality
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The PR adds guardrails to some of the commands that can change the configuration of the OCI system. The changes include:
destructiveHint. Also updated the description to make sure that the AI client asks for a confirmation before proceeding with the tool executionType of change
How Has This Been Tested?
oci-api-mcp-server, you can use the following promptsYou should verify that Cline will not execute the command even when you approve it, as it will hit the denylist
You can set up another MCP server similarly, such as compute. Disable the oci-api-mcp-server and issue a prompt to delete the instance. It should ask for confirmation.
Alternatively, you can also install and start Ollama with gpt-oss and use mcphost to issue prompts. Follow the steps listed at https://github.com/oracle/mcp?tab=readme-ov-file#mcphost