Skip to content

feat: add in-process C# MCP server, Kestrel HTTP API, and AI skill#35

Open
doomedraven wants to merge 6 commits into
GDATAAdvancedAnalytics:masterfrom
doomedraven:feat/native-mcp-server
Open

feat: add in-process C# MCP server, Kestrel HTTP API, and AI skill#35
doomedraven wants to merge 6 commits into
GDATAAdvancedAnalytics:masterfrom
doomedraven:feat/native-mcp-server

Conversation

@doomedraven

Copy link
Copy Markdown

Summary

This PR completes our integration suite by introducing native Model Context Protocol (MCP) server capabilities to de4dotEx over standard IO, alongside a lightweight, containerized HTTP Web API and a dedicated AI Skill for LLM agents.

This connects de4dotEx directly to your AI development environment (Claude Desktop, Cursor, etc.).

Key Changes

  1. Native C# Stdio/HTTP MCP Server (de4dot.mcp):

    • Creates a new .NET 8.0 project de4dot.mcp inside the cross-platform solution.
    • Implements the official MCP JSON-RPC protocol over standard input/output (stdin/stdout), exposing the deobfuscate tool (accepts file_path, output_path, and custom native deobfuscation options).
    • Integrates an in-process Kestrel HTTP Web API on port 8080 (invoked via --http flag) that accepts multipart/form-data uploads (file and optional native CLI options fields), processes them safely, and returns the cleaned binary directly in the HTTP body response.
    • Restructures console logging to redirect all native de4dot output to an in-memory buffer, preventing stdout pollution during JSON-RPC exchanges.
  2. Unified Docker Integration:

    • Restores Dockerfile to build and package both de4dot and de4dot.mcp binaries side-by-side, exposing port 8080.
    • Integrates an intelligent routing entrypoint script entrypoint.sh inside the container:
      • Default command executes the standard de4dot CLI utility.
      • --mcp runs the Stdio MCP server background process.
      • --mcp --http starts the containerized Kestrel HTTP REST microservice.
  3. Gemini CLI Skill (dotnet-deobfuscate/):

    • Packages a specialized AI dotnet-deobfuscate skill (SKILL.md) that injects expert-level triage instructions, parameters, and Detect It Easy (DiE) signature-to-de4dot-flag mappings directly into LLM agent contexts.
  4. Testing Client & Documentation:

    • Adds the test_api.sh client utility script to quickly upload and download cleaned files next to original directories with _cleaned suffixes.
    • Integrates complete MCP server build, configuration (Claude Desktop & Cursor IDE), and runtime usage guides directly into the primary README.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant