Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
SFMC AMPscript/SSJS/GTL tools + searchable help for 7 MC products (Engagement, Pardot…) via MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"sfmc": {
"command": "npx",
"args": [
"-y",
"mcp-server-sfmc"
]
}
}
}在终端中运行这条命令
claude mcp add sfmc -- npx -y mcp-server-sfmc粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sfmc": {
"command": "npx",
"args": [
"-y",
"mcp-server-sfmc"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sfmc": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-sfmc"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 JoernBerkefeld 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.10.1)于24天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Filesystem MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Filesystem MCP server for AI assistants.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server providing Salesforce Marketing Cloud language intelligence — AMPscript, SSJS, GTL, and Marketing Cloud Next (MCN) Handlebars — as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review. Ships two searchable doc indexes: MCE help (Salesforce Help for Marketing Cloud Engagement administration and setup) and MCN developer docs (Marketing Cloud Next REST API and developer reference). Includes full Marketing Cloud Next (MCN) platform awareness: auto-detects whether a project targets MCE or MCN, restricts completions and validation to MCN-supported functions, flags SSJS as unsupported in MCN, surfaces MCN behavioral differences in hover and diagnostics, validates MCN Handlebars templates, and provides a migration toolkit to analyze and rewrite code for MCN — including AMPscript ↔ Handlebars and SSJS → Handlebars conversion.
Built on sfmc-language-lsp, the same engine that powers the SFMC Language Service VS Code extension.
sfmc-language-lsp 4.0.0 changes shared validator codes to canonical sfmc/... IDs and preserves quick-fix variants and original payloads in a namespaced envelope. See the LSP migration and rule documentation. Documentation URLs are owned by the LSP version, not this MCP package.
Consumer regression coverage checks the canonical SSJS diagnostics, distinct polyfill/replacement payloads, and overlap suppression. This is not a new MCP tool or a promise that every tool response exposes raw LSP diagnostics.
Version 2.10.0 adopts ampscript-data: ^4.2.0 and sfmc-language-lsp: ^4.2.0 from npm. This Winter ’27 (API 68) catalog update makes the current AMPscript and shared language-service metadata available to MCP clients. MCP validation and review output continues to format locations, severities, and messages rather than expose raw LSP codes or envelopes.
@mcp)This package is registered with the official MCP Registry as `io.github.JoernBerkefeld/mcp-server-sfmc` so it can appear in Visual Studio Code when you use the `@mcp` filter in the Extensions view (see the publish quickstart). Enable `chat.mcp.gallery.enabled` if the gallery does not show.
The registry only stores metadata; the server still runs locally via stdio (for example npx -y mcp-server-sfmc@latest). This is separate from `@contribute:mcp`, which lists VS Code extensions that contribute MCP definitions — use the SFMC Language Service for that path.
After publishing metadata (see Publish an MCP Server or the release workflow), you can confirm the entry with:
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.JoernBerkefeld/mcp-server-sfmc"
If you use the SFMC Language Service extension (1.101+), it registers this MCP server for discovery in VS Code — you normally do not need to edit .vscode/mcp.json or run npm install for that path; VS Code still launches the published package via npx when the server starts.
For other editors, or if you prefer explicit configuration, use the npx or install options below.
You do not have to install the VS Code extension. Pick one way to run the server:
| Approach | When to use it | |
|---|---|---|
| `npx` (no install) | Default in the examples below. Runs the latest published version from npm on demand; first run may download the package. Requires Node.js and npm (which provides npx). | |
| `npm install -g mcp-server-sfmc` | Same CLI as npx, but the package stays on disk so startup is faster and you can set "command": "mcp-server-sfmc" with empty args in your MCP config. | |
| `npm install mcp-server-sfmc` in a project | Keeps a pinned version in that folder's node_modules — point your MCP config at npx mcp-server-sfmc with cwd set to the project, or run ./node_modules/.bin/mcp-server-sfmc directly. | |
| `sfmc-review-diff` (bundled CLI) | For CI: spawns this MCP server, calls review_change on a unified diff (stdin or file), exits non-zero on ERROR by default. Install the package in the job, then e.g. `git diff base...HEAD \ | npx sfmc-review-diff`. |
None of these replace the VS Code extension for editing (syntax, LSP, snippets); they only expose the MCP server to tools that speak the Model Context Protocol.
sfmc-review-diffReady-to-copy workflows (GitHub Actions, GitLab CI, Jenkins, Azure Pipelines, Bitbucket Pipelines) live under [`ci-templates/`](./ci-templates/). They run `eslint-plugin-sfmc` on changed files and `sfmc-review-diff` on the PR/MR unified diff. See [`ci-templates/README.md`](./ci-templates/README.md) for what each file does and how the two checks differ.
| Feature | Details |
|---|---|
| Validation | Syntax errors, unknown functions, arity mismatches, unsupported SSJS syntax; target: 'next' flags MCN-incompatible functions and all SSJS; validate_handlebars checks MCN Handlebars helper names, arity, block balance, and unsupported constructs |
| Lookup | Full function signatures, parameters, return types, MCN compatibility badge (API version), behavioral notes, and examples |
| PR review | Diff-aware review tool that surfaces issues in the exact lines that changed |
| Fix suggestions | Concrete, compilable replacement code; target: 'next' includes MCN platform issues |
| Completions | AMPscript completions (filtered to MCN-supported when target: 'next'); SSJS catalog (redirects to AMPscript for MCN) |
| Platform detection | detect_sfmc_platform checks .mcdevrc.json (MCE) or sfdx-project.json (MCN) in the project root |
| MCN compatibility analysis | check_mcn_compatibility analyzes files for MCN readiness — per-function classification (supported / needs review / not supported), SSJS block migration difficulty, and an executive summary |
| MCN migration | rewrite_for_mcn (tool + prompt) deterministically rewrites AMPscript and converts convertible SSJS to AMPscript for MCN, then applies AI reasoning to remaining manual-rewrite sections |
| Code conversion | convertSsjsToAmpscript and convertAmpscriptToSsjs (tool + prompt hybrid) — rule-based conversion with AI-enhanced handling of flagged sections |
| MCN Handlebars | lookup_handlebars_helper, list_handlebars_helpers, get_handlebars_completions, and write_handlebars (authoring) backed by the handlebars-data catalog |
| Handlebars conversion | convertAmpscriptToHandlebars, convertHandlebarsToAmpscript, and convertSsjsToHandlebars (tool + prompt hybrid) — data-driven from ampscript-data handlebarsEquivalent / handlebarsExact |
| Prompts | Guided prompts for writing AMPscript/SSJS/Handlebars (with MCN constraints), reviewing code, converting between languages, and rewriting for MCN |
| Resources | Full function catalogs, keyword list, unsupported ES6+ syntax list, MCN Handlebars helper and binding catalogs |
| Help search | search_help (unified, auto-detects MCE vs MCN from project root); search_mce_help (MCE help, 7 product scopes); search_mcn_help (MCN developer API reference) |
Starting with version 2.10.1, validate_sfmc_html validates embedded AMPscript/GTL and applies SSJS checks only to actual server JavaScript bodies (runat="server", excluding AMPscript script bodies). Browser scripts and non-JavaScript script data are not sent to the SSJS validator. Server diagnostics retain locations in the original HTML, and browser declarations, Core loads, or polyfills cannot suppress server warnings. HTML without server JavaScript does not receive an SSJS incompatibility error solely because target is 'next'.
This tool does not validate browser JavaScript or provide DOM/type diagnostics. The standalone validate_ssjs tool continues to validate raw SSJS with its existing target-platform behavior.
This boundary uses the published validateMixedDocumentSsjs API from sfmc-language-lsp 4.3.1 or newer. Version 2.10.1 raises the dependency floor to ^4.3.1; release verification uses a clean registry-only installation.
mcp.jsonIf you are not using the SFMC Language Service extension's built-in MCP registration, add a .vscode/mcp.json file
只显示了开头部分;其余内容请在仓库中阅读