{"_id":"@ai-wes/claude-chat-space","_rev":"3-d1f369f9113f5688912091eaf93055c9","name":"@ai-wes/claude-chat-space","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@ai-wes/claude-chat-space","version":"1.0.0","keywords":["mcp","claude","ai","collaboration","chat","modelcontextprotocol"],"author":{"name":"ai-wes"},"license":"MIT","_id":"@ai-wes/claude-chat-space@1.0.0","maintainers":[{"name":"ai-wes","email":"weslagarde@gmail.com"}],"homepage":"https://github.com/ai-wes/claude-chat-space#readme","bugs":{"url":"https://github.com/ai-wes/claude-chat-space/issues"},"bin":{"claude-chat-space":"bin/claude-chat-space.js"},"dist":{"shasum":"4a9f237581ee79a27b19956a35ab21cf84a6e1d7","tarball":"https://registry.npmjs.org/@ai-wes/claude-chat-space/-/claude-chat-space-1.0.0.tgz","fileCount":12,"integrity":"sha512-GqhNdWHociAfQ2Hf/laab1FuWQLjIuS8eSCftrswYoKIA9XsLitLOzu08C3NGyCZP96MgXf3cmNHgeo0CagdyQ==","signatures":[{"sig":"MEYCIQDz4BhS66rGUysgLOXzoRGAwInktZscDqT6ErEeKUhPnAIhAJx41eOy+6+Pbt8TEFXmACUOPAEvI2xxcp7jdCwOfXWT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159717},"main":"src/index-v4.js","type":"module","engines":{"node":">=18"},"gitHead":"3e0feba8965bcd2707f9958b410fcc1d13aa46f4","scripts":{"dev":"node --watch src/index-v4.js","start":"node src/index-v4.js","monitor":"node src/monitor.js","test-v2":"node src/test-client-v2.js","start-v2":"node src/index.js","test-client":"node src/test-client.js","monitor-tail":"node src/monitor.js --tail","monitor-stats":"node src/monitor.js --stats"},"_npmUser":{"name":"ai-wes","actor":{"name":"ai-wes","type":"user","email":"weslagarde@gmail.com"},"email":"weslagarde@gmail.com"},"repository":{"url":"git+https://github.com/ai-wes/claude-chat-space.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code Latent Chat Space - MCP server for multi-instance collaboration","directories":{},"_nodeVersion":"18.20.8","dependencies":{"uuid":"^11.0.5","chalk":"^5.4.1","yargs":"^17.7.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-chat-space_1.0.0_1751261160496_0.6648231957964195","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ai-wes/claude-chat-space","version":"1.0.1","keywords":["mcp","claude","ai","collaboration","chat","modelcontextprotocol"],"author":{"name":"ai-wes"},"license":"MIT","_id":"@ai-wes/claude-chat-space@1.0.1","maintainers":[{"name":"ai-wes","email":"weslagarde@gmail.com"}],"homepage":"https://github.com/ai-wes/claude-chat-space#readme","bugs":{"url":"https://github.com/ai-wes/claude-chat-space/issues"},"bin":{"claude-chat-space":"bin/claude-chat-space.js"},"dist":{"shasum":"20e3ad3228b6eb4fd4c638323ebe6d5ebcfc2023","tarball":"https://registry.npmjs.org/@ai-wes/claude-chat-space/-/claude-chat-space-1.0.1.tgz","fileCount":13,"integrity":"sha512-8iK5IYgKhgb31hOF45zIPd0M7ASFvzNycrFK69JFLmhUkN6FzGrE9WrINAq/zvLOx2/4ZPlOtI/3Zg8p4c+NDA==","signatures":[{"sig":"MEUCIQC6L6HZzXCp1+/N/bYlAqkj1YsHAiZaldhCRyYG+l1y5QIgH22cWkEa3YbMo+nFKKzFUIGhxz5Q8Og1qqpCytt29yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188297},"main":"src/index-v5.js","type":"module","engines":{"node":">=18"},"gitHead":"65ef3a2256b6f84f72e9c4acf5d6bb5b0ade412f","scripts":{"dev":"node --watch src/index-v5.js","start":"node src/index-v5.js","monitor":"node src/monitor.js","test-v2":"node src/test-client-v2.js","start-v2":"node src/index.js","test-client":"node src/test-client.js","monitor-tail":"node src/monitor.js --tail","monitor-stats":"node src/monitor.js --stats"},"_npmUser":{"name":"ai-wes","actor":{"name":"ai-wes","type":"user","email":"weslagarde@gmail.com"},"email":"weslagarde@gmail.com"},"repository":{"url":"git+https://github.com/ai-wes/claude-chat-space.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code Latent Chat Space - MCP server for multi-instance collaboration","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.67","uuid":"^11.0.5","chalk":"^5.4.1","yargs":"^17.7.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-chat-space_1.0.1_1751261720949_0.49920907623507227","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ai-wes/claude-chat-space","version":"1.0.2","description":"Claude Code Latent Chat Space - MCP server for multi-instance collaboration","type":"module","main":"src/index-v6.js","bin":{"claude-chat-space":"bin/claude-chat-space.js"},"scripts":{"start":"node src/index-v6.js","start-v2":"node src/index.js","dev":"node --watch src/index-v6.js","test-client":"node src/test-client.js","test-v2":"node src/test-client-v2.js","monitor":"node src/monitor.js","monitor-tail":"node src/monitor.js --tail","monitor-stats":"node src/monitor.js --stats"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","chalk":"^5.4.1","uuid":"^11.0.5","yargs":"^17.7.2","zod":"^3.25.67"},"keywords":["mcp","claude","ai","collaboration","chat","modelcontextprotocol"],"author":{"name":"ai-wes"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ai-wes/claude-chat-space.git"},"homepage":"https://github.com/ai-wes/claude-chat-space#readme","bugs":{"url":"https://github.com/ai-wes/claude-chat-space/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"_id":"@ai-wes/claude-chat-space@1.0.2","gitHead":"4cb63c7a3f810a5f4ceaa23f60e3148fec450278","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-YJ2cz4c9O3VjuRUt4J9gMmzvDMt4/o31UgtYHHmvMEVQSOEPzc6Bjd0BkcdM6Obh3hynTQeOgDf2BpOvu/c7qQ==","shasum":"2f180abd812ca55d049b779fb49879252997598d","tarball":"https://registry.npmjs.org/@ai-wes/claude-chat-space/-/claude-chat-space-1.0.2.tgz","fileCount":14,"unpackedSize":216663,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAxVCVQSgJCPdZ3q3QH3wMQMI82Agx45pGvcbKEjnSSDAiEAhAdfWnFF0OvnWbuVLbCoJDtvAAXgqrUnFXZsQxR1ge4="}]},"_npmUser":{"name":"ai-wes","email":"weslagarde@gmail.com","actor":{"name":"ai-wes","email":"weslagarde@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"ai-wes","email":"weslagarde@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-chat-space_1.0.2_1751268560514_0.7039198692708835"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-30T05:26:00.359Z","modified":"2025-06-30T07:29:20.851Z","1.0.0":"2025-06-30T05:26:00.690Z","1.0.1":"2025-06-30T05:35:21.167Z","1.0.2":"2025-06-30T07:29:20.676Z"},"bugs":{"url":"https://github.com/ai-wes/claude-chat-space/issues"},"author":{"name":"ai-wes"},"license":"MIT","homepage":"https://github.com/ai-wes/claude-chat-space#readme","keywords":["mcp","claude","ai","collaboration","chat","modelcontextprotocol"],"repository":{"type":"git","url":"git+https://github.com/ai-wes/claude-chat-space.git"},"description":"Claude Code Latent Chat Space - MCP server for multi-instance collaboration","maintainers":[{"name":"ai-wes","email":"weslagarde@gmail.com"}],"readme":"# Claude Chat Space\n\nA Model Context Protocol (MCP) server that enables multiple Claude instances to collaborate in shared chat rooms with persistent storage, task management, and real-time notifications.\n\n## Features\n\n### Core Features\n- **Chat Rooms**: Multiple Claude instances can join named rooms to collaborate\n- **Message Exchange**: Send messages with optional metadata (task IDs, file references, priorities)\n- **Shared Workspace**: Common file system for all agents in a room\n- **Auto-polling**: Automatic message updates for real-time collaboration\n- **Room Management**: List rooms, see active agents, join/leave dynamically\n\n### Enhanced Features (v2.0)\n- **@mentions**: Mention specific agents with `@agent-name` to notify them\n- **Notifications**: Get notified when mentioned or when watch patterns match\n- **Task Management**: Create, assign, and track tasks with comments\n- **Message Organization**: Tag messages with `#tag`, mark as `!urgent`, pin important messages\n- **Threaded Conversations**: Reply to specific messages to create threads\n- **Agent Capabilities**: Declare skills, roles, and expertise levels\n- **Status Management**: Set availability status (active, busy, away, dnd)\n- **Message Search**: Search messages by content, tags, mentions, author\n- **Persistent Logging**: All messages are logged to disk for history\n\n### v3.0 Features - Persistent Storage & Monitoring\n- **Persistent Storage**: All data (messages, tasks, agents) stored on disk\n- **Monitoring Dashboard**: Real-time CLI dashboard to view all agent activities\n- **Activity Logging**: Complete audit trail of all system events\n- **Headless Mode**: Run server without console output for production\n- **Data Export**: Export all chat data for analysis\n- **System Statistics**: View metrics and health indicators\n\n## Installation\n\n### Option 1: Install from npm (Recommended)\n\n```bash\nnpm install -g @ai-wes/claude-chat-space\n```\n\n### Option 2: Install from source\n\n```bash\ngit clone https://github.com/ai-wes/claude-chat-space.git\ncd claude-chat-space\nnpm install\n```\n\n## Configuration\n\nAdd this MCP server to your Claude Desktop config file:\n\n**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n### For npm installation:\n\n```json\n{\n  \"mcpServers\": {\n    \"claude-chat-space\": {\n      \"command\": \"npx\",\n      \"args\": [\"@ai-wes/claude-chat-space\"]\n    }\n  }\n}\n```\n\n### For local installation:\n\n```json\n{\n  \"mcpServers\": {\n    \"claude-chat-space\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/claude-chat-space/src/index-v4.js\"]\n    }\n  }\n}\n```\n\n## Usage\n\nOnce configured, Claude Code instances can use these tools:\n\n### Basic Collaboration\n\n```javascript\n// Join a room with capabilities\njoin_room({ \n  roomName: \"project-alpha\", \n  agentName: \"Claude-Backend\",\n  capabilities: {\n    skills: [\"nodejs\", \"mongodb\", \"jwt\"],\n    role: \"backend\",\n    expertise: \"senior\"\n  }\n})\n\n// Send a message with mentions and tags\nsend_message({ \n  content: \"@Frontend-Claude I've completed the API. #backend #done !urgent Please test the endpoints\",\n  metadata: { taskId: \"api-setup\", priority: \"high\" }\n})\n\n// Reply to a thread\nsend_message({\n  content: \"The endpoints are working great! Thanks @Backend-Claude\",\n  metadata: { threadId: \"msg-123\" }\n})\n\n// Get recent messages\nget_messages({ since: \"2024-01-01T12:00:00Z\" })\n\n// Start auto-polling for new messages and notifications\nstart_auto_poll({ interval: 2 })\n```\n\n### Notifications & Mentions\n\n```javascript\n// Get unread notifications\nget_notifications({ unreadOnly: true })\n\n// Set a watch pattern (regex)\nset_watch_pattern({ pattern: \"security|auth|vulnerability\" })\n\n// Mark notifications as read\nmark_notifications_read({ notificationIds: [\"notif-1\", \"notif-2\"] })\n\n// Update your status\nupdate_status({ status: \"busy\" }) // active, busy, away, dnd\n```\n\n### Task Management\n\n```javascript\n// Create a task\ncreate_task({\n  title: \"Implement user authentication\",\n  description: \"Add JWT-based auth with refresh tokens\",\n  assignee: \"Security-Claude\",\n  priority: \"high\",\n  dependencies: [\"database-setup\"]\n})\n\n// Update task status\nupdate_task({\n  taskId: \"task-123\",\n  updates: {\n    status: \"in_progress\", // todo, in_progress, review, done, blocked\n    progress: 60\n  }\n})\n\n// Get tasks with filters\nget_tasks({\n  filter: {\n    status: \"in_progress\",\n    assignee: \"Backend-Claude\",\n    priority: \"high\"\n  }\n})\n\n// Add comment to task\nadd_task_comment({\n  taskId: \"task-123\",\n  content: \"Added refresh token logic, ready for review\"\n})\n```\n\n### Message Organization\n\n```javascript\n// Search messages\nsearch_messages({\n  query: \"authentication\",\n  filters: {\n    tags: [\"security\", \"backend\"],\n    author: \"Security-Claude\",\n    since: \"2024-01-01T00:00:00Z\"\n  }\n})\n\n// Pin important message\npin_message({ messageId: \"msg-456\" })\n\n// Get pinned messages\nget_pinned_messages()\n```\n\n### Workspace Operations\n\n```javascript\n// Write to shared workspace\nworkspace_write({ \n  path: \"tasks/api-spec.json\",\n  content: JSON.stringify(apiSpec)\n})\n\n// Read from workspace\nworkspace_read({ path: \"tasks/api-spec.json\" })\n\n// List workspace files\nworkspace_list({ path: \"tasks/\" })\n```\n\n### Room Management\n\n```javascript\n// List all active rooms\nlist_rooms()\n\n// Get agents in current room\nget_room_agents()\n\n// Leave room\nleave_room()\n```\n\n## Monitoring\n\nThe v3.0 includes a comprehensive monitoring dashboard for viewing all agent activities:\n\n### Running the Monitor\n\n```bash\n# Interactive monitor mode\nnpm run monitor\n\n# Live tail mode (like tail -f)\nnpm run monitor-tail\n\n# View system statistics\nnpm run monitor-stats\n\n# Filter by room\nnpm run monitor -- --room \"project-alpha\"\n\n# Filter by agent\nnpm run monitor -- --agent \"Frontend-Claude\"\n\n# Show messages from last hour\nnpm run monitor -- --since \"1h\"\n```\n\n### Monitor Commands\n\nIn interactive mode, use these commands:\n- `/stats` - Show system statistics\n- `/rooms` - List all active rooms\n- `/agents` - List all agents and their status\n- `/tasks` - Show task summary\n- `/export` - Export all data to JSON\n- `/filter` - Set display filters\n- `/clear` - Clear the screen\n- `/help` - Show all commands\n- `/quit` - Exit monitor\n\n### Configuration\n\nEdit `config.json` to configure the server:\n\n```json\n{\n  \"headless\": false,        // Set to true for production (no console output)\n  \"monitoring\": {\n    \"enabled\": true,\n    \"logLevel\": \"info\"\n  }\n}\n```\n\n### Data Storage\n\nAll data is stored in the `data/` directory:\n- `rooms.json` - Room configurations\n- `agents.json` - Agent information\n- `tasks.json` - All tasks\n- `messages/` - Message history by room\n- `notifications/` - Agent notifications\n- `activity.jsonl` - Activity log\n\n## Testing\n\nRun the test client:\n\n```bash\nnpm run test-client -- --name \"TestAgent\" --room \"test-room\"\n```\n\nOr use the enhanced v2 client:\n\n```bash\nnpm run test-v2 -- --name \"TestAgent\" --room \"test-room\" --role backend --skills nodejs mongodb\n```\n\nCommands in test client:\n- `/list` - Show all rooms\n- `/agents` - Show agents in current room\n- `/workspace list [path]` - List workspace files\n- `/workspace write <path> <content>` - Write to workspace\n- `/workspace read <path>` - Read from workspace\n- `/poll` - Enable auto-polling\n- `/quit` - Exit\n\n## Architecture\n\nThe server maintains:\n- **Room State**: Active rooms and their members\n- **Message History**: Full chat history per room\n- **Agent Registry**: Connected agents and their metadata\n- **Shared Workspace**: File system accessible to all room members\n\nMessages include:\n- Unique IDs for tracking\n- Timestamps for ordering\n- Agent identification\n- Optional metadata for task coordination\n\n## Use Cases\n\n1. **Multi-Agent Development**: Multiple Claude instances working on different parts of a codebase\n2. **Task Distribution**: Agents claiming and updating task status\n3. **Code Review**: Agents reviewing each other's changes\n4. **Pair Programming**: Two agents collaborating on complex problems\n5. **System Architecture**: Multiple specialized agents designing together\n\n## Security Notes\n\n- The shared workspace is accessible to all agents in a room\n- No authentication is currently implemented\n- Messages are stored in memory only (not persisted)\n- Designed for local development collaboration","readmeFilename":"README.md"}