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

Janusmcp

作者:baywayバージョン 0.6.2i★ –iパソコンで動く
レジストリ名io.github.Bayway/janusmcp

インストール

概要

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

Multi-account tool broker for AI agents — CLI and MCP.

PopNx MCPの3つの柱

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

できること

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

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール

インストール

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

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

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

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

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

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

{
  "mcpServers": {
    "janusmcp": {
      "command": "npx",
      "args": [
        "-y",
        "@bayway/janusmcp"
      ]
    }
  }
}

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

claude mcp add janusmcp -- npx -y @bayway/janusmcp

Cursorで開く

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

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

{
  "mcpServers": {
    "janusmcp": {
      "command": "npx",
      "args": [
        "-y",
        "@bayway/janusmcp"
      ]
    }
  }
}

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

VS Codeで開く

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

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

{
  "servers": {
    "janusmcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@bayway/janusmcp"
      ]
    }
  }
}

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

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

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

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

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

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

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

開発者ツールのほかのサーバーとの比較i

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

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

よくある質問

Janusmcpは安全ですか?

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

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

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

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

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

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

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

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

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

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

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

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

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

パソコンでもクラウドでも★ 34,245MIT4 日前更新
インストール

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

パソコンで動く★ 10,225MIT16 日前更新
インストール

作者のREADME

READMEを開く

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

JanusMCP

One credential broker. Every account. From the CLI or MCP. Multi-account tool access for AI agents, with credentials kept local.

One-click buttons require the npm package to be published. See RELEASING.md .

The problem

If you work with more than one company, you use the *same* MCP server (Supabase, GitHub, Slack…) with different identities — a different account, email and token per client. Today most LLM clients hold one account at a time per connector: to switch client you disconnect, reconnect, and redo the OAuth login. Every time.

The MCP protocol has no notion of "account": one session = one identity = one set of credentials. JanusMCP fills that gap.

What it does

JanusMCP is a local multi-account tool broker for AI agents. It can be used directly from the CLI or as an MCP server in front of the real upstream servers:

  • Add N accounts once for the same service and keep them all available.
  • Switch identity without reconnecting — no re-login, no fiddling with config.
  • Works with any LLM client — it just speaks standard MCP (stdio + Streamable HTTP).
  • Works without an MCP session too — agents can drive it directly from the CLI (code-execution mode): janusmcp tools / schema / call invoke tools on demand, with no bulk tool definitions loaded upfront.
  • Runs locally — your machine, your keychain, your control.
  • Keeps the context clean — it exposes only the *active* account's tools, not N×tools.
                 ┌─────────────────────────────┐   ┌─ Supabase (Client A)

LLM client ─MCP─▶│ JanusMCP broker │─▶ ├─ Supabase (Client B) (Claude/GPT/ │ active-account · vault · │ ├─ GitHub (Client A) Gemini/…) │ per-session scoping │ └─ … └─────────────────────────────┘

You drive it with three control tools that appear in any client: janus_list_accounts, janus_use_account, janus_whoami.

Choose your mode

Use from the CLI — Claude Code, Codex, Cursor, scripts
npm install -g @bayway/janusmcp

janusmcp tools janusmcp schema list_tables janusmcp call list_tables --args '{"schemas":["public"]}' --json --timeout 30s

The CLI discovers schemas only when needed, accepts JSON through --args or stdin, supports explicit accounts/profiles, and provides stable exit codes. See the CLI guide and copyable agent instructions.

Connect over MCP — desktop and chat clients
npx @bayway/janusmcp serve

or configure a supported client automatically:

janusmcp install claude-desktop

Both modes share the same config, OS-keychain vault, OAuth tokens and persisted active account. Use janusmcp daemon start to keep upstream sessions warm across repeated CLI calls.

Install

Once released, install via your favorite channel (all published automatically on each tag — see RELEASING.md):

npx @bayway/janusmcp serve                       # npm / MCP mode

brew install bayway/janusmcp/janusmcp # Homebrew (macOS/Linux) scoop install janusmcp # Windows docker run --rm -p 7332:7332 ghcr.io/bayway/janusmcp:latest

…or download a prebuilt binary from Releases.

Build from source (60-second quickstart)

git clone https://github.com/bayway/janusmcp

cd janusmcp/go make build # produces ./bin/janusmcp cp config.example.json config.json # edit with your accounts ./bin/janusmcp serve # stdio, for Claude Desktop/Code

Two Supabase clients, PATs kept in your OS keychain (never in the config):

./bin/janusmcp vault set supabase_client_a   # paste the PAT

./bin/janusmcp vault set supabase_client_b

// config.json

{ "bindingMode": "session", "accounts": [ { "id": "client_a", "service": "supabase", "command": "npx", "args": ["-y", "@supabase/mcp-server-supabase@latest", "--read-only", "--project-ref=REF_A"], "env": { "SUPABASE_ACCESS_TOKEN": "vault:supabase_client_a" } }, { "id": "client_b", "service": "supabase", "command": "npx", "args": ["-y", "@supabase/mcp-server-supabase@latest", "--read-only", "--project-ref=REF_B"], "env": { "SUPABASE_ACCESS_TOKEN": "vault:supabase_client_b" } } ] }

Add it to Claude Desktop:

