Benjamin Admin
414496c31a
feat(mcp): HTTP+Bearer CRA-MCP-Server für den Repo-Scanner + Finding-Adapter
Register-Flow für compliance-scanner-agent (anderes Team, Rust): deren MCP-Client
(McpServerConfig) erwartet Streamable HTTP + Bearer — unser MCP war stdio/ohne Auth.
- server.py auf FastMCP umgestellt: Tools cra_assess_findings + cra_list_requirements,
Dual-Transport (stdio default; Streamable HTTP wenn MCP_PORT gesetzt), Bearer-Gate
via CRA_MCP_TOKEN.
- ScannerFinding.from_dict tolerant für ihr Finding-Schema (_id/fingerprint,
scan_type→category, cvss_score→cvss, file_path→location, severity info→low).
- Eigenständiger docker-compose-Dienst bp-compliance-mcp (Port 8099, pure/kein DB,
isoliert von der Haupt-API) + Hetzner-amd64-Override.
- Tests: test_cra_scanner_adapter, test_mcp_server (Bearer-Gate + Tool-Registry).
Pull-Flow (wir holen ihre Findings über ihren MCP) + öffentliches nginx-Routing
folgen separat (brauchen ihren Endpoint/Token).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-15 18:30:47 +02:00
..
2026-06-11 14:31:41 +02:00
2026-05-21 18:49:10 +02:00
2026-06-08 11:35:55 +02:00
2026-06-11 19:54:15 +02:00
2026-05-11 22:52:26 +02:00
2026-06-07 00:42:16 +02:00
2026-04-29 15:27:51 +02:00
2026-05-10 22:56:09 +02:00
2026-06-06 21:19:49 +02:00
2026-06-07 00:15:08 +02:00
2026-06-06 22:20:25 +02:00
2026-03-21 11:49:43 +01:00
2026-03-23 17:15:45 +01:00
2026-04-07 13:18:29 +02:00
2026-05-21 23:36:45 +02:00
2026-06-13 15:57:07 +02:00
2026-04-07 18:39:40 +02:00
2026-04-07 18:39:40 +02:00
2026-06-07 23:48:04 +02:00
2026-04-07 13:18:29 +02:00
2026-05-03 21:42:50 +02:00
2026-04-07 18:52:31 +02:00
2026-05-03 20:58:06 +02:00
2026-05-12 14:43:13 +02:00
2026-05-21 17:27:55 +02:00
2026-05-12 18:18:50 +02:00
2026-05-02 19:52:04 +02:00
2026-05-22 08:24:46 +02:00
2026-03-24 08:48:58 +01:00
2026-05-22 09:23:37 +02:00
2026-05-18 23:48:34 +02:00
2026-06-13 16:38:38 +02:00
2026-05-19 12:22:05 +02:00
2026-05-02 21:18:10 +02:00
2026-06-06 23:25:20 +02:00
2026-06-07 18:41:54 +02:00
2026-05-22 08:57:02 +02:00
2026-06-12 23:03:28 +02:00
2026-03-21 11:49:43 +01:00
2026-06-06 21:19:49 +02:00
2026-06-07 08:26:14 +02:00
2026-05-10 22:56:09 +02:00
2026-05-19 14:31:13 +02:00
2026-05-21 21:30:02 +02:00
2026-05-18 23:48:34 +02:00
2026-05-22 08:38:08 +02:00
2026-06-06 14:47:25 +02:00
2026-03-17 09:00:37 +01:00
2026-03-24 07:06:38 +01:00
2026-04-10 11:23:43 +02:00
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-05-21 06:28:25 +02:00
2026-06-08 08:20:39 +02:00
2026-05-21 23:36:45 +02:00
2026-06-07 23:48:04 +02:00
2026-06-11 21:00:50 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 18:30:08 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 23:48:34 +02:00
2026-06-11 21:26:47 +02:00
2026-06-08 08:20:39 +02:00
2026-05-21 15:47:11 +02:00
2026-05-18 18:30:08 +02:00
2026-05-22 00:24:07 +02:00
2026-06-07 23:48:04 +02:00
2026-05-19 01:01:48 +02:00
2026-06-06 23:35:33 +02:00
2026-06-06 23:35:33 +02:00
2026-06-11 20:45:18 +02:00
2026-05-02 20:06:57 +02:00
2026-05-21 18:32:07 +02:00
2026-05-22 00:24:07 +02:00
2026-05-22 19:17:21 +02:00
2026-06-14 21:49:22 +02:00
2026-06-14 12:37:22 +02:00
2026-06-15 18:30:47 +02:00
2026-06-14 08:21:56 +02:00
2026-06-14 08:59:41 +02:00
2026-06-13 21:24:53 +02:00
2026-06-14 09:27:09 +02:00
2026-06-14 23:14:53 +02:00
2026-06-06 21:19:49 +02:00
2026-06-11 15:42:16 +02:00
2026-06-08 16:39:33 +02:00
2026-03-28 17:24:19 +01:00
2026-05-18 18:30:08 +02:00
2026-05-21 18:58:32 +02:00
2026-06-06 21:19:49 +02:00
2026-05-21 16:45:12 +02:00
2026-05-21 18:58:32 +02:00
2026-05-04 23:22:30 +02:00
2026-05-04 23:22:30 +02:00
2026-04-29 19:36:46 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-07 12:37:03 +02:00
2026-05-11 23:39:26 +02:00
2026-05-03 23:38:32 +02:00
2026-05-03 23:15:25 +02:00
2026-04-10 11:23:43 +02:00
2026-05-02 19:52:04 +02:00
2026-05-03 23:38:32 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 21:59:03 +02:00
2026-06-06 14:47:25 +02:00
2026-04-07 13:18:29 +02:00
2026-05-18 18:30:08 +02:00
2026-05-21 16:20:19 +02:00
2026-06-08 16:39:33 +02:00
2026-03-23 12:11:55 +01:00
2026-05-21 20:21:28 +02:00
2026-06-07 17:51:17 +02:00
2026-04-09 08:35:57 +02:00
2026-04-09 08:35:57 +02:00
2026-05-21 16:43:15 +02:00
2026-05-22 08:38:08 +02:00
2026-05-02 08:37:51 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-21 17:31:37 +02:00
2026-06-09 12:33:34 +02:00
2026-06-09 12:33:34 +02:00
2026-05-04 23:22:30 +02:00
2026-04-09 08:47:56 +02:00
2026-06-08 09:32:25 +02:00
2026-05-22 19:00:27 +02:00
2026-03-25 23:25:14 +01:00
2026-05-21 17:06:48 +02:00
2026-05-04 23:22:30 +02:00
2026-05-22 11:51:03 +02:00
2026-05-18 18:30:08 +02:00
2026-05-22 08:57:02 +02:00
2026-05-22 09:40:11 +02:00
2026-05-17 14:06:28 +02:00
2026-05-17 14:06:28 +02:00
2026-06-08 10:04:14 +02:00
2026-03-23 17:15:45 +01:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-03-21 11:49:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-17 09:00:37 +01:00
2026-06-10 23:44:01 +02:00
2026-03-21 11:49:43 +01:00
2026-06-09 11:30:16 +02:00
2026-05-22 08:24:46 +02:00
2026-06-06 23:13:50 +02:00
2026-04-10 11:23:43 +02:00
2026-04-07 13:18:29 +02:00
2026-04-29 11:36:24 +02:00
2026-04-07 13:18:29 +02:00
2026-03-21 11:49:43 +01:00
2026-06-06 21:19:49 +02:00
2026-06-07 08:50:46 +02:00
2026-05-22 08:38:08 +02:00
2026-05-21 16:38:25 +02:00
2026-04-07 20:03:16 +02:00
2026-05-17 01:53:09 +02:00
2026-05-13 16:00:15 +02:00
2026-05-04 23:34:00 +02:00
2026-06-06 14:47:25 +02:00
2026-04-07 19:58:02 +02:00
2026-05-04 07:01:37 +02:00
2026-05-22 19:00:27 +02:00
2026-05-18 23:48:34 +02:00
2026-06-06 23:13:50 +02:00
2026-04-07 19:42:17 +02:00
2026-05-03 22:03:25 +02:00
2026-06-06 21:42:27 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 23:48:34 +02:00
2026-06-07 00:23:25 +02:00
2026-06-14 23:14:53 +02:00
2026-03-26 11:13:37 +01:00
2026-05-12 23:14:54 +02:00
2026-05-12 23:24:12 +02:00
2026-05-02 19:52:04 +02:00
2026-05-17 13:15:40 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-06-06 21:19:49 +02:00
2026-05-18 18:30:08 +02:00
2026-05-21 06:28:25 +02:00
2026-05-22 21:55:23 +02:00
2026-05-21 23:36:45 +02:00
2026-05-21 08:01:27 +02:00
2026-05-18 18:30:08 +02:00
2026-05-12 18:18:50 +02:00
2026-04-07 19:50:40 +02:00
2026-05-02 08:26:59 +02:00
2026-05-11 11:44:20 +02:00
2026-06-07 18:41:54 +02:00