Claude Project Coordinator

จัดการและประสานงานหลายโปรเจกต์ Xcode/Swift ด้วยฟีเจอร์ต่างๆ เช่น การติดตามโปรเจกต์ การค้นหาอัจฉริยะ และการวิเคราะห์

เอกสาร

Claude Project Coordinator logo

Claude Project Coordinator

Your local project desk for Claude. Track Xcode and Swift work across many repos, then ask Claude what is hot, stale, or next.

CPC is an MCP server that gives Claude a structured, on-disk view of your projects: status, notes, tech stack, activity, and health. It runs on macOS beside Claude Desktop, Cursor, or Claude Code. Data never leaves your machine.

v1.4.0 · official Swift MCP SDK · MIT · local JSON knowledge base


Who is this for?

Pick the path that matches you. Same binary, different first questions.

1. Multi-project Swift hobbyist

You have several apps and packages. Context switches burn time, and you forget which repo was mid-refactor.

Start with:

  • "Add my WeatherApp at ~/Developer/WeatherApp"
  • "Show me all my tracked projects"
  • "Which projects need my attention?"
  • "Update WeatherApp status to 'Core Data models half done'"

What you get: a living roster with status, notes, auto-detected tech (SwiftUI, SPM, Xcode project/workspace), and a health score so quiet projects surface again.

2. Claude Desktop daily driver

Claude is your coding desk. You want continuity between chats without pasting the same project list.

Start with:

  • "List my projects and their current status"
  • "What's going on with TodoApp?"
  • "Find all SwiftUI patterns we've stored"
  • "Show my project activity this week"

What you get: Claude can call nine MCP tools against your KnowledgeBase instead of guessing from conversation memory.

3. Cursor or Claude Code agent user

Agents write code well but lose the portfolio view. You want the agent to know which project it is in and whether that project is healthy.

Start with:

  • Wire CPC into Cursor / Claude Code MCP settings (see Installation)
  • "Get project status for Claude-Project-Coordinator"
  • "Get technology trends across my tracked projects"
  • "Show a 14-day activity heat map"

What you get: project health and timelines as tool results the agent can act on, next to the files it already sees.

4. Privacy-first / local-only setup

You will not send a project inventory to a cloud PM tool. Everything should live beside the binary.