{ "mcpServers": { "janusmcp": {

"command": "/abs/path/janusmcp/go/bin/janusmcp", "args": ["serve"], "env": { "JANUS_CONFIG": "/abs/path/janusmcp/go/config.json" } } } }

For ChatGPT / Gemini / Cursor / Copilot, run HTTP and point them at the URL:

JANUS_TRANSPORT=http JANUS_HTTP_PORT=7332 ./bin/janusmcp serve

→ http://127.0.0.1:7332/mcp

Commands

Run janusmcp help for the full reference. The essentials:

CommandWhat it does
janusmcp serveRun the broker (default). Transports via env: `JANUS_TRANSPORT=stdio\http\both, JANUS_HTTP_HOST, JANUS_HTTP_PORT`.
janusmcp tools [selector]Compact tool list for the active (or given) account/profile. --json for full definitions; optional --timeout.
janusmcp schema Full JSON definition of one tool. --account disambiguates; optional --timeout.
janusmcp call Invoke a tool. Supports --account, --args, stdin, stable --json, and optional --timeout.
janusmcp use Persist the active selector for future CLI commands and new MCP sessions.
`janusmcp daemon start\stop\restart\status`Manage the optional loopback-only daemon that reuses upstream sessions.
janusmcp uiOpen the local control panel — add accounts, log in, set secrets.
janusmcp add [id]Add an account from a template (janusmcp catalog lists them).
janusmcp catalogList the built-in account templates.
janusmcp connect Connect an account; for remote OAuth, opens the browser.
janusmcp statusShow each account's login/secret status (no secret values).
janusmcp vault set / delete Store / remove a secret in the OS keychain.
janusmcp login OAuth loopback login; token referenced as oauth: .
janusmcp providersList built-in OAuth providers.
janusmcp install Configure an LLM client to launch JanusMCP.
janusmcp uninstall Remove JanusMCP from an LLM client's config.
janusmcp version · janusmcp helpVersion · this reference.

Supported values for install / uninstall: claude-desktop, claude-code, cursor, vscode, gemini, codex, chatgpt, print. Run janusmcp install list (or uninstall list) to see each target and whether it's already configured.

janusmcp install claude-desktop      # one-command setup

janusmcp uninstall claude-desktop # clean removal (restart the client afterwards)

Inside any connected client you also get the control tools janus_list_accounts, janus_use_account, janus_whoami, janus_login, janus_use_profile, and janus_with_account.

Profiles — a whole client's stack at once

A profile groups accounts of the same client across different services. Activating it exposes the tools of *all* its accounts together, and each call is routed to the right upstream:

// config.json

{ "accounts": [ { "id": "supabase_a", "service": "supabase", "transport": "http", "url": "https://mcp.supabase.com/mcp", "auth": "oauth" }, { "id": "github_a", "service": "github", "transport": "http", "url": "https://api.githubcopilot.com/mcp/", "auth": "oauth" } ], "profiles": { "client_a": ["supabase_a", "github_a"] } }

Then in chat: janus_use_profile with { "profile": "client_a" } → Supabase and GitHub tools for Client A are available simultaneously. Colliding tool names across accounts are namespaced ( _ ).

One-shot cross-account calls

janus_with_account runs a single call on another account without changing the active one — e.g. { "account_id": "client_b", "tool": "list_tables" }. Omit tool to list that account's available tools first.

Code-execution mode — context-efficient tools from the terminal

Loading every MCP tool definition into an LLM context is expensive. In code-execution mode an agent (or you) invokes tools on demand from the shell instead — à la "code execution with MCP" — so the context holds only the results it actually asked for:

janusmcp tools                        # compact list for the active account/profile

janusmcp tools client_a # ...or any account/profile explicitly janusmcp schema list_tables # full input schema of ONE tool, only when needed janusmcp call list_tables --args '{"schemas":["public"]}' janusmcp call ping --account azienda_b # cross-account without switching echo '{"sql":"select 1"}' | janusmcp call db_query # JSON args via stdin too janusmcp call ping --json --timeout 30s # stable envelope for agents

call prints the tool's text content to stdout and exits non-zero on a tool error, so it composes with pipes and scripts. Selectors resolve exactly like in the broker: the persisted active account by default, or any account id / profile name; a name that collides across a profile's accounts must be disambiguated with --account. Secrets resolve through the same vault/OAuth stack as serve — nothing extra to configure.

This makes JanusMCP a first-class citizen for CLI-driven agents (Claude Code, Codex, Cursor agents, or any agent with shell access): instead of registering it as an MCP server, just tell the agent that janusmcp tools / schema / call exist. Discovery, schemas and invocation happen on demand, credentials stay in the keychain, and multi-account switching works the same as over MCP. Both modes share the config and the persisted active account, so you can mix them freely.

For repeated calls, janusmcp daemon start launches an authenticated loopback-only broker. tools, schema, and call auto-detect it and reuse its upstream sessions; --direct bypasses it and --daemon requires it. Set JANUS_DAEMON=auto|require|off to choose a default policy.

Key features

Multi-account, one endpointN identities for the same service, no reconnecting
Identity scopingper-call → per-session → global, via `bindingMode: global \session \locked. Session scope needs a real connection: stdio and legacy HTTP have one; MCP 2026-07-28 removed sessions, so there it is per-call (janus_with_account`) or global

| **Dual transport*

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

PopNxに聞く