Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Run security checks against your own MCP server in CI, and see the findings in GitHub

Описание и применение

Инструмент protocolprobe-selftest запускает ваш собственный сервер MCP, подключается к нему как клиент, выполняет набор проверок и выводит результаты, которые можно интегрировать в GitHub Actions через SARIF.

Задача

Most MCP security tooling only reads server tool descriptions and cannot observe actual runtime behavior of a server when a client calls it.

Результат

The tool provides a runtime check of an MCP server, reporting passed, failed, and not-run checks, and can integrate findings into GitHub code scanning via SARIF.

Рабочий процесс

  • 1. Install the tool via npx protocolprobe-selftest.
  • 2. Run the tool with --i-own-this-server and --stdio followed by the server command (e.g., node ./dist/server.js).
  • 3. For mutating or fuzzing checks, add --allow-mutating and --allow-fuzzing and output to a JSON file.
  • 4. In CI, add --fail-on-finding and --sarif to generate a SARIF file and fail the job on vulnerabilities.
  • 5. Upload the SARIF file with github/codeql-action/upload-sarif@v3 using if: always() to ensure upload even on failures.
  • 6. For deployed servers, use --url to prove ownership, add the proof line to the server’s instructions, and re-run within 30 minutes.

Доказательства

Most MCP security tooling reads a server's tool descriptions. That finds text that looks suspicious. It does not tell you what your server does when a client calls it.

Источник

This post is about a small command-line tool that does the second thing, for a server you run: it starts your server, connects as an MCP client, calls it, and reports what it observed.

Источник

npx protocolprobe-selftest --i-own-this-server --stdio node ./dist/server.js

Источник

--fail-on-finding makes the job exit with code 5 when a check needs attention (VULNERABLE or FOUND). Without it the exit code is 0 whatever the result.

Источник

I have not run this exact workflow end to end for this post; the command line and the exit-code behaviour are from the tool's tests and documentation.

Источник

  • Дата записи: 2026-11-02T04:14:09.757Z