Add friendly redMCP query options

This commit is contained in:
Jason Thistlethwaite
2026-04-25 04:12:01 +00:00
parent a25361f5fc
commit d8f17ff7e7
7 changed files with 618 additions and 13 deletions
+11
View File
@@ -50,6 +50,11 @@ environment. Before risky edits, archive the current plugin directories in
`/projects.json` APIs.
- Added `users()`, `listUsers()`, `user()`, and `projectMemberships()` for
Redmine's user and membership APIs.
- Added `ListQueryNormalizer` so MCP list tools accept friendly paging,
sorting, status, and date options while preserving raw Redmine
`filters`/`params` overrides.
- Added `redMCP/bin/test-query-normalizer.php` for no-network checks of
Redmine query parameter normalization.
- Added a shared MCP dispatcher and transport-specific server wrappers.
- Added `redMCP/bin/redmcp-server.php` for stdio MCP clients.
- Added `redMCP/bin/redmcp-http-server.php` for bearer-token-protected
@@ -85,6 +90,12 @@ environment. Before risky edits, archive the current plugin directories in
- `redmine_list_project_memberships` returned direct and inherited
memberships for `customer-service`; `fud-helpdesk` returned a valid empty
membership list.
- `php redMCP/bin/test-query-normalizer.php` passed with coverage for paging,
sort shortcuts, status aliases, date presets/ranges, free-text dates, and
raw override precedence.
- Live Streamable HTTP tests passed for friendly `redmine_list_issues`,
`redmine_search_issues`, `redmine_list_users`, `redmine_list_projects`, and
`redmine_list_project_memberships` arguments.
- Debug logging wrote JSONL records with full project-tool arguments and did
not include the bearer token, `Authorization`, or Redmine API key.
- Token generation passed default, `--bytes 48`, and `--env-line` modes.