Skip to main content
Glama

mcpnew

Test

安全が既定のMCPサーバーの雛形 — TypeScriptまたはJavaScriptで、全拒否権限・型付きツールスタブ・監査フックをあらかじめ配線。

問題

手作りMCPサーバーはどれも同じ始まり方をする。ドキュメントのコピー、ツールの登録、"ちょっと待って、そのツールって私のホームディレクトリを読み取れるの?"という疑問が起きる。権限は事故で全許可になってしまう。監査ログはTODO。入力スキーマはハンドラーから逸れる。

mcpnew は初期設定を逆転させる。サーバーが公開するすべての機能は 拒否 で始まり、すべてのツール呼び出しは 監査フック を通過し、すべてのツールスタブはスキーマレベルで型付けされる。

Related MCP server: mcp-data-gateway

インストール

npm install -g mcpnewcli

実行時依存関係ゼロ。Node.js 以降。

30秒クイックスタート

# 1. Scaffold (JavaScript default; add --lang ts for TypeScript)
mcpnew create my-server && cd my-server && npm install

# 2. Add a typed tool stub — it lands DENIED in mcp.permissions.json
npx mcpnewcli add-tool search-files

# 3. Review, implement, then explicitly allow:
#    "tools": { "search-files": "allow" }

# 4. Keep yourself honest
npx mcpnewcli audit

これだけ。 mcpnew audit can fail non-zero if the manifest stops being deny-all, if any registered tool lacks its requireAllowed() gate, or if audit hooks are unwired —wire it into CI and stay secure by construction.

配線

Scaffolded server's repo (.github/workflows/audit.yml) にこれを含める:

