Cross-provider AdTech taxonomy mappings via MCP — the Context7 for AdTech
Project description
adtech-crosswalk
Open-source AdTech agent toolkit — cross-provider taxonomy mappings, conversion utilities, and LLM-assisted tooling for the advertising technology ecosystem.
Taxonomy Mappings
Bidirectional mappings between AdTech category taxonomies from industry bodies and major platforms.
Taxonomy Types
| Type | Description |
|---|---|
ad_product |
Categories of advertised products |
audience |
Audience segment classifications |
content |
Content category classifications |
Structure
taxonomies/{taxonomy_type}/{provider}/{version}/taxonomy.json
mappings/{taxonomy_type}/{source}__{target}/mapping.json
Provider version conventions:
- IAB Tech Lab:
v1.0,v2.0(immutable snapshots) - Google:
latest(single folder,snapshot_datein metadata)
Mappings
Mapping folders use double-underscore to separate source from target:
iab_v2.0__google_latest = IAB Ad Product 2.0 → Google Product Type (latest)
Each mapping pair has a canonical file (source of truth, indexed by the provider with stable integer IDs) and a derived reverse file (auto-generated, never edited directly).
Discovery
index.json at the repo root lists all registered providers, taxonomies, and mappings. LLM agents should read index.json first to discover available paths.
Scripts
| Script | Purpose |
|---|---|
scripts/ingest/convert_iab_tsv.py |
Fetch IAB TSV → taxonomy.json |
scripts/ingest/convert_google_txt.py |
Fetch Google TXT → taxonomy.json |
scripts/validate.py |
Validate taxonomy.json and mapping.json schemas |
scripts/invert_mapping.py |
Generate reverse mapping from canonical |
Sources
- IAB Tech Lab Taxonomies: https://github.com/InteractiveAdvertisingBureau/Taxonomies
- Google Product Type Taxonomy: https://www.google.com/basepages/producttype/taxonomy.en-US.txt
MCP Server
adtech-crosswalk is available as an MCP server for any LLM agent that supports the Model Context Protocol.
Install
# Run directly with uvx (no install required)
uvx adtech-crosswalk
# Or install globally
pip install adtech-crosswalk
Configure
Add to your MCP client config (Claude Code, Cursor, Copilot, etc.):
{
"mcpServers": {
"adtech-crosswalk": {
"command": "uvx",
"args": ["adtech-crosswalk"]
}
}
}
Tools
| Tool | Description |
|---|---|
list_adtech_taxonomies |
Discover available providers, versions, and mapped pairs |
resolve_adtech_category |
Natural language → matching taxonomy entries (default: IAB, threshold: 0.75) |
get_adtech_mapping |
Category ID → cross-provider mappings, sorted by confidence |
Example
# Step 1 — discover
list_adtech_taxonomies()
# Step 2 — find the right category
resolve_adtech_category(raw_category="craft beer", providers=["iab"], version="v2.0")
→ { matches: [{ category_id: "1004", category_name: "Beer", relevance_score: 0.91 }] }
# Step 3 — get cross-provider mappings
get_adtech_mapping(provider="iab", version="v2.0", category_id="1004")
→ { source: {...}, mappings: [{ target_provider: "google", confidence: 0.95, ... }] }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adtech_crosswalk-0.1.0.tar.gz.
File metadata
- Download URL: adtech_crosswalk-0.1.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5f736bb91b1c93bf427cbe7df6dbd3ee88d69fe5182a55acad7d2c8c1857e60
|
|
| MD5 |
192a175db3a7ec7431404838c00fe087
|
|
| BLAKE2b-256 |
10ded820df67cbf341483e614061af4fc4ffe7f0eadfc2651b7983e3649d8f61
|
Provenance
The following attestation bundles were made for adtech_crosswalk-0.1.0.tar.gz:
Publisher:
publish.yml on markomma/adtech-crosswalk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adtech_crosswalk-0.1.0.tar.gz -
Subject digest:
c5f736bb91b1c93bf427cbe7df6dbd3ee88d69fe5182a55acad7d2c8c1857e60 - Sigstore transparency entry: 1561643243
- Sigstore integration time:
-
Permalink:
markomma/adtech-crosswalk@25a13fda1c0306aa62e5f6068efc435384ee9bfb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/markomma
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@25a13fda1c0306aa62e5f6068efc435384ee9bfb -
Trigger Event:
push
-
Statement type:
File details
Details for the file adtech_crosswalk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: adtech_crosswalk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 821.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2e5cebbacefba831a9bb291f8fca1196a0cb3d8debbb8daa1cd3f59d241a6c9
|
|
| MD5 |
9c3cd736eefea0fddf60a14123b1b801
|
|
| BLAKE2b-256 |
5830d125ab54768faaefb41cee788c7b6a0e155fd4ab05f50cb0e9edecfc8079
|
Provenance
The following attestation bundles were made for adtech_crosswalk-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on markomma/adtech-crosswalk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adtech_crosswalk-0.1.0-py3-none-any.whl -
Subject digest:
f2e5cebbacefba831a9bb291f8fca1196a0cb3d8debbb8daa1cd3f59d241a6c9 - Sigstore transparency entry: 1561643372
- Sigstore integration time:
-
Permalink:
markomma/adtech-crosswalk@25a13fda1c0306aa62e5f6068efc435384ee9bfb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/markomma
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@25a13fda1c0306aa62e5f6068efc435384ee9bfb -
Trigger Event:
push
-
Statement type: