1. Conduid
  2. Developer Tools
  3. HandMirrorMcp
MCP server · Developer Tools

HandMirrorMcp

MCP server for inspecting .NET assemblies and NuGet packages to help AI coding agents.

Unclaimed last commit 8 months ago devtools
34Low

Scored 7 months ago · breakdown

About HandMirrorMcp

HandMirrorMcp is an MCP server published by askmirror in the Developer Tools category: mCP server for inspecting .NET assemblies and NuGet packages to help AI coding agents.

The repository has 13 stars and 2 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/askmirror/HandMirrorMcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about HandMirrorMcp

Powered by Claude · Grounded in docs

I know everything about HandMirrorMcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

HandMirror MCP Server

A Model Context Protocol (MCP) server for .NET assembly and NuGet package inspection. HandMirror helps AI coding agents understand .NET APIs accurately and resolve build errors by providing direct access to assembly metadata and NuGet package information.

🎯 Purpose

AI coding assistants often hallucinate or guess API details, leading to build errors and wasted development iterations. HandMirror solves this by:

  • Providing accurate, version-specific API information directly from assemblies
  • Enabling verification of method signatures, types, and namespaces before writing code
  • Helping diagnose and fix .NET build errors quickly
  • Supporting analysis of native interop (P/Invoke, COM) dependencies

✨ Features

Assembly Inspection

  • inspect_assembly - Full analysis of all public types, members, and attributes with XML documentation
  • list_namespaces - List all namespaces in an assembly
  • get_type_info - Get detailed information about a specific type

NuGet Package Exploration

  • search_nuget_packages - Search for packages by keyword
  • get_nuget_package_info - Get package metadata and dependencies
  • get_nuget_package_versions - List all available versions
  • inspect_nuget_package - Analyze assemblies in a package
  • inspect_nuget_package_type - Get detailed type info from a package
  • list_nuget_sources - List configured NuGet package sources
  • clear_nuget_cache - Clear the local NuGet package cache
  • get_nuget_vulnerabilities - Check for known security vulnerabilities
  • inspect_nupkg_contents - Inspect contents of a .nupkg file
  • extract_nupkg_file - Extract specific files from a .nupkg

Native Interop Analysis

  • inspect_native_dependencies - Find P/Invoke (DllImport/LibraryImport) and COM types in an assembly

Project Analysis

  • analyze_csproj - Analyze .NET project files and identify issues
  • analyze_solution - Analyze solution files
  • explain_build_error - Get explanations for common build errors
  • analyze_file_based_app - Analyze file-based apps
  • analyze_config_file - Analyze configuration files
  • analyze_packages_config - Analyze packages.config files

System Information

  • get_system_info - Get system information (OS, .NET runtime, hardware)
  • get_dotnet_info - Get detailed .NET installation information

📋 Prerequisites

  • .NET 8.0 SDK or later
  • MCP-compatible client (e.g., Claude Desktop, VS Code with Copilot)

🚀 Installation

Build from Source

git clone https://github.com/rkttu/HandMirrorMcp.git
cd HandMirrorMcp
dotnet build

Run the Server

dotnet run --project HandMirrorMcp

⚙️ Configuration

Claude Desktop

Add the following to your Claude Desktop configuration file:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "handmirror": {
      "command": "dotnet",
      "args": ["run", "--project", "C:\\path\\to\\HandMirrorMcp"]
    }
  }
}

Or if you've built the project:

{
  "mcpServers": {
    "handmirror": {
      "command": "C:\\path\\to\\HandMirrorMcp\\bin\\Debug\\net8.0\\HandMirrorMcp.exe"
    }
  }
}

VS Code with GitHub Copilot

Add to your VS Code settings or workspace settings:

{
  "servers": {
    "handmirror": {
      "command": "dotnet",
      "args": ["run", "--project", "/path/to/HandMirrorMcp"]
    }
  }
}

📖 Usage Examples

Verify API Before Writing Code

When you need to use an unfamiliar .NET API:

Use inspect_nuget_package_type to show me the HttpClient class from System.Net.Http

Diagnose Build Errors

When you encounter errors like CS0246, CS1061, or CS7036:

I'm getting CS1061 error. Use inspect_nuget_package to check the Newtonsoft.Json package 
and show me the available methods on JObject

Explore NuGet Packages

Search for packages related to "json serialization" and show me the top results

Check Package Vulnerabilities

Check if there are any known vulnerabilities in System.Text.Json version 6.0.0

Analyze Project Issues

Analyze my .csproj file at C:\MyProject\MyProject.csproj and identify any issues

🏗️ Architecture

HandMirrorMcp/
├── Constants/
│   └── Emoji.cs              # Unicode emoji constants for output formatting
├── Prompts/
│   ├── AssemblyInspectorPrompts.cs
│   └── NuGetInspectorPrompts.cs
├── Services/
│   ├── NuGetService.cs       # NuGet package operations
│   ├── PeAnalyzerService.cs  # PE file analysis
│   ├── RepositoryService.cs  # Repository operations
│   └── XmlDocService.cs      # XML documentation parsing
├── Tools/
│   ├── AssemblyInspectorTool.cs
│   ├── InteropInspectorTool.cs
│   ├── NuGetInspectorTool.cs
│   ├── ProjectAnalyzerTool.cs
│   └── SystemInfoTool.cs
└── Program.cs

🧪 Testing

Run the test suite:

dotnet test

The tests use MSTest and connect to the actual MCP server for integration testing.

📦 Dependencies

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

💖 Support This Project

If you find HandMirror helpful in your development workflow, please consider supporting the project!

Your sponsorship helps maintain and improve this project, add new features, and keep it free for everyone. Every contribution, no matter how small, is greatly appreciated! ⭐


HandMirror - Look before you code 🪞

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About HandMirrorMcp

How do I install HandMirrorMcp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is HandMirrorMcp safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is HandMirrorMcp still maintained?

The last commit was 8 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.