Docs / MCP integration

MCP integration

Connect Claude Desktop, Cursor, Codex, or any MCP-compatible client to your Netdexpert boards.

LAST UPDATED: 2026-05-08

Netdexpert ships an MCP server that exposes the compact /r/{short} API as MCP tools — read_board, search_items, set_cell, run_agent. Once configured, your LLM client can read and write boards natively.

What MCP is

MCP (Model Context Protocol) is Anthropic’s open standard for connecting LLMs to external tools and data sources. Tested clients include:

  • Claude Desktop (Anthropic) — works out of the box
  • Cursor — native MCP support since v0.45
  • Codex (OpenAI’s CLI) — via the Codex MCP bridge
  • Any client that implements the MCP spec

Required configuration

Add this to your MCP client’s config (e.g. ~/.cursor/mcp.json or Claude Desktop’s Settings > Developer > MCP Servers):

{
  "mcpServers": {
    "netdexpert": {
      "url": "https://api.netdexperts.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_JWT_HERE"
      }
    }
  }
}

Get a JWT by logging into app.netdexperts.com and copying the token from Settings > API keys (cloud only). For self-hosted instances in NETDEX_MODE=multi, the same path works against your local API URL.

For single-tenant self-host (NETDEX_MODE=single) there’s no auth wall; drop the Authorization header and point url at your instance.

Test it works

The discovery endpoints are public; you can sanity-check the API surface before wiring MCP:

curl -s https://api.netdexperts.com/api/sitemap | head -20
curl -s https://api.netdexperts.com/api/help

After MCP is configured, open your LLM client and ask it to list your boards. It should call list_boards, return a few short_ids, and offer to dive in.

What the MCP server exposes

The server respects tenant scoping — cross-tenant reads return 404, not 403, even via MCP. The same security guarantees apply to API and MCP equally.

Tool surface (subject to expansion):

  • list_boards — discover boards in your tenant
  • read_board(short_id) — full board content (items + columns + groups)
  • search_items(board, query) — full-text search across items
  • get_cell(board, item, column) — read one cell
  • set_cell(board, item, column, value) — write one cell
  • run_agent(board, item, column) — trigger an agent column
  • create_item(board, group, title, columns?) — append an item

Next steps


Found a gap? Open an issue on GitHub or email hello@netdexperts.com .