Skip to main content
Glama

mcpnew

Test

MCP-Server mit sicheren Standardeinstellungen generieren — TypeScript oder JavaScript, mit Deny-all-Berechtigungen, typisierten Tool-Stubs und vorverdrahteten Audit-Hooks.

Das Problem

Jeder handgebaute MCP-Server beginnt auf dieselbe Weise: Man kopiert eine Demo aus der Doku, registriert Tools nach und nach und hofft, dass niemand fragt: „Moment, kann dieses Tool mein Home-Verzeichnis lesen?“ Berechtigungen landen versehentlich bei Allow-all. Audit-Logging ist ein TODO. Eingabeschemata weichen von den Handlern ab.

mcpnew kehrt den Standard um. Jede Fähigkeit, die Ihr Server bereitstellt, startet verweigert, jeder Tool-Aufruf läuft durch einen Audit-Hook, und jeder Tool-Stub ist einmal typisiert auf Schemaebene.

Related MCP server: mcp-data-gateway

Installation

npm install -g mcpnewcli

Keine Laufzeitabhängigkeiten. Node 18+.

30-Sekunden-Schnellstart

# 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

Das war's. mcpnew audit beendet sich mit einem Exit-Code ungleich Null, wenn das Manifest nicht mehr Deny-all ist, wenn einem registrierten Tool sein requireAllowed()-Gate fehlt oder wenn Audit-Hooks nicht verdrahtet sind — binden Sie es in CI ein und bleiben Sie konstruktionsbedingt sicher.

In CI einbinden

Fügen Sie dies in das Repository des generierten Servers ein (.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

Jeder Befund — eine gelockerte Standardeinstellung, ein Tool ohne Gate, ein unverdrahteter Hook — führt zu einem Exit-Code ungleich Null und lässt den Check fehlschlagen, bevor er gemerged werden kann.

Was Sie bekommen

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-all-Berechtigungen — Tools, Ressourcen, Prompts, Netzwerk, Dateisystem: alles standardmäßig auf deny. Wildcards werden rundweg abgelehnt.

  • Typisierte Tool-Stubs — mcpnew add-tool <name> fügt einen mit Zod-Schema versehenen Stub ein, der über das Gate und den Audit-Hook läuft. Sie schreiben den Rumpf; das Gerüst ist bereits korrekt.

  • Vorverdrahtete Audit-Hooks — jeder Aufruf protokolliert Zeitstempel, Tool, Argumente, Ergebnis und Dauer in logs/audit.jsonl.

Konfiguration

Die generierte mcp.permissions.json:

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

Stellen Sie Einträge bewusst einzeln auf "allow" um, nachdem Sie gelesen haben, was das Tool tut. mcpnew audit verifiziert, dass Sie nicht mehr gelockert haben, als Sie beabsichtigt haben.

Pro

Sie liefern MCP-Server an Produktionsteams? mcpnew Pro ($9/Monat) fügt Policy-as-Code-Review-Workflows hinzu: Pull-Request-Diffs von Berechtigungsmanifesten mit erforderlicher Freigabe, bevor ein deny zu allow wechselt, organisationsweiter Audit-Log-Versand (Splunk/Datadog/Loki) und einen Compliance-Bericht, der jede Tool-Berechtigung ihrem Genehmigungsdatensatz zuordnet. Eine Stufe, keine Sitzplatzberechnung. Lizenz über Gumroad — Link-Platzhalter.

Lizenz

MIT


Teil des stealth-alpha toolkit — acht CLIs ohne Abhängigkeiten für Release-Automatisierung, Agentensicherheit und Repository-Hygiene.

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