name: mcp-security-audit
on: [push, pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx --yes mcpnewcli audit

whichは、緩んだデフォルト、ゲートのないツール、配線のないフック — すべて非ゼロで終了し、マージ前にチェックが失敗する。

得られるもの

my-server/
├── src/server.js          # MCP server: typed tool stubs + permission gates + audit hooks
├── src/audit.js           # JSONL audit trail → logs/audit.jsonl (gitignored)
├── src/manifest.js        # manifest loader (+ TS types on --lang ts)
├── test/server.test.js    # tests asserting the deny-all posture holds
└── mcp.permissions.json   # deny-all permission manifest — the source of truth
  • 全拒否権限 — ツール、リソース、プロンプト、メッセージ、ファイルシステム: すべて deny がデフォルト。ワイルドカードは即座に拒否。

  • 型付きツールスタブ — mcp add-tool <name> は、zodスキーマで型付けされ、ゲートと監査フックを通して配線されたスタブを挿入します。本体を書き、足場はすでに正しい。

  • 監査フックの事前配線 — すべての呼び出しは、タイムスタンプ、ツール、引数、結果、所要時間を logs/audit.jsonl に記録します。

設定

生成された mcp.json:

{
  "version": 1,
  "default": "deny",
  "tools": { "ping": "deny" },
  "resources": { "default": "deny" },
  "prompts": { "default": "deny" },
  "network": { "default": "deny", "allowlist": [] },
  "filesystem": { "default": "deny", "paths": [] }
}

エントリを "allow" に切り替える, 一度に一つ、ツールの機能を読んだ後に。mcp audit は、意図しない緩みがないか検証する。

Pro

MCPサーバーを本番環境に送る? mcpnew Pro($9/月)は、ポリシーをコードとしてレビューするワークフローを追加: 権限マニフェストのPR差分を必須サインオフ付きで取得, ポリシーのdeny が allow に切り替わる前に、調整された監査ログの転送(Splunk/Datadog/Loki)、各ツール権限をその承認記録にマッピングしたコンプライアンスレポート。ワンティア、シート計算なし。ライセンスはGumroad — リンクプレースホルダー。

ライセンス

MIT


stealth-alpha toolkit の一部 — リリース自動化、リポジトリセキュリティのためのゼロ依存CLI8本。# mcpnew

mcpnew は、MCPサーバーのセキュリティデフォルトの雛形です。TypeScriptまたはJavaScriptで、全拒否権限、型付きツールスタブ、監査フックを事前配線済み。

問題

手作りのMCPサーバーは、どのサーバーも同じ発想から始まります。ドキュメントのコピー、ツールの登録、「待って、あのツールってホームディレクトリを読み取れるの?」と誰かが尋ねるのを期待しながら。権限は最終的に事故で全許可になる。監査ログはTODO項目になる。入力スキーマはハンドラーから乖離している。

mcpnew はデフォルトを逆転させます。サーバーが公開するすべての機能は拒否から始まり、すべてのツールの呼び出しは監査フックを通過し、すべてのツールスタブはスキーマレベルで型付けされます。

インストール

npm install -g mcpnewcli

ランタイム依存ゼロ。Node.js 18+。

30秒クイックスタート

# 1. Scaffold (JavaScript default; add --lang ts for TypeScript)
mcpnew create my-server && cd my-server && npm install

# 2. Add a typed tool stub — it lands DENIED in mcp.permissions.json
npx mcpnewcli add-tool search-files

# 3. Review, implement, then explicitly allow:
#    "tools": { "search-files": "allow" }

# 4. Keep yourself honest
npx mcpnewcli audit

これだけです。mcpnew audit は、マニフェストが拒否全般でなくなるか、登録済みツールに requireAllowed() ゲートがない場合、監査フックの配線が切れた場合、非ゼロで失敗します。CIに配線して、構造的に安全に保ちましょう。

CIに配線する

スキャフォールドサーバーのリポジトリ(.github/workflows/audit.yml)にこれをドロップイン:

name: mcp-security-audit
on: [push, pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx --yes mcpnewcli audit

どこかの発見: 緩んだデフォルト、ゲートのないツール、ワイヤーのないフック、非ゼロで終了してマージ前にチェックを失敗します。

手に入るもの

my-server/
├── src/server.js          # MCP server: typed tool stubs + permission gates + audit hooks
├── src/audit.js           # JSONL audit trail → logs/audit.jsonl (gitignored)
├── src/manifest.js        # manifest loader (+ TS types on --lang ts)
├── test/server.test.js    # tests asserting the deny-all posture holds
└── mcp.permissions.json   # deny-all permission manifest — the source of truth
  • 全拒否権限 — ツール、リソース、プロンプト、メッセージ、ファイルシステム: すべてのデフォルトはおそらく拒否。ワイルドカードは即座に却下。

  • 型付きツールスタブ — mcp add-tool <name> は、zodスキーマで型付けされ、ゲートと監査フックをワイヤリングしたスタブを挿入します。本体を書き、足場は既に正しい状態にあります。

  • 事前配線済み監査フック — すべての呼び出しで、タイムスタンプ、ツールと引数、アウトカム、期間をlogs/audit.jsonl が記録します。

設定

生成される mcp.json:

{
  "version": 1,
  "default": "deny",
  "tools": { "ping": "deny" },
  "resources": { "default": "deny" },
  "prompts": { "default": "deny" },
  "network": { "default": "deny", "allowlist": [] },
  "filesystem": { "default": "deny", "paths": [] }
}

一度に一つずつ、ツールが何をするかを読んでから、エントリを "allow" に替える。mcp audit は、意図した以上に緩めていないか検証します。

Pro

MCPサーバーを本番環境に出荷する? Mcp Pro ($9/mo) は、ポリシーコードレビューとしてワークフローを追加: 権限マニフェストのプルリク diff を必須サインオフ付きで取得、deny が allow の前に、転じる前に必要な承認などのポリシー、調整済み監査ログ(Splunk/Datadog/Loki)と、各ツール権限を承認記録に対応付けるコンプライアンスレポート。ワンティア、シート数なし。ライセンスはGumroad — リンクプレースホルダー。

—

ライセンス

MIT


stealth-alpha toolkit の一部 — リリース自動化、リポジトリセキュリティのための8つのゼロ依存CLIます。## mcp-new

セキュリティがデフォルトの MCP サーバーの雛形。TypeScript か JavaScript で、全拒否権限・型付きスタブ・監査フックをあらかじめ配線。

問題

どの手作り MCP サーバーも、デモのコピー、ツールの登録、「ちょっと待って、そのツールって ホームディレクトリを読めるの?」と誰かが尋ねるのを期待するところから始まる。パーミッションは結局 全許可で終わる。監査は TODO。入力スキーマはハンドラーから漂流する。

mcpnew はデフォルトを逆転させる。サーバーが公開するすべての能力は 拒否 から始まり、すべてのツール呼び出しは 監査フック を通過し、すべてのツールスタブは スキーマレベルで一回型付けされる。

インストール

GXP1。

ランタイム依存ゼロ。Node.js 18+。

30秒クイックスタート

# 1. Scaffold (JavaScript default; add --lang ts for TypeScript)
mcpnew create my-server && cd my-server && npm install

# 2. Add a typed tool stub — it lands DENIED in mcp.permissions.json
npx mcpnewcli add-tool search-files

# 3. Review, implement, then explicitly allow:
#    "tools": { "search-files": "allow" }

# 4. Keep yourself honest
npx mcpnewcli audit

だけ。mcpnew audit は、マニフェストが拒否全 拒否 でなくなったら、登録ツールが requireAllowed() ゲートを欠く、監査フックの配線が外れたら、非ゼロで失敗し、マージ前にチェックを失敗させる。

CI に配線する

雛形サーバーのリポジトリ(.github/workflows/audit.yml)にドロップ:

name: mcp-security-audit
on: [push, pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx --yes mcpnewcli audit

何が見つかっても、緩んだデフォルト、ゲートなしツール、配線なしフック、非ゼロで終了してマージ前にチェックが失敗する。

手に入るもの

my-server/
├── src/server.js          # MCP server: typed tool stubs + permission gates + audit hooks
├── src/audit.js           # JSONL audit trail → logs/audit.jsonl (gitignored)
├── src/manifest.js        # manifest loader (+ TS types on --lang ts)
├── test/server.test.js    # tests asserting the deny-all posture holds
└── mcp.permissions.json   # deny-all permission manifest — the source of truth
  • 全拒否パーミッション — ツール、リソース、プロンプト、メッセージファイルシステム: すべてのデフォルトは deny。ワイルドカードは即座に拒否。

  • 型付きツールスタブ — mcp add-tool <name> は、zod スキーマで型付けされ、ゲートと監査フックを通して配線されたスタブを挿入。本体は作り、足場はすでに正しい。

  • 監査フックの事前配線 — すべての呼び出しについて、タイムスタンプ、ツール、引数、結果、所要時間を logs/audit.jsonl に記録する。

設定

生成された mcp.json:

{
  "version": 1,
  "default": "deny",
  "tools": { "ping": "deny" },
  "resources": { "default": "deny" },
  "prompts": { "default": "deny" },
  "network": { "default": "deny", "allowlist": [] },
  "filesystem": { "default": "deny", "paths": [] }
}

意図的に、一度に一つずつ、ツールが何をするか読んでから "allow" に反転させる。mcp audit は、意図した以上に緩めていないか検証します。

プロ版

MCP サーバーを本番に出荷する? mcp Pro(月9ドル)は、ポリシーとしてワークフローを追加します: 権限マニフェストのPR差分を必須サインオフ付きで取得、deny が allow に反転する前に必要な承認などのポリシー、調整された監査ログ配線(Splunk/Datadog/Loki)、各ツール権限を承認記録にマッピングするコンプライアンスレポート。1ティア、シート計算なし。ライセンスはGumroad — リンクプレースホルダー。

—

ライセンス

MIT


stealth-alpha toolkit の一部 — リリース自動化、リポジトリセキュリティのための8つのゼロ依存CLIです。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides production-grade starter templates for MCP servers with permission boundaries, integration tests, and eval contracts, enabling rapid development of secure and testable MCP servers.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enforces identity-based access control and audit logging for MCP servers, letting you grant fine-grained tool permissions to users and systems while failing secure by default.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables developers to build production-grade MCP servers with secure defaults, validated inputs, and CI security audits from the first commit.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables developers to scaffold production-ready MCP servers with typed tools, resources, prompts, transports, authentication, and database integrations.
    MIT