{"id":35094214,"url":"https://github.com/M-Pineapple/Claude-Project-Coordinator","last_synced_at":"2026-01-07T10:03:00.870Z","repository":{"id":296813238,"uuid":"994355369","full_name":"M-Pineapple/Claude-Project-Coordinator","owner":"M-Pineapple","description":"Claude Project Coordinator is a Swift-powered MCP (Model Context Protocol) server designed to streamline multi-project Xcode development. It lets you track project status, auto-detect frameworks, search code patterns, and maintain a structured development knowledge base — all locally, with Claude Desktop as your assistant.","archived":false,"fork":false,"pushed_at":"2025-07-03T07:52:17.000Z","size":15338,"stargazers_count":35,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-03T08:43:47.092Z","etag":null,"topics":["claude","claude-ai","claude-desktop","mcp","project-management","swift","swiftui","xcode"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/M-Pineapple.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-01T19:01:56.000Z","updated_at":"2025-07-03T07:52:19.000Z","dependencies_parsed_at":"2025-06-02T17:13:25.121Z","dependency_job_id":"d1f901dd-8951-43b0-8b53-ffce5ae4a6a5","html_url":"https://github.com/M-Pineapple/Claude-Project-Coordinator","commit_stats":null,"previous_names":["m-pineapple/claude-project-coordinator"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/M-Pineapple/Claude-Project-Coordinator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M-Pineapple%2FClaude-Project-Coordinator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M-Pineapple%2FClaude-Project-Coordinator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M-Pineapple%2FClaude-Project-Coordinator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M-Pineapple%2FClaude-Project-Coordinator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/M-Pineapple","download_url":"https://codeload.github.com/M-Pineapple/Claude-Project-Coordinator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M-Pineapple%2FClaude-Project-Coordinator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28234561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-07T02:00:05.975Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","claude-ai","claude-desktop","mcp","project-management","swift","swiftui","xcode"],"created_at":"2025-12-27T15:04:24.313Z","updated_at":"2026-01-07T10:03:00.863Z","avatar_url":"https://github.com/M-Pineapple.png","language":"Swift","funding_links":["https://www.buymeacoffee.com/mpineapple"],"categories":["📚 Projects (1974 total)"],"sub_categories":["MCP Servers"],"readme":"## 🚨 Critical Update for v1.3.0+ Users\n\nIf you're experiencing incorrect project creation dates (all showing today's date), run:\n```bash\n./scripts/repair-analytics-dates.sh\n```\n\nThis fixes a bug where analytics were re-migrated on every restart. Fixed in v1.3.2.\n\n---\n\n# Claude Project Coordinator\n\nAn MCP (Model Context Protocol) server for managing and coordinating multiple Xcode/Swift projects. This server provides tools for tracking project status, searching code patterns, and maintaining a knowledge base of development insights.\n\n## Features\n\n- 🚀 **Project Management**: Track multiple Xcode projects with status, notes, and metadata\n- 🔍 **Smart Search**: Search across projects and documentation for code patterns\n- 📚 **Knowledge Base**: Maintain patterns, templates, and troubleshooting guides\n- 🤖 **Auto-Detection**: Automatically detects SwiftUI, UIKit, SPM, and other technologies\n- 💾 **Persistent Storage**: All data stored locally in structured JSON format\n- 🔐 **Security First**: Comprehensive input validation and path traversal protection\n- 📊 **Project Analytics**: Time tracking, activity heat maps, and health scoring (v1.3.0+)\n- 📈 **Technology Trends**: Analyze framework usage and adoption patterns (v1.3.0+)\n\n## Security Features (v1.2.0+)\n\n- 🛡️ **Input Validation**: Comprehensive validation of all user inputs\n- 🚫 **Path Traversal Protection**: Blocks malicious paths like `../../../etc/passwd`\n- 📁 **Directory Access Control**: Configurable allowed directories for projects\n- 🚨 **Injection Prevention**: Validates search patterns to prevent command injection\n- ⚖️ **Reasonable Limits**: Input length limits to prevent buffer overflow attacks\n- 📝 **Clear Error Messages**: Helpful guidance when security validation fails\n- ⚙️ **Hardcoded Security**: Security policies are compiled into the binary for reliability\n\n## Installation\n\n### Prerequisites\n- macOS with Swift 5.9+\n- Claude Desktop app\n\n### Build from Source\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/M-Pineapple/Claude-Project-Coordinator.git\ncd Claude-Project-Coordinator\n```\n\n2. Build the project:\n```bash\nswift build -c release\n```\n\n3. Note the path to the built executable:\n```bash\n.build/release/project-coordinator\n```\n\n### Configure Claude Desktop\n\n1. Open Claude Desktop\n2. Navigate to: **Settings** → **Developer** → **Model Context Protocol**\n3. Add the configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"project-coordinator\": {\n      \"command\": \"/path/to/Claude-Project-Coordinator/.build/release/project-coordinator\",\n      \"args\": []\n    }\n  }\n}\n```\n\n4. Restart Claude Desktop\n\n## Usage\n\nOnce configured, you can interact with the Project Coordinator through Claude:\n\n### Basic Commands\n\n- **List projects**: \"Show me all my tracked projects\"\n- **Add project**: \"Add my WeatherApp project at ~/Developer/WeatherApp\"\n- **Update status**: \"Update WeatherApp status to 'Implementing API integration'\"\n- **Search patterns**: \"Find all SwiftUI patterns\"\n- **Get project details**: \"What's the status of my TodoApp?\"\n\n### Analytics Commands (v1.3.0+)\n\n- **Time tracking**: \"How long has Ubermania been in development?\"\n- **Activity heat map**: \"Show me my project activity this week\"\n- **Technology trends**: \"What technologies am I using most?\"\n- **Health check**: \"Which projects need my attention?\"\n\n📊 **See [ANALYTICS-EXAMPLES.md](ANALYTICS-EXAMPLES.md) for detailed output examples and productive prompts!**\n\n### Example Workflow\n\n```\nYou: \"Add my new SwiftUI project called FinanceTracker at ~/Developer/FinanceTracker\"\nClaude: \"Successfully added project: FinanceTracker...\"\n\nYou: \"Update FinanceTracker status to 'Working on Core Data models'\"\nClaude: \"Successfully updated FinanceTracker\"\n\nYou: \"Which of my projects use Core Data?\"\nClaude: [Shows all projects with Core Data in their tech stack or notes]\n```\n\n### Analytics Output Example\n\n```\nYou: \"Show my project activity this week\"\n\nClaude:\n## Project Activity Heat Map (Past 7 Days)\n\n🔥🔥🔥 **TodoApp** (15 activity points - 6 events)\n🔥🔥 **WeatherStation** (8 activity points - 3 events)\n🔥 **PortfolioSite** (3 activity points - 2 events)\n💤 **OldBlogEngine** (0 activity points)\n\n### Daily Activity Breakdown:\n- Monday: 4 events\n- Tuesday: 8 events\n- Wednesday: 3 events\n```\n\n## Security Configuration\n\nSecurity settings are **hardcoded in the Swift source code** for reliability and security. The default configuration includes:\n\n### Default Security Settings\n\n**Allowed Project Directories:**\n- `~/Developer`\n- `~/Documents`\n- `~/GitHub` \n- `~/Projects`\n- `~/Desktop/Development`\n- `~/Xcode`\n\n**Input Limits:**\n- **Project names**: 100 characters maximum\n- **Project paths**: 500 characters maximum\n- **Descriptions**: 2,000 characters maximum\n- **Notes**: 10,000 characters maximum\n- **Search patterns**: 300 characters maximum\n\n### Customizing Security Settings\n\nTo modify security settings:\n\n1. **Edit the source code**: Open `Sources/ProjectCoordinator/SecurityValidator.swift`\n\n2. **Modify the configuration values**:\n   ```swift\n   // Add/remove allowed base paths\n   static let allowedBasePaths = [\n       NSHomeDirectory() + \"/Developer\",\n       NSHomeDirectory() + \"/Documents\", \n       NSHomeDirectory() + \"/GitHub\",\n       NSHomeDirectory() + \"/Projects\",\n       NSHomeDirectory() + \"/Desktop/Development\",\n       NSHomeDirectory() + \"/Xcode\"\n       // Add your custom paths here\n   ]\n   \n   // Adjust length limits\n   static let maxProjectNameLength = 100\n   static let maxDescriptionLength = 2000\n   static let maxNotesLength = 10000\n   static let maxSearchPatternLength = 300\n   ```\n\n3. **Rebuild the project**:\n   ```bash\n   swift build -c release\n   ```\n\n4. **Restart Claude Desktop** to use the updated binary\n\n### Why Hardcoded Configuration?\n\n- **Security**: Configuration cannot be tampered with at runtime\n- **Reliability**: No risk of configuration file corruption or manipulation\n- **Simplicity**: No additional file management or parsing complexity\n- **Performance**: Settings are compiled in, no runtime parsing overhead\n\n## MCP Tools Available\n\n### `list_projects`\nLists all tracked projects with their metadata\n\n### `add_project`\nAdds a new project to track\n- Parameters: `name`, `path`, `description` (optional)\n- **Security**: Validates project name, path, and description\n\n### `get_project_status`\nGets detailed information about a specific project\n- Parameters: `projectName`\n- **Security**: Validates project name\n\n### `update_project_status`\nUpdates project status and/or notes\n- Parameters: `projectName`, `status` (optional), `notes` (optional)\n- **Security**: Validates all text inputs\n\n### `search_code_patterns`\nSearches through projects and knowledge base\n- Parameters: `pattern`\n- **Security**: Validates search pattern for injection attempts\n\n## Project Structure\n\n```\nClaude-Project-Coordinator/\n├── Sources/\n│   └── ProjectCoordinator/\n│       ├── main.swift              # Entry point\n│       ├── MCPServer.swift         # MCP protocol implementation\n│       ├── ProjectManager.swift    # Project management logic\n│       └── SecurityValidator.swift # Input validation and security configuration\n├── KnowledgeBase/\n│   ├── projects/                  # Project data storage\n│   ├── patterns/                  # Code patterns\n│   ├── templates/                 # Project templates\n│   └── tools/                     # Development tools/guides\n├── scripts/\n│   └── build.sh                   # Build script\n├── Package.swift                  # Swift package manifest\n├── CHANGELOG.md                   # Version history\n└── README.md                      # This file\n```\n\n## Knowledge Base\n\nThe Knowledge Base comes pre-populated with:\n- SwiftUI patterns and best practices\n- Xcode keyboard shortcuts\n- Troubleshooting guides\n- Project templates\n\nYou can add your own content by creating markdown files in the appropriate directories.\n\n## Project Analytics (v1.3.0+)\n\nThe analytics system runs automatically in the background, tracking:\n\n### Time Tracking\n- Automatically tracks time spent in each project status\n- No manual timers needed - just update status normally\n- View complete timeline with: `get_project_timeline`\n\n### Activity Monitoring\n- Records all interactions: status changes, notes, searches\n- Generates heat maps showing project activity levels\n- Identify your most and least active projects\n\n### Technology Analysis\n- Tracks framework and tool usage across all projects\n- Identifies emerging technologies you're experimenting with\n- Shows adoption trends over time\n\n### Health Scoring\n- Multi-factor analysis of project health (0-100 score)\n- Factors: activity level, staleness, documentation, task completion\n- Provides actionable recommendations for improvement\n\n**Note**: Analytics are presented as formatted text in Claude chat, optimized for readability and quick insights. See [ANALYTICS-EXAMPLES.md](ANALYTICS-EXAMPLES.md) for real output examples.\n\n## 💖 Support This Project\n\nIf CPC has helped streamline your development workflow or saved you time managing projects, consider supporting its development:\n\n\u003ca href=\"https://www.buymeacoffee.com/mpineapple\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\nYour support helps me:\n- Maintain and improve CPC with new features\n- Keep the project open-source and free for everyone\n- Dedicate more time to addressing user requests and bug fixes\n- Explore new tools that enhance developer productivity\n\nThank you for considering supporting my work! 🙏\n\n## How It Works\n\nThe Project Coordinator:\n1. Communicates with Claude Desktop using the MCP protocol over stdio\n2. Validates all inputs through the comprehensive security system\n3. Stores project data as JSON files in `KnowledgeBase/projects/`\n4. Stores analytics data in `KnowledgeBase/analytics/`\n5. Automatically detects technologies by scanning project directories\n6. Maintains an index for quick searching and retrieval\n7. Tracks all project interactions for analytics\n\n## Security Considerations\n\n**For Individual Developers:**\n- Default security settings are designed for personal development workflows\n- Protects against common attack vectors while maintaining usability\n- Security settings can be customized by modifying source code and rebuilding\n\n**For Organizations:**\n- Organizations should evaluate their own security requirements\n- Additional security measures may be needed for production environments\n- Consider implementing additional authentication and audit logging for shared use\n- Hardcoded configuration prevents runtime tampering\n\n## Example Files \u0026 Documentation\n\n- **[ANALYTICS-EXAMPLES.md](ANALYTICS-EXAMPLES.md)** - Real output examples and productive prompts\n- **[CHANGELOG.md](CHANGELOG.md)** - Detailed version history\n- **Security Features** - See the Security Configuration section above\n\n## Contributing\n\nContributions are welcome! Please feel free to:\n- Report bugs\n- Suggest new features\n- Submit pull requests\n- Improve documentation\n- Share your patterns and templates\n\n## Technical Details\n\n- Built with Swift using no external dependencies\n- Uses JSON-RPC for MCP communication\n- Async/await for modern Swift concurrency\n- Actor-based architecture for thread safety\n- Comprehensive input validation and security hardening\n\n## License\n\nMIT License - feel free to use this in your own projects!\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history and security improvements.\n\n## Acknowledgments\n\nBuilt as part of exploring the Model Context Protocol (MCP) ecosystem for enhancing AI-assisted development workflows.\n\n---\n\nMade with ❤️ from 🍍 Pineapple\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM-Pineapple%2FClaude-Project-Coordinator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FM-Pineapple%2FClaude-Project-Coordinator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM-Pineapple%2FClaude-Project-Coordinator/lists"}