nrf-mcp

nrf-mcp

An MCP server for Nordic nRF Connect SDK development that enables users to list, read, and search documentation and sample code from the nrfconnect/sdk-nrf repository. It provides Claude with specialized tools to navigate SDK resources, source files, and configuration examples directly through the GitHub API.

Category
Visit Server

README

nrf-mcp

MCP server for Nordic nRF Connect SDK development. Provides Claude with tools to browse documentation and sample code from the nrfconnect/sdk-nrf repository.

Tools

Tool Description
nrf_list List files and directories at a given path in the SDK repo
nrf_read Read a file's contents (.rst docs, .c/.h source, CMakeLists.txt, prj.conf, etc.)
nrf_search Search across the repo using GitHub code search with qualifier support

Search examples

# Find all uses of a symbol
DFU_TARGET_IMAGE_TYPE_ANY

# Search docs only
FOTA path:doc/nrf

# Search samples only
peripheral_hr path:samples

# Filter by file type
CONFIG_BT_PERIPHERAL extension:conf
bt_le_adv_start extension:c

Setup

Prerequisites

  • Node.js 18+
  • GitHub CLI (gh) authenticated — used to supply a GitHub token at runtime

Install and build

npm install
npm run build

Register with Claude Code

claude mcp add -s user nrf-mcp -- /path/to/nrf-mcp/run.sh

Register with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "nrf-mcp": {
      "command": "/path/to/nrf-mcp/run.sh",
      "args": []
    }
  }
}

Then restart Claude Desktop.

The run.sh wrapper fetches a fresh token from gh auth token each time the server starts, so no token is ever hardcoded.

Configuration

Variable Default Description
NRF_SDK_REF main (set via nrfSdkRef in package.json) SDK version to target — any git ref (tag, branch, commit SHA)
GITHUB_TOKEN (from gh auth token) GitHub API token; set explicitly to bypass the gh CLI

To target a different SDK version, set the env var in the MCP registration:

claude mcp remove nrf-mcp
claude mcp add -s user -e NRF_SDK_REF=v3.2.4 nrf-mcp -- /path/to/nrf-mcp/run.sh

Rebuild after changes

npm run build

During development, use npm run watch to recompile automatically on save.

Testing

Run the end-to-end test suite (requires gh to be authenticated):

npm test

The tests spawn the server via run.sh, exercise all three tools, and validate input error handling.

Troubleshooting

gh: command not found or empty token The run.sh script fetches a token via gh auth token. Make sure the GitHub CLI is installed and you are logged in:

gh auth login
gh auth token   # should print a token

GitHub API 401 errors nrf_search requires authentication. If the token is missing or expired, re-authenticate with gh auth login. For Claude Desktop, ensure run.sh is executable (chmod +x run.sh) — it prepends the Homebrew bin path to find gh.

GitHub rate limit exceeded Unauthenticated requests are limited to 60/hour. With a valid GITHUB_TOKEN the limit is 5 000/hour. Ensure gh auth token returns a token and that run.sh is being used (not node dist/index.js directly).

Tools not appearing in Claude

  • Claude Code: run claude mcp list to confirm nrf-mcp is registered, then restart the session.
  • Claude Desktop: restart the app after editing claude_desktop_config.json. Check the Desktop developer console for MCP startup errors.

Wrong SDK version Confirm the active ref with echo $NRF_SDK_REF in the same shell, or check what's registered:

claude mcp list   # shows the -e env vars set at registration time

To change it, remove and re-add the registration with the new -e NRF_SDK_REF= value.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured