devcoach

MCPattested
v1.0.3UltimaPhoenixAGPL-3.0-onlyUpdated 2d agonpmGitHub

Stay sharp while your AI does the work — learn from every task with in-context coaching, all local, all free

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
558Downloads/wk
4GitHub stars
2d agoLast update
Package
AuthorUltimaPhoenix
LicenseAGPL-3.0-only
Version1.0.3
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
Listed in Forge index+10/10
Identity verified · attested build+20/20
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+5/5
npm maintainer match+0/5
Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
CVE scan · clean+30/30
Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain
Provenance✓ Sigstore-verified · 4b3e1ae
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface15 tools · 3 privileged
Security scan✓ Cleanv1.0.3 · todayHow well does this scan work?
EvalsNone
IndexedAug 28, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

15 tools · 3 privileged
Statically extracted from the published packagev1.0.3 · 1h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

log_lessonSave 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 — there is no argument for it. Returns the saved Lesson w…

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 — there is no argument for it. Returns the saved Lesson w…

No input schema was published for this tool.

update_knowledgeAdjust 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.

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.

No input schema was published for this tool.

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

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).

No input schema was published for this tool.

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

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

No input schema was published for this tool.

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

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

No input schema was published for this tool.

submit_feedbackRecord comprehension feedback for a lesson and adjust knowledge confidence. know = +1, dont_know = -1, clear = remove feedback (no confidence change). Idempotent — the same feedback twice adjusts confidence only once.

Record comprehension feedback for a lesson and adjust knowledge confidence. know = +1, dont_know = -1, clear = remove feedback (no confidence change). Idempotent — the same feedback twice adjusts confidence only once.

No input schema was published for this tool.

skip_lessonDecline 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 — log_lesson already resolves t…

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 — log_lesson already resolves t…

No input schema was published for this tool.

add_topicAdd 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.

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.

No input schema was published for this tool.

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

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

No input schema was published for this tool.

add_groupCreate a new (initially empty) knowledge group. Idempotent — returns true either way.

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

No input schema was published for this tool.

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

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

No input schema was published for this tool.

update_settingsUpdate 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'. Returns the full updated Settings.

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'. Returns the full updated Settings.

No input schema was published for this tool.

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

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

No input schema was published for this tool.

complete_onboardingSave 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)…

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)…

No input schema was published for this tool.

preview_deep_scanCheap, 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) — a real date window, not a fixed top-N. Reads no prompt/conversation text, only project paths and activity times…

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) — a real date window, not a fixed top-N. Reads no prompt/conversation text, only project paths and activity times…

No input schema was published for this tool.

15 of 15 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Stay sharp while your AI does the work — learn from every task with in-context coaching, all local, all free

Keywords
mcpmodel-context-protocolclaudeclaude-codecoachingdeveloper-toolscli
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-05 — observed resolution, not a publisher declaration.

60 packages resolved · 6 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+43 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.