Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Validate pixels, postbacks, conversion API payloads, and tracking URLs with spec-backed findings.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 aleksUIX 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.59.0)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Rust。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Joe Hill, AI partner in Tennessee
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ 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.
Check open times and book a free 15-minute fit call with Joe Hill, or ask Harvey about his work.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Pixellint is a spec-first validator for pixels, postbacks, conversion API payloads, and other measurement artifacts. It runs in a terminal, in CI, and in agents, and every finding carries a stable id, a severity, an evidence level, and the document it came from.
Broken pixels cost attribution, QA time, and campaign money. The tooling that exists is fragmented: vendor-specific helpers, enterprise tag auditors, and schema linters that know nothing about ad tech. Pixellint is the open validation layer underneath all of that.
$ pixellint validate url 'https://www.facebook.com/tr?ev=Purchse&em=buyer@example.com'
rulepack: core ok rulepack: vendor/meta (vendor: meta) error vendor.meta.param.id.missing id is required on Meta Pixel requests but is not present. It is the numeric Pixel ID from Events Manager. fix: Set id to the numeric Pixel ID shown in Events Manager. docs: https://developers.facebook.com/docs/meta-pixel/get-started warning vendor.meta.param.ev.invalid ev is Purchse, which is not one of the documented values: PageView, AddPaymentInfo, ... fix: Use a standard event name, or confirm the custom event is registered in Events Manager. docs: https://developers.facebook.com/docs/meta-pixel/reference error vendor.meta.pii.unhashed_email A parameter carries what looks like a raw email address. Meta requires customer information to be normalized and SHA-256 hashed before it is sent. fix: Normalize the value, hash it with SHA-256, and send the hex digest instead of the plain address. docs: https://developers.facebook.com/docs/meta-pixel/advanced/advanced-matching
2 error(s), 1 warning(s), 0 info message(s) across 2 rulepack(s).
Server-side events are checked in the body, one event at a time:
$ pixellint validate json '{"data":[{"event_name":"Purchase","event_time":1770000000000,
"action_source":"website","user_data":{"em":"buyer@example.com"}}]}' rulepack: vendor/meta-conversions-api (vendor: meta) error vendor.meta-conversions-api.body.event_time.invalid event_time must be at most 10 digits, but 1770000000000 has 13. Meta documents it as a Unix timestamp in seconds... fix: Send seconds, not milliseconds: divide a JavaScript Date.now() by 1000 and floor it. error vendor.meta-conversions-api.body.purchase_requires_value_and_currency A Purchase event is missing custom_data.value or custom_data.currency. error vendor.meta-conversions-api.body.website_requires_source_url The event is marked action_source: website but carries no event_source_url.
cargo install pixellint # CLI
cargo install pixellint-mcp # MCP server npm install pixellint # library, WASM-backed
Or paste a URL into the playground at pixellint.org, which runs the same engine in your browser. Artifacts you test may be stored; see privacy. Vendor contracts are at pixellint.org/packs/. Guides for pixels, conversion APIs, and consent are at pixellint.org/docs/.
Start with the contracts people actually hit:
Validate an inline artifact, a file with @path, or stdin with -:
pixellint validate url 'https://px.ads.linkedin.com/collect?pid=123456&fmt=gif'
pixellint validate postback @conversion-endpoint.txt --json printf '%s\n' 'https://example.com/tracking?cb=[CACHEBUSTING]' | pixellint validate vast - --state template
Callers that already extracted many URLs (Vastlint, an HTML adapter) pass them as a document. Identical values validate once:
pixellint validate-many @extracted.json --json
Callers that know which artifacts belong to each ad session can supply explicit groups with original zero-based row indexes:
pixellint validate-sessions @sessions.json --json
The initial IAS UVP profile checks external-ID consistency within each group and uniqueness across groups. Its report preserves ordinary document findings and adds relationship coverage, original spans and provenance. See docs/SESSION_SCHEMA.md for grouping, typed skips and local resource limits.
extracted.json is the wrapper in docs/MULTI_ARTIFACT_SCHEMA.md, or a JSON array of URL strings. Pixellint does not parse VAST, HTML, or GTM.
vast means one tracking URL extracted from VAST, not a VAST XML document. It enables the IAB VAST macro-name checks on that URL.
Use request for a complete HTTP capture. It links endpoint, method, headers, query fields and body so the destination's transport and payload rules run together:
pixellint validate request @captured-request.json --json
The capture has string url and method, a headers object or list of { "name": "...", "value": "..." } entries. Use an optional raw string body for text, or body_base64 for captured binary bytes. The shared engine decodes identity and gzip entities within explicit local limits. See docs/HTTP_REQUEST_SCHEMA.md for examples and validation limits. A bare URL passed as request keeps its existing behavior.
If the artifact is still a template with unexpanded macros, say so, and macro rules adjust:
pixellint validate url 'https://example.com/pixel?cb=[CACHEBUSTING]' --state template
pixellint validate exits 0 when the artifact is clean or only produced warnings, 1 when any error-severity finding is present, and 2 on a usage or input problem.
- uses: aleksUIX/pixellint@v0.31.12
with: path: fixtures/conversion-pixel.txt kind: url
version selects the CLI release (auto follows the action's own v* tag). Linux and macOS runners, x86_64 and aarch64. The Action downloads a prebuilt tarball from GitHub Releases.
Or install the CLI:
- name: Validate tracking artifacts
run: | cargo install pixellint pixellint validate url @fixtures/conversion-pixel.txt
cargo install pixellint-mcp
pixellint-mcp speaks MCP over stdio and exposes three tools. It does not send artifacts; there is no hosted MCP on pixellint.org. Playground artifacts on pixellint.org may be stored; see pixellint.org/privacy.
mcp-name: io.github.aleksUIX/pixellintlist_rulepackslist_vendors, optionally filtered by category or attributing a single hostvalidate_artifact, taking artifact_kind, artifact, and optional claimed_vendor, expansion_state, rulepacks, except_rulepacksResponses include the structured findings, the detected vendors, and a severity summary, so an agent can act on the result without parsing prose.
The npm wrapper requires Node.js 18 or newer. Its ESM entry uses node:module to load the Node-target WASM build. For a browser integration, build pixellint-wasm for a browser target and supply a browser loader, as the playground does.
import { validate, isOk } from "pixellint";
const summary = validate("https://www.facebook.com/tr?ev=Purchase"); isOk(summary); // false, the pixel id is missing
use pixellint_core::{ArtifactKind, Engine, ExpansionState, ValidationOptions, ValidationRequest};
let engine = Engine::default(); let request = ValidationRequest { artifact_kind: ArtifactKind::Url, artifact: "https://www.facebook.com/tr?id=1234567890123456&ev=PageView".to_string(), claimed_vendor: None, expansion_state: ExpansionState::Unknown, };
let summary = engine.validate(&request, &ValidationOptions::default())?; assert!(summary.is_ok());
core runs on every URL-like artifact. Vendor packs run only when the artifact targets their endpoints, so you get vendor checks without asking for them, and nothing fires on an endpoint it does not understand. A conversion API body has no endpoint to go by, so those packs claim it by the shape of the payload.
The table shows selected built-in packs. Run pixellint list-rulepacks --json for the complete inventory in your installed build.
| Rulepack | Covers | Evidence |
|---|---|---|
core | URL validity, transport, credentials, fragments, ad-tech macro handling, IAB consent signals | normative |
vendor/meta | facebook.com/tr pixel requests | official vendor |
vendor/meta-conversions-api | Graph API events edge, URL and JSON event payload | official vendor |
vendor/google-analytics | GA4 Measurement Protocol, URL and JSON event payload | official vendor |
vendor/google-analytics-collect | The /g/collect transport the Google tag uses in the browser | ecosystem reference |
vendor/google-tag-manager | gtm.js, gtag/js, and ns.html loader requests | official vendor |
vendor/google-ads-conversion | Google Ads conversion and view-through pixels | official vendor |
vendor/google-ads-click-conversions | Google Ads UploadClickConversions JSON | official vendor |
vendor/floodlight | Campaign Manager Floodlight activity tags | official vendor |
vendor/cm360-tracking-ad | CM360 tracking ads, dc_trk_aid and dc_trk_cid | official vendor |
vendor/cm360-vast-event | CM360 VAST event pixels, dc_oe on googlesyndication | ecosystem reference |
vendor/google-ad-manager | Ad Manager /gampad/ads, iu sz output env gdfp_req correlator | official vendor |
vendor/adobe-analytics | Adobe Analytics data collection beacons | official vendor |
vendor/pinterest | Pinterest tag requests and the noscript fallback | official vendor |
vendor/pinterest-conversions-api | Conversions API events, URL and JSON event payload | official vendor |
vendor/snapchat | Snap Conversions API v3, URL and JSON event payload | official vendor |
vendor/tiktok | TikTok Pixel loader events.js?sdkid= | ecosystem reference |
vendor/tiktok-events-api | Events API pixel track and batch, URL and JSON event payload | official vendor |
vendor/linkedin | LinkedIn conversion image pixels | ecosystem reference |
vendor/linkedin-conversions-api | LinkedIn conversion events, single and batched | official vendor |
vendor/microsoft-uet | Microsoft Advertising Universal Event Tracking | ecosystem reference |
vendor/microsoft-conversions-api | Microsoft Advertising CAPI, URL and JSON event payload | official vendor |
vendor/microsoft-clarity | Microsoft Clarity tag loader, project ID in the path | official template |
vendor/reddit | Reddit Pixel conversion requests | ecosystem reference |
vendor/reddit-conversions-api | Conversions API v3 events, URL and JSON event payload | official vendor |
| vendor/quora-conversions-api | Quora Conversion API J
只显示了开头部分;其余内容请在仓库中阅读