Commit Graph

6 Commits

Author SHA1 Message Date
Claude
86f87e71e6 feat(trinity-core): v2.5.0 — resilient session handling, /health endpoint
- Add unauthenticated /health endpoint (kills AUTH FAILED spam from health checks)
- Stale session + initialize request: ignore stale header, create fresh session
- Stale session + tool call: return 400 instead of 404 so client reads JSON-RPC payload
- Gemini-consulted architecture (gemini-trinity-core-mcp-sessions-2026-04-14.md)
2026-04-15 00:38:12 +00:00
Claude
e1cb136cc3 fix(trinity-core): return 404 for stale sessions after restart
When mcp-server restarts, activeSessions is cleared but Claude.ai may
still hold the old session ID. Previously this fell to a generic 400 error.
Now returns 404 with clear re-initialize message so clients know to
create a fresh session.

Chronicler #89
2026-04-14 21:30:50 +00:00
Claude
a48886e481 feat(trinity-core): v2.4.0 — add Streamable HTTP transport for Claude.ai MCP connector
Claude.ai upgraded to MCP protocol 2025-11-25 (Streamable HTTP) but Trinity Core
only supported the deprecated 2024-11-05 (HTTP+SSE) transport. This caused the
SSE connection to drop after initialize — tools/list never completed.

Changes:
- Add StreamableHTTPServerTransport alongside existing SSEServerTransport
- app.all('/mcp') handler detects protocol via mcp-session-id header
- Legacy SSE still works via GET /mcp (backwards compatible)
- New Streamable HTTP works via POST /mcp with session headers
- Version bump to 2.4.0

Chronicler #89
2026-04-14 21:25:45 +00:00
Claude (Chronicler #78)
03974d1f13 feat: Task #109 — MCP Logging in Trinity Console (v2.3.0)
Arbiter changes:
- POST /api/internal/mcp/log endpoint in api.js
- MCP Logs admin route (/admin/mcp-logs) with filters, stats, pagination
- EJS view with expandable detail rows, server color badges
- Sidebar link under System group

Trinity Core v2.3.0:
- logToArbiter() function POSTs to Arbiter after every command
- Both MCP (Claude.ai) and REST (/exec) paths log with execution timing
- Async logging — doesn't block command response

Database:
- mcp_logs table created on Command Center (indexes on server, time, success)

Architecture:
  Trinity Core → command → response + async POST → Arbiter → PostgreSQL → Trinity Console

Chronicler #78 | firefrost-services
2026-04-11 11:55:22 +00:00
Claude (Chronicler #78)
55385634f2 feat: Add REST API endpoints to Trinity Core (v2.2.0)
- GET /servers — list available servers (for Arbiter)
- POST /exec — execute command on server (for Arbiter)
- REST endpoints run alongside MCP protocol
- MCP for Claude.ai connector, REST for Arbiter internal calls
- Fixes Infrastructure module 404 errors
- Version bump 2.1.0 → 2.2.0

Chronicler #78 | firefrost-services
2026-04-11 10:27:08 +00:00
Claude (Chronicler #78)
5c980ea681 feat: Add Trinity Core MCP server to version control (v2.1.0)
- Added services/trinity-core/ with index.js, package.json, .gitignore
- v2.1.0 adds local self-execution (trinity-core can audit itself)
- Added executeLocal() function for localhost commands
- SERVERS object now includes trinity-core with local: true flag
- Version bumped from 2.0.0 to 2.1.0
- Previously lived only on Pi at ~/mcp-server/ with no backup

Deployment: Edit here, push to Gitea, curl raw file to Pi, restart service

Chronicler #78 | firefrost-services
2026-04-11 10:07:32 +00:00