mcpnew
mcpnew
默认安全地搭建 MCP 服务器 —— TypeScript 或 JavaScript,预置全部拒绝权限、类型化工具桩和审计钩子。
问题所在
每个手工搭建的 MCP 服务器都是同样的起点:从文档复制一个演示,边做边注册工具,然后祈祷没人问"等等,那个工具能读我的主目录吗?"权限最终在无意中变成全部允许。审计日志是 TODO。输入模式与处理器逐渐脱节。
mcpnew 反转了默认值。你的服务器暴露的每项能力默认拒绝,每次工具调用都经过审计钩子,每个工具桩都在模式层面只类型化一次。
Related MCP server: mcp-data-gateway
安装
npm install -g mcpnewcli零运行时依赖。Node 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就这样。如果清单不再是全部拒绝,如果任何已注册工具缺少 requireAllowed() 门禁,或者审计钩子未接线,mcpnew audit 都会以非零状态退出——把它接入 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全部拒绝权限 —— 工具、资源、提示词、网络、文件系统:一切默认
deny。通配符直接被拒绝。类型化工具桩 ——
mcpnew add-tool <name>插入一个带 zod 模式、已接好门禁和审计钩子的桩。你只需写函数体;脚手架已经正确。预接线的审计钩子 —— 每次调用都会将时间戳、工具、参数、结果和耗时记录到
logs/audit.jsonl。
配置
生成的 mcp.permissions.json:
{
"version": 1,
"default": "deny",
"tools": { "ping": "deny" },
"resources": { "default": "deny" },
"prompts": { "default": "deny" },
"network": { "default": "deny", "allowlist": [] },
"filesystem": { "default": "deny", "paths": [] }
}在读完工具的功能后,有意识地逐条把条目翻成 "allow"。mcpnew audit 会验证你没有比预期放宽更多。
Pro
要把 MCP 服务器交付给生产团队?mcpnew Pro(每月 $9)增加了策略即代码的审查工作流:权限清单的拉取请求差异,任何 deny 翻成 allow 之前都需要强制签署;组织级审计日志投递(Splunk/Datadog/Loki);以及一份合规报告,把每个工具授权映射到对应的审批记录。单一档位,不按席位计费。通过 Gumroad 授权——链接占位符。
许可证
MIT
属于 stealth-alpha toolkit 的一部分——八个零依赖 CLI,用于发布自动化、代理安全和仓库卫生。
This server cannot be deployed
Related MCP Connectors
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides 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
- AlicenseNot gradedqualityBmaintenanceEnforces 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
- AlicenseNot gradedqualityCmaintenanceEnables developers to build production-grade MCP servers with secure defaults, validated inputs, and CI security audits from the first commit.MIT
- AlicenseNot gradedqualityBmaintenanceEnables developers to scaffold production-ready MCP servers with typed tools, resources, prompts, transports, authentication, and database integrations.MIT