v0.1.5: expand MCP server instructions for Claude Desktop auto-load#3
Merged
Conversation
…skill context Claude Desktop has no `~/.claude/skills/` auto-discovery (that's Claude Code only) — its built-in "Skills" feature is a separate UI upload path that doesn't read the filesystem. So our SKILL_MCP.md file drop helps nothing in Claude Desktop's UI. Standard MCP fix: the `instructions` field returned in InitializeResult. Per spec, clients (including Claude Desktop) inject it into the LLM's system prompt on every turn. This is the same mechanism claude-in-chrome, chrome-devtools-mcp, etc. use to provide skill-like persistent context. The server already had a 1-sentence `instructions` from v0.1.3 — expand it to 365 words covering: when-to-use triggers (English + Polish), 16-tool roster grouped by class, recommended workflow, conventions (temperature precision, mode strings, action field), result envelope semantics, and the safety rules (PIN/JWT redaction, never-assume-module- names, summer-furnace-off caveat, 60s tool-timeout warning). Stays under the ~500-word soft ceiling so per-turn token cost is bounded. The SKILL_MCP.md file install for `emodul install claude-desktop` stays as-is — useful for Claude Code agents that want richer context when talking to the MCP server, and as bundled documentation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
You discovered that Claude Desktop's UI Skills feature ≠ `~/.claude/skills/` filesystem. CD only loads skills via UI .zip upload. So our `SKILL_MCP.md` drop helps nothing in CD's Skills UI.
But MCP servers can deliver skill-like persistent context the right way: the `instructions` field returned in `InitializeResult`. Per the MCP spec, clients (including Claude Desktop) inject `instructions` into the LLM's system prompt on every turn. Same mechanism `claude-in-chrome`, `chrome-devtools-mcp` etc. use.
What
The server already had a 1-sentence `instructions=` from v0.1.3. Expand it to 365 words covering:
Bounded at ~500 words to keep per-turn token cost reasonable.
The `SKILL_MCP.md` file install for `emodul install claude-desktop` stays as-is — useful for Claude Code agents and as bundled documentation.
Test plan
After merge: tag `v0.1.5` → OIDC publish → `pipx upgrade emodul` → restart Claude Desktop → instructions now visible in system prompt as `## emodul`.