
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
WpfDevPackMcp
Advanced tools
A .NET 10 stdio Model Context Protocol (MCP) server that serves the WPF Dev Pack plugin's WPF knowledge topics. It reads plain-markdown topics from a local clone of christian289/dotnet-with-claudecode (the repo-root knowledge/ directory) and exposes list/get/search/refresh tools. Configure the local clone path via /wpf-dev-pack:set-repo-path (or the WPFDEVPACK_REPO_PATH environment variable).
WpfDevPackMcp is a small .NET 10 stdio MCP server that serves the WPF
knowledge topics of the wpf-dev-pack plugin. The knowledge content lives as
plain Markdown under knowledge/ (at the repo root) in a local clone of
christian289/dotnet-with-claudecode; the server reads it from disk and
refreshes it with git pull on demand. This keeps the knowledge out of the
plugin's skills/ loader (so it no longer consumes session context) while
letting you update it by editing Markdown — no server rebuild or republish
needed.
This project lives outside the plugin (mcp/, at the repo root). The
plugin references it only through wpf-dev-pack/.mcp.json (the same way it
references HandMirrorMcp).
git on PATH (used for the on-demand refresh; the repo is public, no auth)dotnet build mcp/WpfDevPackMcp.csproj
dotnet test mcp/WpfDevPackMcp.Tests
The project is a framework-dependent, platform-agnostic .NET tool
(PackAsTool=true). A single dotnet pack produces
one small cross-platform package (~1.3 MB, managed IL) that runs on Windows,
Linux, and macOS with the .NET 10 runtime:
dotnet pack mcp/WpfDevPackMcp.csproj -c Release -o mcp/nupkg
dotnet nuget push mcp/nupkg/WpfDevPackMcp.<ver>.nupkg \
--source https://api.nuget.org/v3/index.json --api-key <NUGET_KEY>
wpf-dev-pack/.mcp.json runs it with a pinned version:
"WpfDevPackMcp": { "type": "stdio", "command": "dnx", "args": ["WpfDevPackMcp@0.1.3", "--yes"] }
Build output (bin/, obj/, nupkg/) is git-ignored.
NuGet versions are immutable — every release needs a new <Version>. The
plugin keeps running on the currently pinned version until you update the pin
in the last step, so publish first and re-pin after.
One-time setup
WpfDevPackMcp or *). Copy it (shown once).WpfDevPackMcp package id is available on nuget.org (the first
push registers ownership). If taken, change <PackageId> here and the
dnx arg in wpf-dev-pack/.mcp.json.Each release
dotnet test mcp/WpfDevPackMcp.Tests, then exercise the tools
with the MCP Inspector (see "Inspect with the MCP Inspector" below).<Version> in mcp/WpfDevPackMcp.csproj (e.g. 0.1.2 → 0.1.3).dotnet pack mcp/WpfDevPackMcp.csproj -c Release -o mcp/nupkgdotnet nuget push mcp/nupkg/WpfDevPackMcp.<ver>.nupkg \
--source https://api.nuget.org/v3/index.json --api-key <NUGET_KEY>
dnx WpfDevPackMcp@<ver> --yeswpf-dev-pack/.mcp.json: WpfDevPackMcp@<old> →
WpfDevPackMcp@<ver> (only after the new version is live on nuget.org).Keep the API key secret — never commit it. Steps 3–6 are the maintainer's; knowledge-content edits do not need a republish (they are served live from the repo).
The server must know where the local clone is. Resolution order:
WPFDEVPACK_REPO_PATH environment variable~/.wpf-dev-pack-mcp/config.json — { "repoPath": "...", "branch": "main" }Configure it from a Claude Code session:
/wpf-dev-pack:set-repo-path <path-to-local-clone>
RepoPathGuard PreToolUse hook blocks the call first with guidance.WPFDEVPACK_PULL_TTL_MINUTES (default 60) controls how often the
server pulls before serving.| Tool | Description |
|---|---|
list_wpf_topics() | All topics with a one-line summary + companion files |
get_wpf_topic(id, variant?) | Full Markdown; variant: default (TOPIC.md) | prism (PRISM.md) | advanced (ADVANCED.md) |
search_wpf_topics(query, maxResults?) | Ranked matches over id / title / summary / body |
refresh_wpf_knowledge() | Force a git pull + rescan |
Topic files: knowledge/<id>/TOPIC.md — no YAML frontmatter.
Title = the first # H1; summary = the first > blockquote. Variants are the
sibling PRISM.md / ADVANCED.md files.
# Build first, then list tools against the built exe
dotnet build mcp/WpfDevPackMcp.csproj -c Release
npx @modelcontextprotocol/inspector --cli \
"mcp/bin/Release/net10.0/WpfDevPackMcp.exe" --method tools/list
# Call a tool (set the repo path first, or rely on ~/.wpf-dev-pack-mcp/config.json)
npx @modelcontextprotocol/inspector --cli "<exe>" \
--method tools/call --tool-name list_wpf_topics
npx @modelcontextprotocol/inspector --cli "<exe>" \
--method tools/call --tool-name get_wpf_topic \
--tool-arg id=implementing-communitytoolkit-mvvm --tool-arg variant=prism
stdout carries only MCP JSON-RPC; all logs go to stderr. The server gives
its git child processes a closed stdin, so they never inherit/block on the
server's JSON-RPC pipe.
Edit the relevant knowledge/<id>/TOPIC.md (or add a new topic directory) and
push. The server picks it up on its next pull — no rebuild, no republish, no
plugin version bump.
Korean mirror: README.ko.md
FAQs
A .NET 10 stdio Model Context Protocol (MCP) server that serves the WPF Dev Pack plugin's WPF knowledge topics. It reads plain-markdown topics from a local clone of christian289/dotnet-with-claudecode (the repo-root knowledge/ directory) and exposes list/get/search/refresh tools. Configure the local clone path via /wpf-dev-pack:set-repo-path (or the WPFDEVPACK_REPO_PATH environment variable).
We found that WpfDevPackMcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.