feat: Split redmine_request tool into method-specific tools#31
Open
junkreef wants to merge 1 commit into
Open
Conversation
Split the unified `redmine_request` tool into 5 individual tools (`redmine_request_get`, `redmine_request_post`, `redmine_request_put`, `redmine_request_patch`, `redmine_request_delete`) to allow clients to set granular, method-based authorization policies (e.g. auto-approve GET, require confirmation for POST). Updated documentation in README.md to reflect the new API endpoints.
|
awesome! Lets get this merged :) |
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
This PR splits the unified
redmine_requesttool into 5 method-specific tools:redmine_request_getredmine_request_postredmine_request_putredmine_request_patchredmine_request_deleteMotivation
Previously, because a single
redmine_requesttool handled all HTTP methods, it was difficult for users to set granular, method-based authorization policies in their MCP clients.(e.g., auto-approving
GETrequests for reading data, while requiring explicit confirmation for state-changing requests likePOST,PUT, orDELETE)By splitting the tool into individual endpoints, users can now securely and flexibly manage their permissions per HTTP method, reducing unnecessary interruptions during LLM tasks.
Changes Made
redmine_requestfunction inmcp_redmine/server.pywith 5 individual tools.REDMINE_REQUEST_INSTRUCTIONSis still properly injected into the descriptions of all 5 new tools.README.mdto reflect these changes.Testing
GET,POST,PUT,PATCH, andDELETErequests locally against a live Redmine instance using the/issues.jsonendpoints and confirmed they all execute and modify state correctly.