Fw MCP Server

Build-aware code intelligence MCP server for embedded C/C++ firmware

Local serverstdioPython

What is the Fw MCP server?

Fw MCP server exists for a simple reason — assistants are far more useful when they can act on Fw directly instead of describing what you should do. Build-aware code intelligence MCP server for embedded C/C++ firmware.

What you get

fw-context builds a persistent semantic index from compile_commands.json and the libclang AST, then exposes it to coding agents through MCP. Instead of reconstructing your firmware through repeated file reads and text searches, the agent can query the program structure produced by the active build configuration.

  • compiler flags and preprocessor definitions
  • target, board and product configuration
  • include paths and generated headers
  • Kconfig and Devicetree selections
  • selected driver and HAL implementations
  • templates, inheritance and virtual dispatch

What the assistant can call

Once Fw is connected, these are the calls the assistant has available:

  • libclang — a project that can produce compile_commands.json
  • function — pointer assignments and indirect call sites
  • translation — unit and project/vendor metadata
  • build — aware review of firmware commits
  • Prerequisites — Ollama is optional. It is used only for local semantic enrichment and symbol explanations; the core compiler-derived index does not require it

Configuration and credentials

  • Python 3.11 or newer - libclang - a project that can produce compile_commands.json - an MCP-capable coding agent such as Claude Code or OpenCode Ollama is optional. It is used only for local semantic enrichment and symbol explanations; the core compiler-derived index does not require it.

Setting it up

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.

Choosing this one

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Fw's toolset — libclang, function, translation and 2 more — is a fair guide to whether it matches your workflow.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the fw mcp server does with a few real requests.

Available tools

ToolWhat it does
libclanga project that can produce compile_commands.json
functionpointer assignments and indirect call sites
translationunit and project/vendor metadata
buildaware review of firmware commits
PrerequisitesOllama is optional. It is used only for local semantic enrichment and symbol explanations; the core compiler-derived index does not require it.

Configuration

  • Python 3.11 or newer - libclang - a project that can produce compile_commands.json - an MCP-capable coding agent such as Claude Code or OpenCode Ollama is optional. It is used only for local semantic enrichment and symbol explanations; the core compiler-derived index does not require it.

Example prompts to try

  • Use Fw to libclang.
  • Use Fw to function.
  • Use Fw to translation.

Frequently asked questions

It connects Fw to MCP-compatible AI assistants such as Claude and Cursor, exposing 5 tools (libclang, function, translation, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Fw directly.