Skip to content

feat: Split redmine_request tool into method-specific tools#31

Open
junkreef wants to merge 1 commit into
runekaagaard:mainfrom
junkreef:feature/split-redmine-request
Open

feat: Split redmine_request tool into method-specific tools#31
junkreef wants to merge 1 commit into
runekaagaard:mainfrom
junkreef:feature/split-redmine-request

Conversation

@junkreef
Copy link
Copy Markdown

Description

This PR splits the unified redmine_request tool into 5 method-specific tools:

  • redmine_request_get
  • redmine_request_post
  • redmine_request_put
  • redmine_request_patch
  • redmine_request_delete

Motivation

Previously, because a single redmine_request tool handled all HTTP methods, it was difficult for users to set granular, method-based authorization policies in their MCP clients.
(e.g., auto-approving GET requests for reading data, while requiring explicit confirmation for state-changing requests like POST, PUT, or DELETE)

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

  • Replaced the single redmine_request function in mcp_redmine/server.py with 5 individual tools.
  • Ensured REDMINE_REQUEST_INSTRUCTIONS is still properly injected into the descriptions of all 5 new tools.
  • Updated the API Documentation section in README.md to reflect these changes.

Testing

  • Verified that all 5 individual tools are registered and successfully exposed to the MCP client.
  • Tested GET, POST, PUT, PATCH, and DELETE requests locally against a live Redmine instance using the /issues.json endpoints and confirmed they all execute and modify state correctly.

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.
@TheDarkTron
Copy link
Copy Markdown

awesome! Lets get this merged :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants