Add redMCP Streamable HTTP server

This commit is contained in:
Jason Thistlethwaite
2026-04-25 02:23:48 +00:00
parent 3b6b4d6dba
commit 05c1a4bc97
11 changed files with 631 additions and 15 deletions
+26 -4
View File
@@ -86,14 +86,36 @@ caller deliberately wants the customer to receive mail.
## MCP server
`redMCP` can also run as a stdio MCP server. It reads Redmine credentials from
environment variables or `redMCP/.env`:
`redMCP` can run as either a stdio MCP server or a network MCP server. It reads
Redmine credentials from environment variables or `redMCP/.env`.
```sh
redMCP/bin/redmcp-server.php
```
Example client configuration:
For local network testing, run the Streamable HTTP server:
```sh
MCP_SERVER_TOKEN=test-token redMCP/bin/redmcp-http-server.php --host 0.0.0.0 --port 8765
```
The network endpoint defaults to `/mcp` and requires:
```text
Authorization: Bearer <MCP_SERVER_TOKEN>
```
Example Streamable HTTP request:
```sh
curl -sS \
-H 'Authorization: Bearer test-token' \
-H 'Content-Type: application/json' \
http://127.0.0.1:8765/mcp \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
```
Example stdio client configuration:
```json
{
@@ -105,7 +127,7 @@ Example client configuration:
}
```
The server exposes tools for native Redmine filtering/search, issue CRUD,
Both transports expose tools for native Redmine filtering/search, issue CRUD,
Helpdesk-aware issue reads, and explicit Helpdesk email responses. Tools that
can send customer-visible mail require an explicit tool call such as
`redmine_send_helpdesk_response` or `redmine_update_issue` with