dotMCP.win-arm64 0.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package dotMCP.win-arm64 --version 0.4.0
                    
NuGet\Install-Package dotMCP.win-arm64 -Version 0.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="dotMCP.win-arm64" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="dotMCP.win-arm64" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="dotMCP.win-arm64" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add dotMCP.win-arm64 --version 0.4.0
                    
#r "nuget: dotMCP.win-arm64, 0.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package dotMCP.win-arm64@0.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=dotMCP.win-arm64&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=dotMCP.win-arm64&version=0.4.0
                    
Install as a Cake Tool

dotMCP

MCP server that exposes a C# solution as a semantic graph over Roslyn, instead of requiring an LLM agent to grep files and re-parse text on every step.

What it's for

Connect this server to an MCP-capable client (Claude Code, VS Code + Copilot, Cursor, etc.) so the agent can navigate, analyze, and edit a C# solution through typed tool calls (get_type, get_call_graph, find_writes, rename_symbol, concurrency_audit, search_code, find_duplicates, tests_run, and more) instead of raw file search-and-replace.

All tool responses are TOON-encoded (Token-Oriented Object Notation, spec v3): the same facts as JSON with camelCase keys and nulls omitted, at a fraction of the token cost — uniform result lists collapse into one header plus tabular rows.

See the repository at https://github.com/QsROg8320/SharpMCP.claude/skills/dotmcp-tools/SKILL.md there documents all 63 tools with real tested examples, argument constraints, and known gaps.

Usage via NuGet (dnx)

VS Code / clients that use a "servers" config block:

{
  "servers": {
    "dotMCP": {
      "type": "stdio",
      "command": "dnx",
      "args": ["dotMCP@0.4.0", "--yes"]
    }
  }
}

qwen-code / Pi Coding Agent / other clients that use a plain "mcpServers" block (do not include "servers" or "type" here — those are VS Code-specific and will be rejected by these clients):

{
  "mcpServers": {
    "dotMCP": {
      "command": "dnx",
      "args": ["dotMCP@0.4.0", "--yes"]
    }
  }
}

Requires the .NET 10 SDK (for the dnx command) on the machine running the MCP client.

Unpacking the bundled skill (Claude Code)

The package embeds the full tool reference (SKILL.md: every tool with argument constraints and real captured request/response examples). The server can deploy it into your Claude Code skills directory on startup — opt-in, it never writes outside its working directory unless you ask:

  1. Set DOTMCP_DEPLOY_SKILL=true in the server's environment, e.g.:

    {
      "mcpServers": {
        "dotmcp": {
          "command": "dnx",
          "args": ["dotMCP@0.4.0", "--yes"],
          "env": { "DOTMCP_DEPLOY_SKILL": "true" }
        }
      }
    }
    
  2. On every server start the skill is (re)written to ~/.claude/skills/dotmcp/SKILL.md — upgrades refresh it automatically. Set DOTMCP_SKILLS_DIR to redirect the skills root (the dotmcp/SKILL.md part stays).

  3. Restart Claude Code (or start a new session); the dotmcp skill is picked up automatically and teaches the agent every tool below.

Tools at a glance (63)

Workspaceworkspace_open open a .sln/.slnx/.csproj (mandatory first call); get_structure namespace/type hierarchy with doc one-liners; get_diagnostics compiler errors/warnings for solution/project/type/method.

Navigationget_type type card (member signatures, doc, usedBy/uses); get_method full method with symbol map, callers/callees, version token; get_source any node as C# text; get_lines raw line range of a file; get_symbol "what is this?" incl. NuGet/BCL symbols; search_symbols ranked name search; search_text search string literals/comments/XML doc; search_code regex over the raw code text (the grep of the graph).

Usagesfind_usages all references classified read/write/invocation/argument; find_local_usages usages of a local/parameter inside its method; type_usages where a type appears (fields, params, returns, generics); get_instantiations where and with what arguments a type is constructed.

Code graphget_method_nodes CFG nodes of a body; replace_node swap one CFG node; get_reaching_conditions path conditions to a node; get_call_graph callers/callees tree; reach is there a call path A→B; get_type_hierarchy base/derived tree; find_implementations interface/abstract implementors; impact_of transitive blast radius of changing a member.

Analysiscomplexity cyclomatic + cognitive ranking; find_duplicates structural duplicate clusters (canonicalized tokens); concurrency_audit ranked suspicious-concurrency findings (lock asymmetry, check-then-act, blocking under lock...); find_dead_code uncallable/unused/unreachable; entry_points execution roots; get_effects reads/writes/IO/sync/blocking/spawns/purity of a method; find_writes / find_reads field access sites with lock context; get_argument_values what values flow into a parameter; event_flow raise/subscribe map of an event; trace_value where a value comes from / flows to; decompile C# of NuGet/BCL symbols; run run the project; tests_list / tests_for / tests_run discover, map, and execute tests (TUnit/xUnit/NUnit/MSTest); probe temporary counters through a test run; trace_test per-test execution paths.

Editing (guarded)add_type new type (with usings support); add_member add method/property/field/event; replace_method_body swap statements; replace_member replace a whole declaration (attributes, signature, base(...)); move_member relocate a member; update_doc rewrite XML doc; delete_member / delete_file safe-delete with usage guard; change_signature change parameters atomically across all call sites; rename_symbol solution-wide rename; find_replace regex edit inside a member/type or a whole file (doc: scope). Every edit re-parses before applying, reports semantic/ripple diagnostics plus a unified diff, and leads with an explicit warning if the code no longer compiles.

Project opschanges_list / changes_diff what changed since the last commit; commit snapshot; revert_file undo one file; package_add / package_remove / package_list NuGet references; project_create / project_remove projects; asset_list / asset_read / asset_write non-code files (configs, json, ...).

Environment variables

  • DOTMCP_RELOAD_DEBOUNCE_SECONDS — quiet period of the file watcher before external edits trigger a workspace reload (default 60).
  • DOTMCP_DEPLOY_SKILL=true — opt-in: deploy the bundled Claude Code skill doc on startup.
  • DOTMCP_SKILLS_DIR — overrides the skills directory for that deployment.
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.0 0 7/18/2026
0.6.1 0 7/17/2026
0.6.0 57 7/16/2026
0.5.0 58 7/16/2026
0.4.0 56 7/16/2026
0.3.0 56 7/16/2026
0.2.0 72 7/14/2026
0.1.2 74 7/13/2026
0.1.1 77 7/13/2026
0.1.0 79 7/13/2026