Dev-Project-Coordinator
Local desk for AI agents: track coding and non-coding projects as JSON, with Analytics and Kanban views. MCP server, Mac-first, Docker for Linux.
Install / Use
claude mcp add M-Pineapple -- npx -y github:M-Pineapple/Dev-Project-CoordinatorIf the server publishes to npm under a different name, use that package instead โ check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OperationsSupported Platforms
Our assessment of Dev-Project-Coordinator
Dev-Project-Coordinator scores 87/100 on our quality scale, 437th of 757 Operations skills we index.
Its MCP Server is 20 KB long, well organised into 39 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 47 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so Dev-Project-Coordinator is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit โ read the skill file before letting an agent act on it.
Dev-Project-Coordinator compared with similar skills
All 4 of these similar skills score higher than Dev-Project-Coordinator; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Dev-Project-Coordinator (this skill)by M-Pineapple | 87 | 47 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.9k | 6d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.4k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.5k | 1d ago | MCP Server |
Frequently asked questions
- How do I install Dev-Project-Coordinator?
- Run
claude mcp add M-Pineapple -- npx -y github:M-Pineapple/Dev-Project-Coordinator. The install tabs above show the steps for each supported agent. - Which AI agents does Dev-Project-Coordinator work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Dev-Project-Coordinator safe to use?
- It is Apache-2.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Dev-Project-Coordinator still maintained?
- The repository was last updated today, so Dev-Project-Coordinator is actively maintained.
Skill content
View source on GitHubDev Project Coordinator
Local desk for agents. Track coding and non-coding work as JSON on your machine. Agents keep the board. You open a local Analytics tab and Kanban tab.
Formerly Claude Project Coordinator.
<picture><source media="(prefers-color-scheme: dark)" srcset="docs/images/analytics-dark.png"><img src="docs/images/analytics-light.png" alt="Analytics tab of the local desk" width="720"/></picture> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/images/kanban-dark.png"><img src="docs/images/kanban-light.png" alt="Kanban tab of the local desk" width="720"/></picture> <img src="docs/images/drag.gif" alt="Dragging a card on the local Kanban" width="720"/>
</div>DPC is a local stdio MCP server. It stores live project state (column, kind, counts, cards) as JSON. It does not host your data. It does not replace a memory or RAG product.
v2.0.0 ยท official Swift MCP SDK ยท Apache 2.0 ยท local JSON knowledge base
Quick start
Needs macOS 13+, Swift 6.0+ (Xcode 16+) and an MCP host (Claude Desktop, Cursor, Claude Code, or Grok Build). Linux runs through the Dockerfile.
-
Build:
git clone https://github.com/M-Pineapple/Dev-Project-Coordinator.git cd Dev-Project-Coordinator swift build -c release -
Add the server. The binary name stays
project-coordinator.dpcis an alias.{ "mcpServers": { "project-coordinator": { "command": "/absolute/path/to/Dev-Project-Coordinator/.build/release/project-coordinator", "args": [] } } } -
Restart the host. Ask: "What is on my desk?" The agent should call
get_desk_summaryfirst.
Coding folders must sit under an allowed root. Non-coding work can have no path.
Open it as a Mac app
The desk page is a local file by default. For drag-and-drop, and to pin it in the Dock like an app:
- Ask the agent to start the desk server, or run
dpc start_desk_server. - Open the sign-in URL once in Safari. It carries a one-time code, valid once, for 10 minutes. That sets a session cookie (the write token) and redirects to
http://127.0.0.1:47821/with no code in the address bar. - Safari: File > Add to Dock. The Dock shortcut is the plain URL. It does not store the code or the write token.
The port is fixed at 47821. Change it with DPC_DESK_PORT or deskPort in security-config.json. If that port is busy, start fails with a clear error. It does not pick a random port.
Call start_desk_server again while it is running to mint a fresh sign-in code without rotating the write token. Rotate the write token with start_desk_server rotate=true, or dpc start_desk_server --rotate. Open the new sign-in URL once so the Dock app cookie updates.
Who is this for?
1. Agent user with several repos
You already have coding agents. You do not want a second project-management SaaS.
Start with:
- "I am in this repo. Register it."
- "What is blocked right now?"
- "Add a card for the failing tests and put it in doing."
What you get: silent register from cwd and git remote, a compact desk under 800 tokens, cards linked to a PR when you pass one.
2. Mixed coding and non-coding desk
You also run accounting, legal, writing, or campaign work in the same chat.
Start with:
- "File this under a legal project called Q4 review."
- "Rename that to Autumn review."
- "Merge Duplicate Campaign into Autumn review."
What you get: find-or-create with no folder, a one-line notice Filed under new project: โฆ, and rename/merge when the guess is wrong.
3. Privacy-first local setup
You will not send a board to a hosted PM tool.
Start with:
- Build from source. Point the host at
.build/release/project-coordinator. - Optional:
DPC_KNOWLEDGE_BASEfor data outside the git tree.CPC_KNOWLEDGE_BASEstill works through v2.x. - Open
KnowledgeBase/desk/index.htmlfrom disk.
What you get: JSON on your disk, path allowlisting, no account, no telemetry.
4. Already using a memory or RAG product
You store decisions in a memory MCP. You do not want that text copied here.
How they fit together:
| | DPC | Memory / RAG | |---|---|---| | Job | Live structured state: column, owner, counts, board | Durable why, decisions, people | | Shape | Exact rows and a Kanban | Similar chunks | | Ask | "What is blocked right now?" | "Why did we choose X last month?" |
Put only a memoryRef (opaque id or tag) on a card. DPC never calls a memory service and never copies the prose.
If you use RAG only, exact counts and a current board are not available.
5. Grok Bot user
You want a specialised desk operator.
Start with: paste docs/grok-bot/PROMPT.md, then add this MCP by hand. Templates cannot carry a custom MCP.
What you get: the same JSON desk. An optional private Grok Bot Page is a view, not a second store. Never auto-share.
Full feature list
Desk
| Capability | Detail |
|---|---|
| Compact summary | get_desk_summary, hard cap 800 tokens (~3,200 characters) |
| Any language | Shallow detector: swift, python, javascript, typescript, node, go, rust, ruby, php, java, kotlin, csharp, dotnet, cpp, docker, web, plus spm / xcode-project / xcode-workspace / swiftui from top-level files |
| Non-coding kinds | writing, campaign, research, legal, accounting, business, personal, other. Path optional |
| Auto-register | From cwd + git remote + optional open PR. Never creates folders. Adds a starter card |
| Find or create | Normalised name match, near-duplicate guard, rename and merge. Adds a starter card |
| Kanban | Columns backlog, doing, review, done, parked. Users may rename |
| Cards | id, project, title, column, order, due, optional memoryRef |
| Local page | Analytics tab + Kanban tab as KnowledgeBase/desk/index.html |
| Interactive board | Opt-in start_desk_server on 127.0.0.1:47821, 0600 write token, Safari Add to Dock |
Analytics tab
The same JSON the MCP tools read, rendered as a local dashboard (file and live modes):
| Section | What you see | |---|---| | Attention | Five items that need a look, ranked | | Board flow | Column mix, stale cards (14 days), 7-day throughput into done, parked count | | Kind mix | Coding vs writing, legal, accounting, and the rest | | Project health | 0โ100 score per project, factors, recommendations, grouped critical / needs attention / healthy. Non-coding projects are not scored down for missing code docs or a tech stack | | Activity heat map | Per project, last 14 days, CSS intensity cells and a sparkline. Total events. No emoji | | Technology trends | Share bars, emerging tags (1โ2 coding projects), adoption timeline. Coding projects only | | Project timeline | Created date, current status, time in each status. Collapsible per project |
No emoji as data. No remote fonts or assets. Light and dark follow the system.
Safety and storage
| Capability | Detail |
|---|---|
| Local JSON | KnowledgeBase/projects/ and KnowledgeBase/desk/ |
| Path allowlist | Compiled roots plus SecurityConfig.allowedPaths and DPC_ALLOWED_PATHS |
| Input limits | Name, path, notes, and search length capped |
| HTML | User strings escaped on the desk page |
| Env | DPC_KNOWLEDGE_BASE preferred, CPC_KNOWLEDGE_BASE until v3.0 |
| Stdio-safe logs | Diagnostics go to stderr only, prefix [DPC] |
All MCP tools
| Tool | Parameters | Purpose |
|---|---|---|
| get_desk_summary | โ | Compact desk. Use this first |
| list_projects | โ | Full roster. Deep dive only |
| get_project_status | projectName | Full detail for one project |
| add_project | name, optional path, description, kind | Manual add |
| update_project_status | projectName, optional status, notes | Update the desk entry |
| search_desk | pattern | Search notes, cards, kinds, markdown |
| search_code_patterns | pattern | Deprecated alias of search_desk |
| get_project_timeline | projectName | Status history and time in each status |
| get_activity_heatmap | optional days (default 7) | Activity heat map (points, events, daily counts) |
| get_technology_trends | โ | Framework share, emerging tags, adoption timeline (coding only) |
| get_project_health | โ | 0โ100 scores, factors, recommendations |
| open_desk | โ | Write desk/index.html and return its path |
| add_card | project, title, optional column, memoryRef, linkedPR | Add a card |
| move_card | id, column | Move a card |
| update_card | id, optional title, column, memoryRef | Edit a card |
| rename_column | from, to | Rename a board column |
| register_from_workspace | cwd, optional gitRemote, branch, openPR | Silent coding register |
| file_under_project | name, optional kind, description | Non-coding find or create |
| rename_project | from, to | Fix a wrong name |
| merge_projects | source, target | Absorb a duplicate |
| start_desk_server | optional rotate | Opt-in loopback Kanban. Returns a bookmark URL and a one-time sign-in URL (valid once, for 10 minutes). Call again to mint a new code without rotating |
You talk in natural language. The host maps your words onto these tools.
Example workflow
You: I am in ~/Developer/widget-kit on branch main, PR 42. Register it.
Agent: calls register_from_workspace. Detected javascript.
You: What needs me?
Agent: calls get_desk_summary. Compact table, no notes dump.
You: File the invoice chase under a new accounting project.
Agent: calls file_under_project. "Filed under new project: Invoice chase"
You: Open the desk.
Agent: calls open_desk. You open KnowledgeBase/desk/index.html from disk.
Prerequisites
- macOS 13+ for the default path
- Swift 6.0+ (Xcode 16+)
- An MCP host
- Optional: Docker for the Linux image
Installation
Build from source
git clone https://github.com/M-Pineapple/Dev-Project-Coordinator.git
cd Dev-Project-Coordinator
swift build -c release
Executables:
.build/release/project-coordinator
.build/release/dpc
Claude Desktop
Settings โ Developer โ Model Context Protocol. Use the JSON in Quick start. No --port flag. This is stdio, not HTTP.
Cursor
Add the same server entry to your Cursor MCP settings JSON.
Claude Code
Register the same command path.
Grok Build
grok mcp add dpc -- /absolute/path/to/Dev-Project-Coordinator/.build/release/project-coordinator
Grok Bot
Create a Dev Project Coordinator bot in your Grok Bot:
- Create a new bot, or ask the bot you use to create bots to make one, and give it the prompt below as its instructions.
- Add this server to that bot as a custom MCP (see the install notes in the prompt). Bot templates cannot carry a custom MCP, so this step is always manual.
- Tell the bot what you are working on. It registers projects for you, keeps the board current, and can show the Analytics and Kanban views as a private Page.
Truncated for display โ read the full file on GitHub.
Related Skills
Agent-Reach
106.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ one CLI, zero API fees.
headroom
78.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.5k๐ท๏ธ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit โ see the Safety scan above for what the skill file itself contains.
