19 Commits

Author SHA1 Message Date
Claude (Lupul Augmentat)
624234c667 fix: upgrade MCP SDK and fix messaging
- Upgrade @modelcontextprotocol/sdk from 0.6.1 to 1.25.3
- Fix handlePostMessage signature (now requires req.body)
- Fix agent registration to persist by name instead of sessionId
- Add session-to-agent mapping for notifications
- Enable logging capability for server notifications

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 08:53:29 +01:00
Claude (Lupul Augmentat)
874e871ec2 feat: add OAuth 2.0 authentication and README
- Implement RFC 8414 OAuth authorization server metadata
- Add dynamic client registration (RFC 7591)
- Add /authorize and /token endpoints
- Create comprehensive README with setup instructions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 07:32:42 +01:00
Claude (Lupul Augmentat)
250420e9e2 feat: add SSE server with agent presence system
- Add SSE transport server for remote MCP connections
- Implement API key authentication
- Add agent presence system (register_agent, list_agents)
- Add list_services tool to discover local services
- Refactor messaging for dynamic agent names

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 07:27:29 +01:00
root
24e871ea01 Add optional 'from' parameter to send_message
- Allow explicit sender role instead of auto-detection
- Fixes issue where process.cwd() doesn't match caller workspace
- Users can specify from: 'admin-dev', 'api-dev', or 'web-dev'
- Falls back to detectRole() if not provided

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:41:26 +02:00
root
94dca0e38c Fix: Simplify role detection to work with all path formats
- Remove leading slash requirement - use includes() directly
- Add word boundary regex for 'api' to avoid false matches
- Covers /srv/joylo-api, /srv/joylo-apps/joylo-admin, etc
- Should fix 'unknown' role detection issue

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:39:33 +02:00
root
9f37bef97a Add auto-subscription for real-time message notifications
- ReceiveMessagesTool subscription activates automatically on startup
- No need to call receive_messages manually first
- Messages arrive in real-time like chat
- Notifications appear instantly when messages sent

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:37:28 +02:00
root
ee104d0d0c Fix: Remove unused server parameter from constructor
- Fixes TypeScript error TS6138
- server parameter was declared but never used
- Notifications work via console.log instead

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:35:18 +02:00
root
beec049462 Add automatic notifications for incoming messages
- ReceiveMessagesTool now logs notifications when messages arrive
- Console output shows: from, subject, and message preview
- Automatic real-time alerts via NATS subscription
- Enables passive message monitoring without polling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:34:12 +02:00
root
ec8137c685 Fix: Improve role detection for all workspace paths
- Check for paths with leading slash (/joylo-admin)
- Add fallback regex matching for different path formats
- Fixes 'unknown' role detection for /srv/joylo-apps/joylo-admin
- Now correctly identifies admin-dev, api-dev, web-dev

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:28:32 +02:00
root
5202761e2a Fix: Defer NATS subscription until after connection
- Remove setupSubscription() call from constructor
- Call setupSubscription() on first handle() invocation
- Prevents 'NATS not connected' error during initialization
- Subscription happens after NATS client is connected

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:26:10 +02:00
root
3d08b825a6 Fix: Use optional() instead of default() for limit parameter
- Fixes TypeScript type incompatibility with ZodDefault
- limit is now optional number instead of defaulted
- Handle default value in code instead of schema

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:24:28 +02:00
root
ed0788f1b6 Fix: Properly extend ToolHandler abstract class
- Use super() constructor with options and schema
- Implement protected handle() method instead of execute()
- Define proper TypeScript types with z.infer
- Fixes compilation errors with ToolHandler interface

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:23:43 +02:00
root
53dd8f03c4 Fix: Use Zod schemas for messaging tools
- Replace plain object inputSchema with Zod schemas
- Fixes TypeScript compilation error
- Use z.enum() for role validation
- Use z.record(z.any()) for optional data object

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:22:40 +02:00
root
bbee066570 Add real-time developer messaging via NATS
- Add SendMessageTool for sending messages to other devs
- Add ReceiveMessagesTool for receiving messages
- Auto-detect sender role from workspace path (admin-dev/api-dev/web-dev)
- Messages published to NATS channels: dev.messages.{role}
- Enable real-time communication between Claude instances

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:19:56 +02:00
root
37f512a404 Add 'silent' log level to config schema
- Support MCP_LOG_LEVEL=silent for stdio mode
- Fixes ZodError: Invalid enum value
- Allows complete logging suppression for MCP protocol

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 07:01:06 +02:00
root
f4e2319f30 Fix: Remove stderr redirect and explicitly set MCP_TRANSPORT
- Remove 2>/dev/null to see actual errors
- Explicitly export MCP_TRANSPORT=stdio
- Helps debug connection issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 06:57:33 +02:00
root
4908b422b4 Fix: Disable logging in stdio mode to prevent MCP protocol errors
- Detect stdio mode and set logger to 'silent' level
- stdout must be reserved exclusively for JSON-RPC MCP messages
- Prevents 'Unexpected token' JSON parsing errors in Claude Code
- Only log when using HTTP transport mode

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 06:55:19 +02:00
root
2d6a5cda8f Add MCP stdio wrapper script with logging disabled
- Create start-mcp.sh wrapper for Claude Code MCP integration
- Load NVM environment for proper Node.js access
- Disable logging (MCP_LOG_LEVEL=silent) to fix stdio protocol
- Suppress stderr to prevent JSON parsing errors in MCP client
- Update package-lock.json from npm install

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 06:52:50 +02:00
Claude (Lupul Augmentat)
475f89af74 🐺 Initial commit - Lupul Augmentat MCP Server
- MCP server cu stdio transport pentru performanță maximă
- Tool-uri pentru file operations, HTTP requests, system commands
- Suport NATS pentru comunicare inter-module
- Configurare nginx cu API key auth și SSL
- Arhitectură modulară și extensibilă

🤖 Generated with Claude Code
2025-10-09 06:24:58 +02:00