MCP.Market

devcoach MCP server

by UltimaPhoenix·io.github.UltimaPhoenix/devcoach·v2.7.1·5 stars

Progressive in-context technical coaching in your AI agent — one local, free lesson per task.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

5 stars747 downloads/wk

Reviews

Write one

Nobody has reviewed devcoach yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

devcoach tools (25, 9 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_course_step

    Register a step of a course: the section with id=<anchor> must already exist in the course document. Appended by default; pass `after` to insert it after that step (0 = first) \u2014 the following steps are renumbered.

  • add_groupwrite action

    Create a new (initially empty) knowledge group. Idempotent \u2014 returns true either way.

  • add_topic

    Add a topic to the knowledge map, or update its confidence if it exists. Optionally assign to a group (auto-created). Prefer a single-word topic id. Idempotent.

  • complete_onboarding

    Save the user's initial knowledge profile and mark onboarding complete. Wipes any default-seeded profile. topics: {topic_id: confidence_0_to_10}. groups: {group_name: [topic_id,...]} (topics not in any group go to 'Other'). Ensures learning-state.md exists and is non-empty (a placeholder if needed) \u2014 there is no notebook argument here. Write the real personalized notebook yourself right after

  • create_coursewrite action

    Start a step-by-step course, usually from a lesson the user couldn't follow. Pass the prerequisite chain you explored ([{concept, known}], top-down). Returns the course row, course_dir and document_path \u2014 write the document there yourself, then call add_course_step for each section.

  • delete_lessonwrite action

    Permanently delete a lesson by id. Returns true if found and deleted.

  • get_briefing

    Everything needed before delivering a lesson, in ONE call: onboarding status, rate limit, taught topics, knowledge profile, the coaching notebook text and its notebook_path. Same data as the devcoach://briefing resource \u2014 call the tool, it needs no server name.

  • get_courses

    List courses with their steps and progress; filter by id, seed lesson or status. 'continue the course' = status active.

  • get_lessons

    Query the coaching lesson history. All filters combine. period defaults to all; date_from/date_to override period; limit caps results newest-first (0 = all).

  • get_onboarding

    Onboarding status (knowledge_ready, notebook_ready, needs_onboarding), the stack detected across the full Claude Code history with per-project provenance, the default topics and the notebook_path. Same data as the devcoach://onboarding resource.

  • get_profile

    Current knowledge map: topics with confidence 0\u201310 and their groups. Same data as the devcoach://profile resource.

  • import_lesson

    Store a lesson someone shared. Pass whatever the user handed you, verbatim: the devcoach:lesson:1:\u2026 code, the whole copied card, the share link, a URL to the lesson text, the contents of a .devcoach.md file, or a lessons JSON export. The lesson joins the coaching log as their own (feedback works as usual) but never counts against the daily limit; re-importing the same share is reported as a d

  • log_lesson

    Save a delivered lesson to the coaching log. Git metadata (project, repository, branch, commit_hash, folder, repository_platform) is auto-detected from the workspace when omitted. timestamp is always stamped server-side with the current time \u2014 there is no argument for it. Returns the saved Lesson with all resolved fields.

  • open_ui

    Launch the devcoach web dashboard in the background. port must be 1024-65535.

  • preview_deep_scan

    Cheap, metadata-only pre-check for 'Automatic (Deep)' onboarding. Counts and lists Claude Code projects whose last recorded activity falls within a rolling window (months back from now) \u2014 a real date window, not a fixed top-N. Reads no prompt/conversation text, only project paths and activity timestamps. Call this BEFORE spawning the deep-read subagent: over_soft_limit true means there are en

  • remove_groupwrite action

    Delete a knowledge group. Its topics move to Other. Returns true if it existed.

  • remove_topicwrite action

    Remove a topic from the knowledge map entirely. Returns true if it existed.

  • share_lesson

    Hand a lesson to another person. transport 'text' (default) returns the card plus a one-line code to paste anywhere; 'link' a server-less URL that previews the lesson and imports it into their dashboard; 'file' the contents of a .devcoach.md file. Only title, summary, body, topic, categories and level travel unless include_context is true; local paths never do. Pick the lesson with get_lessons fir

  • skip_lesson

    Decline a lesson cue: call this when the coaching hook asked for a lesson but the completed work does not warrant one (pure questions, chat, nothing technical). Re-arms the pacing counter so the cue is not repeated immediately. Never call it after delivering a lesson \u2014 log_lesson already resolves the cue.

  • star_lesson

    Set the starred (favourite) flag on a lesson. Returns true if found and updated. Idempotent.

  • stop_ui

    Stop the devcoach web dashboard listening on port (whoever started it \u2014 open_ui or a terminal). Graceful: in-flight requests finish first. Reports stopped=false when nothing is running there. port must be 1024-65535.

  • submit_feedbackwrite action

    Record the user's answer under a lesson card. know = already knew it (confidence +1); understood = new and now clear (no confidence change); dont_know = couldn't follow this session (no confidence change; the lesson becomes a course seed); clear = remove the answer. Idempotent \u2014 repeating the stored answer changes nothing.

  • update_course_progresswrite action

    With position: set that step to todo | done | skipped (the course completes itself once every step is done or skipped). Without position: set the course to active | completed | abandoned.

  • update_knowledgewrite action

    Adjust the confidence score for a topic by delta (e.g. +1 or -1). Returns the new confidence (0-10). Creates the topic at confidence 5 if it does not exist.

  • update_settingswrite action

    Update a coaching setting. max_per_day: integer 1-20. min_gap_minutes: integer 0-1440 (0 = no cooldown). nudge_every: integer 0-1000 interactions between lesson cues (0 = cue every turn). nudge_scope: 'session' | 'global'. share_name: the sender name proposed when sharing a lesson (max 80 chars, empty clears). Returns the full updated Settings.

Public scan report

scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it

no findings
  • Code scan19 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How devcoach compares

Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 1,299 Productivity servers
Tools
25
the typical Productivity server has 7
Tools that change things
36%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
5
more than 70% of 854 Productivity servers
Downloads a week
747
more than 89% of 427 Productivity servers with a package

What its tools let an agent do: 10 read · 6 create · 4 change · 3 delete · 1 send or post · 1 run or deploy

Release history: 4 versions in the registry since 2026-09-15, latest 2026-10-08, typically one every 9 days.

Install devcoach in Claude Code, Cursor or VS Code

Runs npx -y devcoach on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add devcoach -- npx -y devcoach
Add to Cursor

What the publisher says

From the devcoach repository's README, as published. We do not edit it. Read it on GitHub

devcoach

Stay sharp while your AI does the work.

devcoach connects to Claude Code, Claude Desktop, Gemini CLI (beta), Codex CLI (beta), Cursor, Windsurf, and other MCP-compatible tools. After every task you complete, it delivers a short targeted lesson calibrated to what you already know — no generic tutorials, no repeated topics, nothing to open.

Everything runs locally. No data leaves your machine. One SQLite file at ~/.devcoach/coaching.db.

Built on the official Model Context Protocol TypeScript SDK, Node's embedded node:sqlite, Hono (web dashboard), and Commander (CLI). Requires Node.js ≥ 24.

Why devcoach?

AI agents now write much of our code — which makes it easy to ship more while understanding less. devcoach turns each task your agent finishes into one short, in-context lesson, so you keep learning as you go. The deeper bet: as AI grows more capable, the scarce skill becomes validating what it produces — and that ability only survives if you keep practicing it.

→ Why devcoach exists

How it works

flowchart TD
    A([Task completed]) --> B{"stop-hook:<br/>paced + rate limit ok?"}
    B -->|not yet| Z(["Silent — counter +1"])
    B -->|due| C["Cue: activate the devcoach skill"]

    subgraph skill["devcoach skill"]
        C --> D{"Technical work?"}
        D -->|no| S[skip_lesson]
        D -->|yes| E[Select topic & depth]
        E --> G[log_lesson]
        G --> F[Print lesson card]
    end

    S --> Y(["Silent — pacing re-armed"])
    F --> H(["Done — counter reset"])
    F -.->|prompts| U(["You: ✅ / ❌"])

→ Full decision flow: session startup · lesson selection · depth calibration

Privacy by design

Everything stays on your machine. No telemetry, no accounts, no calls home. Just one SQLite file.

→ Privacy & security

Installation

devcoach runs locally — a stdio MCP server that stores everything in ~/.devcoach/coaching.db on the machine where your agent runs. It works in Claude Code, Claude Desktop, Gemini CLI (beta), and Codex CLI (beta), but not on claude.ai web (which only supports hosted/remote connectors).

Requires Node.js ≥ 24 (devcoach uses the embedded node:sqlite module, available only from Node 24 onward).

Pick by how you like to work — each section is self-contained (install and connect):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-09-19restoreB → Ascore 92

devcoach: common questions

Is devcoach MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the devcoach safety report
How do I install devcoach?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does devcoach need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is devcoach maintained?
The last commit was 22 days ago (2026-10-13). The latest release is v2.7.1.
How does devcoach compare with other Productivity MCP servers?
safety score 92/100 (higher than 90% of 1,299 Productivity servers); tools 25 (the typical Productivity server has 7); tools that change things 36% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.