Koskamo

stlink-mcp

An MCP server that allows AI coding agents to program, run, and inspect STM32 microcontroller targets via ST-LINK hardware. It drives STM32CubeCLT command line tools, reads variables and peripheral registers from ELF and SVD files without stopping the program, and provides detailed verification status for every operation to ensure the agent receives accurate hardware feedback.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

stlink-mcp logo, by diiCommunity listingLocal stdioSource reviewed; not executedPublished by dii
Vendor documentation

What you can do with it

  • Program STM32 targets over ST-LINK
  • Run firmware and inspect execution results
  • Read variables and peripheral registers by name
  • Verify if operations halted or reset the target

Source and maintenance

Community listingRegistry 0.8.6
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

stlink-mcp 0.8.6

pypiuvx
stlink-mcp package definition
{
  "version": "0.8.6",
  "transport": "stdio",
  "identifier": "stlink-mcp",
  "runtimeHint": "uvx",
  "registryType": "pypi",
  "registryBaseUrl": "https://pypi.org",
  "environmentVariables": [
    {
      "name": "STLINK_MCP_CLT_ROOT",
      "format": "filepath",
      "description": "STM32CubeCLT (or STM32CubeIDE) install directory, when it is not in a standard place"
    },
    {
      "name": "STLINK_MCP_BOARDS",
      "format": "filepath",
      "description": "TOML file describing boards this project has not characterised; defaults to ~/.config/stlink-mcp/boards.toml if it exists"
    },
    {
      "name": "STLINK_MCP_NO_VENDOR_SEED",
      "description": "Set to anything to run on measured and user-stated data only, with no seeding from ST's device databases"
    },
    {
      "name": "STLINK_MCP_CONSOLE",
      "description": "Serial console per probe, SERIAL=/dev/ttyUSB0, comma-separated for several; for a console that is not the probe's own"
    },
    {
      "name": "STLINK_MCP_CONSOLE_BAUD",
      "format": "number",
      "default": "115200",
      "description": "Console baud rate"
    },
    {
      "name": "STLINK_MCP_GDB_PORT",
      "format": "number",
      "default": "61234",
      "description": "First GDB server port; each probe's server takes this port and the next"
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "stlink-mcp": {
      "command": "uvx",
      "args": [
        "stlink-mcp==0.8.6"
      ],
      "env": {
        "STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
        "STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
        "STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
        "STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
        "STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
        "STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "stlink-mcp": {
      "command": "uvx",
      "args": [
        "stlink-mcp==0.8.6"
      ],
      "env": {
        "STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
        "STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
        "STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
        "STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
        "STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
        "STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "stlink-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "stlink-mcp==0.8.6"
      ],
      "env": {
        "STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
        "STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
        "STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
        "STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
        "STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
        "STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "stlink-mcp": {
      "command": "uvx",
      "args": [
        "stlink-mcp==0.8.6"
      ],
      "env": {
        "STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
        "STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
        "STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
        "STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
        "STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
        "STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
      }
    }
  }
}

Let your agent find its tools

Find servers like stlink-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.