RTBlint
ใช้ทำอะไรได้
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
- ต่อแบบ คลาวด์ (ต่อผ่านอินเทอร์เน็ต)
- บัญชีหรือคีย์ ไม่ต้องใส่คีย์
- หมวด เครื่องมือนักพัฒนา
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Validate OpenRTB bid requests and responses against IAB specs. ARTF, Rust core.ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 5/5 · สิ่งที่คุณถามผ่านเซิร์ฟเวอร์ของผู้ทำ (rtblint.org)
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว · แผน Team/Enterprise ให้เจ้าของ (Owner) เป็นคนเพิ่ม
เปิดหน้า Connectors ของ Claude
CustomizeConnectors
กด “+ Add” → “Add custom connector” แล้วกรอก 2 ช่องนี้
คัดลอกจากที่นี่ไปวางในช่องชื่อเดียวกันบนหน้าจอของ Claude แล้วกด Continue
Name · ชื่อRTBlintRemote MCP server URL · ที่อยู่https://rtblint.org/mcpหัวข้อ Authentication ปล่อยตามที่ Claude ตรวจเจอ แล้วกด Add
เปิดใช้ในแชต
+ConnectorsRTBlint
ลองเลย
ใช้ RTBlint บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ RTBlint หรือมีชื่อเครื่องมือของ RTBlint ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ ChatGPT ได้ เฉพาะแผนองค์กร
ใช้ได้กับ ChatGPT Business, Enterprise หรือ Edu บนเว็บ และแอดมินหรือเจ้าของ workspace ต้องเป็นคนเพิ่ม · ถ้าใช้ Free, Plus หรือ Pro: ChatGPT แผนของคุณยังต่อ MCP เองไม่ได้
เปิดหน้าเพิ่ม MCP ของ ChatGPT บนเว็บ
Plugins+Add custom MCP server
กรอกชื่อและที่อยู่
ใส่ชื่อ แล้ววางที่อยู่ใต้ Connection ติ๊กยอมรับคำเตือน แล้วกด Create as a plugin
Name · ชื่อRTBlintConnection · ที่อยู่https://rtblint.org/mcpเลือก RTBlint ในแชต
เปิดแชตใหม่แล้วเลือก RTBlint จากรายการปลั๊กอินก่อนพิมพ์
ลองเลย
ใช้ RTBlint บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า ChatGPT บอกว่ากำลังใช้ RTBlint หรือมีชื่อเครื่องมือของ RTBlint ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ OpenAI เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Claude Code ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
เปิด Terminal
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
วางคำสั่งนี้แล้วกด Enter
claude mcp add --transport http --scope user rtblint https://rtblint.org/mcpพิมพ์ /mcp ใน Claude Code
ต้องเห็น RTBlint ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ลองเลย
ใช้ RTBlint บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ RTBlint หรือมีชื่อเครื่องมือของ RTBlint ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
เปิดแชตของ AI ใน Cursor โหมด Agent
ลองเลย
ใช้ RTBlint บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ RTBlint หรือมีชื่อเครื่องมือของ RTBlint ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ · ประมาณ 2 นาที
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม
เปิดแชตของ AI ใน VS Code โหมด Agent
ลองเลย
ใช้ RTBlint บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ RTBlint หรือมีชื่อเครื่องมือของ RTBlint ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ที่อยู่สำหรับโปรแกรมที่ต่อผ่านเว็บ
https://rtblint.org/mcpค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON
ต่อผ่านเว็บ
Claude Code
claude mcp add --transport http --scope user rtblint https://rtblint.org/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"rtblint": {
"url": "https://rtblint.org/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"rtblint": {
"type": "http",
"url": "https://rtblint.org/mcp"
}
}
}ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
สรุป
- ดาวน์โหลดต่อสัปดาห์i
- ไม่มียอดใน npm/PyPI
- การเชื่อมต่อ
- รันบนคลาวด์
- ช่องทาง (transport)
- streamable-http
- รุ่นล่าสุดi
- 0.14.4
- ส่งเข้า registryi
- 21 ต.ค. 2569
- แก้โค้ดล่าสุดi
- 10 พ.ย. 2569
- ผู้ทำ
- aleksUIX
- สถานะใน registry
- ใช้งานอยู่
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ต่อผ่านคลาวด์ได้ใน
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 12 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
validate_bid_requestValidate an OpenRTB 2.x bid request JSON payload against a tracked spec version. Returns structured issues with rule ids, severities, and JSON paths.
validate_bid_responseValidate an OpenRTB 2.x bid response JSON payload against a tracked spec version. Optionally cross-validate it against the originating bid request (impid, mtype, adm markup, dealid, seat, and currency coherence). Returns structured issues with rule ids, severities, and JSON paths
validate_artf_requestValidate an ARTF (IAB Tech Lab Agentic Real Time Framework) RTBRequest envelope: required members, lifecycle and payload coherence, tmax plausibility, originator and applicable_intents enums, plus full OpenRTB validation of the bid request and bid response it carries. The carried
validate_artf_responseValidate an ARTF RTBResponse mutation set against the RTBRequest it answers: envelope id echo, declared intent against applicable_intents, operation and payload coherence, and whether each semantic path (/imp/{id}, /imp/{id}/pmp/deals/{id}, /user/data/segment, /seatbid/{seat}/bid
list_openrtb_versionsList every OpenRTB version id this build can validate against, from 2.0 through the monthly 2.6 snapshots. Call this before pinning version on a validate_* tool.
get_adcp_capabilitiesAdCP protocol discovery. Returns the AdCP releases this agent speaks and the bid-stream conformance metrics it computes. Call this first when wiring rtblint into an agentic buying pipeline: it declares the experimental measurement protocol and the metric ids (openrtb_error_count,
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 12 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub aleksUIX ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด เมื่อวานซืน
- ✓ ผ่าน
มีสัญญาอนุญาต (license)
ใช้ Apache-2.0
- ✓ ผ่าน
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ไม่ต้องล็อกอิน
- ✓ ผ่าน
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
อ่านคำอธิบายเครื่องมือ 6 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 83% ของอีก 5816 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 56% ของอีก 5816 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5816 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
RTBlint ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 5 จาก 5 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด เมื่อวานซืน และส่งรุ่นล่าสุด (0.14.4) เข้า registry 22 วันที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT แผน Business ขึ้นไป
ตัวอื่นในหมวดเดียวกัน
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
RTBlint
OpenRTB linter. Validates OpenRTB 2.x bid requests and bid responses against versioned IAB Tech Lab spec snapshots, from 2.0 through the monthly 2.6 releases (currently up to 2.6-202606).
Website and playground: rtblint.org
What it checks
- Malformed JSON and wrong top-level shape
- Required fields, including required non-empty arrays
- Unknown objects and fields per version catalog (
extsubtrees stay open) - Type mismatches (string, integer, float, boolean, object, and array forms)
- Documented enum values, including AdCOM lists and vendor ranges (500+)
- Deprecated, moved, removed, and not-yet-available fields across versions
- Semantic rules: site/app/dooh exclusivity, imp media type presence, skippable video dependencies, duration exclusivity, seatbid/nbr presence on responses, and more
- Response markup coherence:
bid.admcontent vs the declaredbid.mtype(native JSON encoding, VAST/DAAST roots, double-encoded payloads) - Request/response cross-validation: with the originating request supplied, every bid's
impid,mtype,admmarkup,dealid, seat, and currency are checked against what the request actually offered - JSON dialect: spec JSON types flag fields such as
imp.secureandregs.coppaas integers, while the IAB OpenRTB protobuf schema declares 28 of thembool. Either encoding is correct on its own transport and wrong on the other, so the caller declares which one it meant - Exchange profiles apply published request, response and paired constraints for the selected vendor and traffic direction. Optional extensions stay optional unless the source explicitly requires them. Profiles include Google Authorized Buyers, Prebid Server, Microsoft Monetize, Magnite DV+ xAPI and separate buyer, supplier and SDK contracts. See exchange profile evidence for sources, fixtures and limits
- Nested specs OpenRTB carries as strings or opaque
ext: Native Ads 1.2 markup (imp.native.requestand nativebid.adm, including required-asset pairing), GPP header vsgpp_sidand TCF 2 shape,${AUCTION_*}macros on billing and loss URLs, EID/SUA structure, SKAdNetworkext.skadn - Privacy signal contradictions:
regs.coppa/device.lmt/device.dnt/regs.gdprversus identifiers on the same payload, TCF Purpose 1 versus device-storage IDs, US Privacy Opt-Out Sale versus hashed EIDs, email-shapeduser.id/site.page, DSA Transparency field presence. Findings describe the document. They do not state a legal conclusion. - ARTF envelopes and mutation sets, including applying the mutations and revalidating what comes out
Every finding carries a stable rule id, a severity, a message, and a JSON path.
ARTF
ARTF, the IAB Tech Lab Agentic Real Time Framework, hands an agent an OpenRTB payload inside an RTBRequest envelope and takes back *mutations*: proposed changes the orchestrator may accept or reject one at a time. Nothing in the framework checks that the auction still validates once they are applied, and a mutation is only meaningful relative to the request it targets.
# The envelope, plus full OpenRTB validation of what it carries
rtblint validate --type artf-request rtb-request.json
The mutation set against the auction it targets
rtblint validate --type artf-response --request rtb-request.json rtb-response.json
Apply the mutations, revalidate, and report only what the mutations broke
rtblint validate --type artf-response --apply --request rtb-request.json rtb-response.json
Three passes:
- Envelope. Required members,
lifecycleagainst the payloads actually carried,tmaxplausibility for an in-auction call,originatorandapplicable_intentsenum values, and the carried bid request and bid response validated as protobuf JSON. - Mutations. The response id echoes the extension point request id (not the bid request id), each declared intent is in
applicable_intents, the operation and payload oneof member match the intent, and every semantic path (/imp/{id},/imp/{id}/pmp/deals/{id},/user/data/segment,/seatbid/{seat}/bid/{id}) resolves to something the auction carries.ADJUST_DEAL_MARGINis reported as having no OpenRTB field to write to, because it does not. - Applied. The mutations are written in and the result revalidated, reporting the OpenRTB findings the mutations introduced with pre-existing findings filtered out. What the agent broke, not what arrived broken.
The ARTF v1.0 document and its .proto use different vocabularies for the same mutation (activateSegments and a value: {IDsPayload: ...} wrapper against ACTIVATE_SEGMENTS and top-level oneof members). Payloads written from the document are mapped and reported as artf.mutation.legacy_spec_encoding rather than dismissed as unknown.
Surfaces
| Surface | Package | Status |
|---|---|---|
| Rust CLI | rtblint | Working |
| Rust library | rtblint-core | Working |
| MCP server | rtblint-mcp | Working |
| Node (WASM) | rtblint-core on npm | Working |
| GitHub Action | aleksUIX/rtblint | Working |
| Python | rtblint on PyPI | Not implemented yet |
| Go | github.com/aleksUIX/rtblint/go | Not implemented yet |
OpenRTB 3.0 validates through its layered envelope: the transport objects (Openrtb, Request, Item, Deal, Source, Response, Seatbid, Bid) and the AdCOM 1.0 domain objects under item.spec (Placement), bid.media (Ad), and request.context. A 2.x payload sent to a 3.0 validator gets a migration diagnostic rather than a bare parse error. The 2.6-202204 snapshot has no extracted catalog and reports itself as unsupported instead of passing payloads silently. See ROADMAP.md for what's next and CHANGELOG.md for release history.
CLI
cargo install rtblint
rtblint validate request.json rtblint validate --type response response.json rtblint validate --type response --request request.json response.json rtblint validate --version 2.5 --format json request.json rtblint validate --dialect proto-json grpc-bid-request.json rtblint validate --profile google-ab google-bid-request.json rtblint validate --profile prebid-server pbs-auction.json rtblint validate --profile xandr xandr-bid-request.json rtblint validate --profile magnite magnite-bid-request.json rtblint validate --resolve --cache ./supply-cache request.json rtblint validate --summary bids.ndjson rtblint validate --batch --summary bids.ndjson cat request.json | rtblint validate --stdin
--request supplies the originating bid request for paired checks, including batch validation. --dialect proto-json selects the protobuf JSON encoding. --profile selects the vendor contract and traffic direction. Xandr checks bidder-facing Microsoft Monetize traffic; Magnite checks the DV+ xAPI extension model. Their optional seller, context and inventory identity fields are checked when supplied. Account-specific and runtime acceptance remain outside the payload. --resolve --cache checks SupplyChain hops against sellers.json and ads.txt / app-ads.txt from a local directory:
<dir>/sellers/<asi>/sellers.json
/ads/ /ads.txt /app-ads/ /app-ads.txt
Protobuf JSON also supports the IAB schema's native object alternatives: imp.native.request_native (requestNative) and bid.adm_native (admNative). Their native flags use booleans. The string alternatives request and adm keep their JSON-encoded Native Ads markup. Supply one alternative per oneof. Native assets remain validated and paired against required request assets. See the IAB protobuf schema.
Nothing is fetched; populate the cache yourself. --batch lints one JSON object per line from a file or stdin. --summary adds rule-frequency totals for a captured stream (--summary bids.ndjson for the histogram alone). See ARTF for --type artf-request and --type artf-response.
Exit codes: 0 valid, 1 validation errors, 2 usage or I/O error.
GitHub Action
The Action lives in this repo. Pin a release tag so CI downloads that CLI tarball:
- uses: aleksUIX/rtblint@v0.13.0
with: path: fixtures/bid-request.json spec-version: 2.6-202505
version selects the CLI release (auto follows the action's own v* tag). spec-version is the OpenRTB snapshot. Linux and macOS runners, x86_64 and aarch64.
Node
import { validate, validateResponse, validateResponseAgainstRequest } from "rtblint-core";
const report = validate(JSON.stringify(bidRequest), "2.6-202505"); if (!report.valid) { for (const issue of report.issues) { console.log([${issue.severity}] ${issue.path}: ${issue.message} (${issue.id})); } }
// Cross-validate a response against the request it answers. const paired = validateResponseAgainstRequest( JSON.stringify(bidResponse), JSON.stringify(bidRequest) );
For gRPC bidstream payloads and ARTF:
import {
validateDialect, validateProfile, validateArtfRequest, validateArtfResponseApplied, protoBoolDivergences, } from "rtblint-core";
validateDialect(JSON.stringify(bidRequest), "proto-json"); validateProfile(JSON.stringify(bidRequest), "google-ab"); validateProfile(JSON.stringify(bidRequest), "prebid-server"); validateArtfRequest(JSON.stringify(rtbRequest));
// { result, application }: what the mutations broke, and the payloads they produced const { result, application } = validateArtfResponseApplied( JSON.stringify(rtbResponse), JSON.stringify(rtbRequest) );
protoBoolDivergences(); // the 28 fields the two schemas type differently
MCP server
Hosted Streamable HTTP (no install): https://rtblint.org/mcp. Smithery listing: aleksander/rtblint (same account as vastlint). Payloads sent to the hosted endpoint may be stored (identifiers stripped) so the rules can be improved; see rtblint.org/privacy. Local rtblint-mcp over stdio does not send payloads.
rtblint-mcp also speaks MCP over stdio. Tools: validate_bid_request, validate_bid_response (optional bid_request for cross-validation), validate_artf_request, validate_artf_response (apply writes the mutations and revalidates), list_openrtb_versions, get_adcp_capabilities. Validation tools take optional dialect and profile arguments.
The ARTF tools are the guardrail an agent calls around its own work: check the envelope it was handed, then check the mutation set it is about to propose, before the orchestrator sees it.
{
"mcpServers": { "rtblint": { "url": "https://rtblint.org/mcp" } } }
Local stdio instead of the hosted endpoint:
{
"mcpServers": { "rtblint": { "command": "rtblint-mcp" } } }
Rust library
use rtblint_core::{validate_bid_request_for_version, OpenRtbVersion};
let result = validate_bid_request_for_version(OpenRtbVersion::V2_6_202505, payload); for issue in &result.issues { println!("{} {} {:?}", issue.severity, issue.id, issue.path); }
validate_bid_request_with_profile applies an exchange profile (`Profile::GoogleAut