MCP.Market

Kconfig MCP server

by 0xmortuex·io.github.0xmortuex/kconfig-mcp·v0.1.0

Why can't I enable CONFIG_X? Explains Kconfig dependencies and finds a verified fix.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

0 stars118 downloads/wk

Reviews

Write one

Nobody has reviewed Kconfig yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Kconfig tools

No tool declarations could be read from the package source. They show once the server is installed.

Public scan report

scanner v0.1.10 · 2026-10-13 · same rubric, same numbers if you re-run it

no findings
  • Code scan8 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Kconfig compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 95% of 48,255 servers
Downloads a week
118
more than 66% of 12,191 servers with a package

Install Kconfig in Claude Code, Cursor or VS Code

claude mcp add kconfig-mcp -- uvx kconfig-mcp
Add to Cursor

What the publisher says

From the Kconfig repository's README, as published. We do not edit it. Read it on GitHub

kconfig-mcp

"Why can't I enable CONFIGX?", answered with file:line and a fix that's been checked.**

<!-- mcp-name: io.github.0xmortuex/kconfig-mcp -->

kconfig-mcp is an MCP server that lets an AI agent reason about Kconfig, the configuration system used by the Linux kernel, Zephyr, U-Boot, Buildroot and others.

Everyone who has configured a kernel has hit this: the option you want isn't in menuconfig, or it's there but greyed out, and the reason is five depends on hops away in a different directory. kconfig-mcp walks that chain for you. Then it searches for the smallest set of changes that would unlock the option, and applies them to the real tree to verify they work before it shows them to you.

What it looks like

This is real output on the current Linux tree (18,913 symbols) for x86:

> kconfig_why_not X86_X2APIC
X86_X2APIC = n (default), needs y - bool at arch/x86/Kconfig:463
  its prompt (arch/x86/Kconfig:463) is visible only if
  X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST), which is n:
    needs any one of (2 options, all currently too low):
      IRQ_REMAP = n (default), needs y - bool at drivers/iommu/Kconfig:201
        its prompt is visible only if X86_64 && X86_IO_APIC && PCI_MSI && ACPI && IOMMU_SUPPORT:
          PCI_MSI = n (default), needs y - bool at drivers/pci/Kconfig:44
            its prompt is visible only if PCI, which is n:
              PCI = n (default) - set PCI=y directly.
      HYPERVISOR_GUEST = n (default), needs y - bool at arch/x86/Kconfig:787
        its prompt is visible - set HYPERVISOR_GUEST=y directly.

Verified fix (2 change(s)): HYPERVISOR_GUEST=y, X86_X2APIC=y
  HYPERVISOR_GUEST: arch/x86/Kconfig:787
  X86_X2APIC: arch/x86/Kconfig:463
Unverified alternatives: PCI=y, PCI_MSI=y, IRQ_REMAP=y, X86_X2APIC=y

> kconfig_set HYPERVISOR_GUEST y
CONFIG_HYPERVISOR_GUEST: 'n' -> 'y'.
1 other symbol(s) changed as a consequence: X86_X2APIC n->y

The same question on a 32-bit build (ARCH=i386) ends somewhere no symbol change can reach, and the tool says so instead of inventing a fix:

64BIT = n (default), needs y - bool at arch/x86/Kconfig:3
  requires "i386" = "x86", which compares two constants and is always false here.
  One side was probably expanded from an environment variable (like $(ARCH)) when
  the tree was loaded: no symbol change can fix this - reload with a different env.
No verified fix: every route ends in something no assignment can change.

Why it's built this way

needs MODULES, bools promote m to y, choices deselect their other members, select overrides depends on, and default y turns things on silently. So every candidate plan is applied to the loaded tree and checked. Only plans that really reach the goal are shown as fixes, together with their side effects (what else select/imply/defaults switch on or off).

  • Fixes are verified, not guessed. Kconfig is full of edge cases: tristate m

since 2020 and can't parse Linux's newer modules, transitional and depends on X if Y syntax. kconfig-mcp rewrites those lines as files are read, keeping every line number exact. depends on X if Y is lowered with a line-by-line port of exprtranscompare from scripts/kconfig/expr.c, so it behaves exactly as kconfig does, including how kconfig treats !S when S is m.

  • It parses current Linux. It's built on Kconfiglib, which hasn't had a release

unset variable silently becomes "". kconfig-mcp tracks undefined variables and names them in the error (undefined variable(s): SRCARCH (the arch/ directory to use, ...)) instead of leaving you with arch//Kconfig not found.

  • Environment problems are named. Linux sources arch/$(SRCARCH)/Kconfig, and an

Install

pip install kconfig-mcp
claude mcp add kconfig -- kconfig-mcp

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Kconfig: common questions

Is Kconfig MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Kconfig safety report
How do I install Kconfig?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Kconfig need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Kconfig maintained?
The last commit was 24 days ago (2026-10-11). The latest release is v0.1.0.
How does Kconfig compare with other MCP servers?
safety score 92/100 (higher than 95% of 48,255 servers); downloads a week 118 (more than 66% of 12,191 servers with a package). Full comparison.

More from 0xmortuex →