Search / io.github.aleksUIX/rtblint
RTBlint
not classifiedValidate OpenRTB bid requests and responses against IAB specs. ARTF, Rust core.
v0.14.0 · active · repository · descriptor JSON · versions
Search / io.github.aleksUIX/rtblint
Validate OpenRTB bid requests and responses against IAB specs. ARTF, Rust core.
v0.14.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"rtblint": {
"type": "http",
"url": "https://rtblint.org/mcp"
}
}
}claude mcp add --transport http rtblint https://rtblint.org/mcp[mcp_servers.rtblint]
url = "https://rtblint.org/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"rtblint": {
"type": "remote",
"url": "https://rtblint.org/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"rtblint": {
"type": "http",
"url": "https://rtblint.org/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=rtblint&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcnRibGludC5vcmcvbWNwIn0%3D"
}{
"servers": {
"rtblint": {
"type": "http",
"url": "https://rtblint.org/mcp"
}
}
}{
"mcpServers": {
"rtblint": {
"httpUrl": "https://rtblint.org/mcp"
}
}
}extensions:
"rtblint":
enabled: true
name: "rtblint"
type: streamable_http
uri: "https://rtblint.org/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations6 of 6 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,293 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes2 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagevalidate_bid_responsechangedinput schema, output schemavalidate_bid_requestchangedinput schema, output schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo -unreachable(1 failures) +updated-9d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://rtblint.org/mcp streamable-http | none | no (1 failures) | 94% | 125 ms | 2025-11-25 | 2026-10-18 |
get_adcp_capabilitiesread-only | AdCP 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, openrtb_warning_count, openrtb_conformance_rate) that validate_bid_request and validate_bid_response produce. Part of the Ad Context Protocol (AdCP 3.1) specification. |
list_openrtb_versionsread-only | List 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. |
validate_artf_requestread-only | Validate 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 payloads are protobuf JSON, so they are validated in that dialect. |
validate_artf_responseread-only | Validate 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/{id}) resolves to something the auction actually carries. With apply=true the mutations are written into the payloads and revalidated, reporting the OpenRTB findings the mutations introduced. Call this before proposing mutations to an orchestrator. |
validate_bid_requestread-only | Validate 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_responseread-only | Validate 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. |
Schemas: list_tools.
{
"name": "io.github.aleksUIX/rtblint",
"title": "RTBlint",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://rtblint.org/mcp",
"type": "streamable-http"
}
],
"version": "0.14.0",
"repository": {
"url": "https://github.com/aleksUIX/rtblint",
"source": "github"
},
"description": "Validate OpenRTB bid requests and responses against IAB specs. ARTF, Rust core."
}