Start with:

  • Build from source, point MCP at .build/release/project-coordinator
  • Optional: CPC_KNOWLEDGE_BASE=~/Library/Application Support/CPC for data outside the git tree
  • Keep KnowledgeBase/projects/*.json out of public repos (already gitignored)

What you get: JSON on disk, path allowlisting, no account, no telemetry.

5. Already using a memory MCP

You store decisions and people in Memory Service (or similar). You do not want a second conversation dump.

How they fit together:

CPCMemory MCP
JobProject artefacts and statusConversational context and decisions
ShapeStructured tools + JSON filesNotes, tags, search
Ask"Which projects are stale?""What did we decide about onboarding?"

Use both. Do not replace one with the other.


Full feature list

Project desk

CapabilityDetail
Track many projectsName, path, description, status, notes, current tasks, last modified
Add from a pathValidates path, scans the folder, stores a JSON record
Update status / notesKeeps the desk current without a separate app
List everythingOne prompt → full roster with tech stack
Per-project deep diveStatus, notes, tasks, path, detected technologies

Auto-detection

When you add a project, CPC inspects the folder and tags what it finds:

  • Swift Package Manager (Package.swift)
  • Xcode project (.xcodeproj)
  • Xcode workspace (.xcworkspace)
  • SwiftUI (import SwiftUI in scanned Swift files)
  • Falls back to Swift when nothing else matches

Search and knowledge base

CapabilityDetail
Pattern searchSearch across tracked projects and KnowledgeBase markdown
Built-in guidesSwift patterns, SwiftUI practices, Xcode shortcuts, troubleshooting
TemplatesStarter docs under KnowledgeBase/templates/
Your own docsDrop markdown into patterns/, tools/, or templates/ and search will pick it up

Analytics (automatic)

No separate timer app. Status updates and tool use feed analytics in the background.

ToolWhat it answers
get_project_timelineHow long has this project been in each status? How old is it?
get_activity_heatmapWhich projects were hot in the last N days?
get_technology_trendsWhich frameworks dominate? What is emerging?
get_project_health0–100 score plus recommendations (activity, freshness, docs, tasks)

Sample chat output: ANALYTICS-EXAMPLES.md.

Safety and storage

CapabilityDetail
Local JSONKnowledgeBase/projects/ and analytics files on your Mac
Path allowlistOnly under configured roots (default: Developer, Documents, GitHub, Projects, …)
Input limitsName, path, notes, and search length capped
Injection checksSearch patterns screened for shell-like payloads
Env overrideCPC_KNOWLEDGE_BASE for a custom data directory
Stdio-safe logsDiagnostics go to stderr only (MCP hosts own stdout)

All MCP tools

ToolParametersPurpose
list_projectsList every tracked project
add_projectname, path, optional descriptionRegister a project and auto-detect tech
get_project_statusprojectNameFull detail for one project
update_project_statusprojectName, optional status, notesUpdate the desk entry
search_code_patternspatternSearch projects + knowledge base
get_project_timelineprojectNameStatus history and durations
get_activity_heatmapoptional days (default 7)Activity heat map
get_technology_trendsFramework usage across the portfolio
get_project_healthHealth scores and recommendations

You talk in natural language. The host maps your words onto these tools.


Example workflow

You: Add my new SwiftUI project FinanceTracker at ~/Developer/FinanceTracker
Claude: Successfully added… Detected tech stack: Swift Package Manager, SwiftUI

You: Update FinanceTracker status to 'Working on Core Data models'
Claude: Updated.

You: Which of my projects use Core Data or SwiftUI?
Claude: [search + roster]

You: Which projects need my attention?
Claude: [health report with scores and recommendations]

You: Show my activity this week
Claude: [heat map]

Prerequisites

  • macOS 13+
  • Swift 6.0+ (Xcode 16+)
  • An MCP host: Claude Desktop, Cursor, or Claude Code

Installation

Build from source

git clone https://github.com/M-Pineapple/Claude-Project-Coordinator.git
cd Claude-Project-Coordinator
swift build -c release

Executable:

.build/release/project-coordinator

Claude Desktop

Settings → Developer → Model Context Protocol:

{
  "mcpServers": {
    "project-coordinator": {
      "command": "/absolute/path/to/Claude-Project-Coordinator/.build/release/project-coordinator",
      "args": []
    }
  }
}

Cursor

Add the same server entry to your Cursor MCP settings JSON, using the absolute path to .build/release/project-coordinator.

Claude Code

Register the same command path in your Claude Code MCP config.

Optional: set CPC_KNOWLEDGE_BASE to a custom KnowledgeBase directory (useful if the clone is public and your project JSON should stay private).

Restart the host after changing the config.


Security configuration

Defaults live in Sources/ProjectCoordinator/SecurityValidator.swift (compiled in).

Allowed roots: ~/Developer, ~/Documents, ~/GitHub, ~/Projects, ~/Desktop/Development, ~/Xcode

Limits: project name 100 · path 500 · description 2,000 · notes 10,000 · search pattern 300 characters

To change allowlists or limits, edit the source, rebuild (swift build -c release), and restart the host.


Project structure

Claude-Project-Coordinator/
├── Sources/
│   ├── ProjectCoordinator/     # Library (MCP, manager, analytics, security)
│   └── project-coordinator/    # Executable entry point
├── Tests/ProjectCoordinatorTests/
├── KnowledgeBase/              # Patterns, templates, local project/analytics data
├── scripts/                    # Build and repair helpers
├── ANALYTICS-EXAMPLES.md       # Sample analytics output
├── Package.swift
└── README.md

Upgrading from v1.3.x

  1. git pull and rebuild with Swift 6: swift build -c release
  2. Point your MCP host at the new binary
  3. If creation dates were corrupted by the old re-migration bug:
./scripts/repair-analytics-dates.sh

💖 Support This Project

If CPC has helped streamline your development workflow or saved you time managing projects, consider supporting its development:

Buy Me A Coffee

Your support helps me:

  • Maintain and improve CPC with new features
  • Keep the project open-source and free for everyone
  • Dedicate more time to addressing user requests and bug fixes
  • Explore new tools that enhance developer productivity

Thank you for considering supporting my work! 🙏


Contributing

Contributions are welcome. Report bugs, suggest features, open pull requests, or share patterns and templates under KnowledgeBase/.

License

MIT License.

Acknowledgments

Built for the MCP ecosystem. Protocol stack: modelcontextprotocol/swift-sdk.


Made with ❤️ from 🍍 Pineapple