プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Samuraizer

作者:UladzKhaバージョン 0.1.7i★ –iパソコンで動く
レジストリ名io.github.UladzKha/samuraizer

インストール

概要

作者による説明(英語の原文)

Local MCP server for meeting transcripts, summaries, action items & decisions — no cloud.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: SAMURAIZER_MEETINGS_DIR

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "samuraizer": {
      "command": "npx",
      "args": [
        "-y",
        "@samuraizer/mcp-server"
      ],
      "env": {
        "SAMURAIZER_MEETINGS_DIR": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add samuraizer --env SAMURAIZER_MEETINGS_DIR=your-value -- npx -y @samuraizer/mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "samuraizer": {
      "command": "npx",
      "args": [
        "-y",
        "@samuraizer/mcp-server"
      ],
      "env": {
        "SAMURAIZER_MEETINGS_DIR": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "samuraizer": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@samuraizer/mcp-server"
      ],
      "env": {
        "SAMURAIZER_MEETINGS_DIR": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • SAMURAIZER_MEETINGS_DIR env
    Directory containing processed meetings, overriding meetingsDir from the Samuraizer config file. A config file is still required — run 'samuraizer init' first.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント UladzKha で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32727件のうち0%よりスターが多い
  • このカテゴリのほかの32727件のうち34%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32727件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Samuraizerは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.7)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Foliosio

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

Foliosio

作者:foliosio.com

Read your support inbox, tag conversations and save draft replies from your AI agent. Never sends.

クラウドで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@samuraizer/mcp-server

Local-first MCP server that gives AI agents access to your meeting recordings — transcripts, summaries, action items, and decisions — without sending anything to the cloud.

Model Context Protocol server for Samuraizer — exposes processed meetings to AI agents (Claude Desktop, Claude Code, MCP Inspector, etc.) over stdio.

Tools at a glance

  • `normalize_audio` — Normalize an audio file to 16kHz mono PCM WAV format required by Whisper.
  • `transcribe_audio` — Transcribe an audio file using whisper.cpp. Returns the transcript text.
  • `summarize_transcript` — Generate a concise meeting summary from transcript text.
  • `extract_action_items` — Extract action items from a meeting transcript. Returns a JSON list of tasks with owner and due date.
  • `extract_decisions` — Extract confirmed decisions from a meeting transcript. Returns a JSON list of decisions.
  • `process_recording` — Run the full Samuraizer pipeline on an audio file. Returns summary, action items, decisions, and output file paths.
  • `search_meetings` — Search meetings by summary text, name, action items, and decisions. Transcripts are not searched — use get_meeting for those. Returns ranked results with snippets.
  • `list_meetings` — List all processed meetings, sorted newest first. Optionally limit results.
  • `get_meeting` — Retrieve the full processed output for a specific meeting by id.
  • `meeting://{id}` *(resource)* — A single processed meeting, accessible by its ULID.

Full input and output details for each tool are in Tools below.

The server provides two modes:

  • Query mode — list and retrieve previously processed meetings as structured data or as MCP resources. Read-only, no LLM or audio dependencies needed at runtime.
  • Process mode — run the full Samuraizer pipeline (normalize → transcribe → summarize → extract action items / decisions) on an audio file. Requires the same local toolchain as samuraizer itself: whisper-cli, ffmpeg, ffprobe, and a running Ollama instance.

Everything stays local. The server reads meetings from a directory on your machine and never sends data to any external service.

Prerequisites

This package depends on @samuraizer/cli for its config and pipeline. Before using the MCP server, install and initialize the CLI:

npm install -g @samuraizer/cli

samuraizer init

Edit the generated config (path printed by samuraizer config path) and make sure meetingsDir points to the directory where your processed meetings live. The MCP server reads from that same directory.

For process mode, you additionally need the Samuraizer runtime dependencies installed and configured: whisper-cli from whisper.cpp, ffmpeg / ffprobe, and a running Ollama server with a pulled model. See the main Samuraizer README for setup details.

For query mode only (list_meetings, get_meeting, meeting:// resources), none of the runtime dependencies are required — just a populated meetingsDir.

Installation

npm install -g @samuraizer/mcp-server

This exposes a samuraizer-mcp binary on your PATH.

Usage

Run the server directly
samuraizer-mcp

The server speaks MCP over stdio. It is not meant to be used interactively from a shell — it is intended to be launched by an MCP client such as Claude Desktop or MCP Inspector.

Inspect with MCP Inspector
npx @modelcontextprotocol/inspector samuraizer-mcp

Opens a browser UI where you can list tools and resources, call them with arguments, and see responses. Useful for debugging.

Connect from Claude Desktop

Add the server to your Claude Desktop configuration file:

  • macOS / Linux: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/Claude/claude_desktop_config.json (Linux)
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{

"mcpServers": { "samuraizer": { "command": "samuraizer-mcp" } } }

If samuraizer-mcp is not found by Claude Desktop (PATH issues are common with version managers like fnm, nvm, or volta), use an absolute path instead. Find it with which samuraizer-mcp, then:

{

"mcpServers": { "samuraizer": { "command": "/absolute/path/to/samuraizer-mcp" } } }

You can also override the meetings directory per-server via environment variables:

{

"mcpServers": { "samuraizer-personal": { "command": "samuraizer-mcp", "env": { "SAMURAIZER_MEETINGS_DIR": "/Users/me/personal-meetings" } }, "samuraizer-work": { "command": "samuraizer-mcp", "env": { "SAMURAIZER_MEETINGS_DIR": "/Users/me/work-meetings" } } } }

Restart Claude Desktop after editing the config.

Connect from Claude Code
claude mcp add samuraizer samuraizer-mcp

See the Claude Code MCP documentation for managing MCP servers from the CLI.

Configuration

The MCP server reads the same config file as @samuraizer/cli. There is no separate config for the server itself.

Environment variable overrides

All config fields accept env-var overrides, useful for running the server in different contexts (e.g. one MCP server per project):

VariableMaps to
SAMURAIZER_MEETINGS_DIRmeetingsDir
SAMURAIZER_MODELmodel
SAMURAIZER_OLLAMA_BASE_URLollamaBaseUrl
SAMURAIZER_WHISPER_COMMANDwhisperCommand
SAMURAIZER_WHISPER_MODEL_PATHwhisperModelPath
SAMURAIZER_WHISPER_DEVICEwhisperDevice
SAMURAIZER_WHISPER_PROMPTwhisperPrompt
SAMURAIZER_WHISPER_CARRY_INITIAL_PROMPTwhisperCarryInitialPrompt
SAMURAIZER_LANGUAGElanguage
SAMURAIZER_FFMPEG_COMMANDffmpegCommand
SAMURAIZER_FFPROBE_COMMANDffprobeCommand
SAMURAIZER_LLM_CONCURRENCYllmConcurrency

Env vars override values from the config file. Booleans accept 1/0, true/false, yes/no, or on/off.

llmConcurrency defaults to 1, so process_recording runs summary, action-item, and decision extraction sequentially on all hardware. Values 2 and 3 explicitly opt into parallel Ollama requests and require enough spare VRAM for additional KV-cache slots.

Tools

Query mode
search_meetings

Search processed meetings by summary text, meeting name, action items, and decisions.

Transcripts are deliberately not searched — they are one to two orders of magnitude larger than the fields above, and scanning them on every query would not scale. Use get_meeting when you need the transcript.

Input:

  • query *(string, required)* — search query, case-insensitive. See Query syntax.
  • limit *(integer, optional)* — maximum results to return (default 10).

Returns: JSON array of ranked results, each with id, name, generated_at, duration_sec, score, matched_in (any of summary, name, action_items, decisions), and a snippet around the best match. Results are ranked by how many fields matched — a summary hit weighs more than a name, action-item, or decision hit — with ties broken by recency. Useful for finding a specific meeting without enumerating all of them.

Query syntax

The query is split into words, and a meeting matches only when every word is found. The words do not have to share a field, so patient id post log matches a meeting whose summary mentions the patient ID and whose action items mention the post log.

Each word matches as a substring, so export finds exporter.

Wrap the query in double quotes to require an exact phrase instead:

patient id post log      → all four words, anywhere in the searched fields

"patient id post log" → that exact run of characters, in one field

A meeting containing the whole query verbatim scores above one that merely scatters the same words, so exact matches still surface first.

list_meetings

List processed meetings, sorted newest first.

Input:

  • limit *(integer, optional)* — maximum number of results to return.

Returns: JSON array of meeting summaries (id, name, generated_at, summary_preview, participant_count, duration_sec).

get_meeting

Retrieve the full processed output for a specific meeting.

Input:

  • id *(string, required)* — the meeting ID (ULID).

Returns: the full meeting JSON, including transcript, summary, action items, decisions, and provenance metadata. Returns an error if the meeting is not found.

Process mode

These tools run parts of the Samuraizer pipeline on demand. They have local runtime dependencies (whisper-cli, ffmpeg, Ollama).

process_recording

Run the full pipeline on an audio file. Recommended entrypoint for processing recordings via an agent.

Input:

  • filePath *(string, required)* — absolute path to the audio file.
  • model *(string, optional)* — Ollama model to use; falls back to the configured default.

Returns: JSON with summary, action items, decisions, and output file paths.

normalize_audio

Normalize an audio file to 16 kHz mono PCM WAV (the format Whisper expects).

Input: inputPath, outputPath (both required absolute paths).

transcribe_audio

Transcribe an audio file with whisper.cpp.

Input: filePath (required absolute path).

summarize_transcript

Generate a meeting summary from transcript text.

Input: transcriptText (required), model (optional).

extract_action_items

Extract action items from a transcript.

Input: transcriptText (required), model (optional).

extract_decisions

Extract confirmed decisions from a transcript.

Input: transcriptText (required), model (optional).

Resources

The server exposes each processed meeting as an MCP resource:

  • URI scheme: meeting://{id}
  • MIME type: application/json
  • Content: the full meeting JSON, identical to what get_meeting returns.

Listing resources returns one entry per meeting in meetingsDir. Reading a resource returns its full content. Resources are particularly useful for clients that surface them in their UI (e.g. Claude Desktop's resource picker).

Meeting output format

All meeting JSON conforms to the open Samuraizer meeting-output schema, which describes meeting structure, transcript segments, summaries, action items, decisions, and provenance metadata.

The schema and its specification live in the memnex-spec package:

Troubleshooting

Error: The config file is not created, please run 'samuraizer init'

The MCP server uses the same config as the CLI. Install @samuraizer/cli and run samuraizer init first.

Server starts but list_meetings returns an empty array

Either meetingsDir is empty, or all meeting.json files in it failed schema validation. The server logs structured warnings to stderr for each invalid meeting it skips — check the terminal where the MCP server is running (or the Claude Desktop logs at `~/Library/Logs/Claude/mcp-serv

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く