Complete Model Context Protocol implementation of IAB Tech Lab OpenDirect v2.1 specification for programmatic direct advertising inventory management.
OpenDirect enables publishers to offer premium guaranteed inventory using a programmatic interface. This MCP server provides complete schema definitions and tools for all OpenDirect v2.1 objects and workflows.
# Copy opendirect-mcp-server.json to your MCP configuration directory
cp opendirect-mcp-server.json ~/.mcp/servers/
# Or use with MCP client
mcp-client connect opendirect-mcp-server.json- Organizations - Advertisers, agencies, publishers
- Accounts - Buyer-advertiser relationships
- Orders - Campaign plans with budget and dates
- Lines - Line items for specific products
- Products - Available inventory catalog
- Creatives - Ad assets
- Assignments - Creative-to-line mappings
- Placements - Ad unit specifications
- Change Requests - Order modification requests
- Messages - Buyer-seller communication
- AdCOM - Advertising Common Object Model
- OpenRTB - Real-Time Bidding protocol
- DP-AA - Digital Out-of-Home extensions
All OpenDirect v2.1 objects with full property definitions:
- OpenDirect core objects (Account, Order, Line, Product, etc.)
- AdCOM domain objects (Creative specs, Device, Geo, Site, App, etc.)
- OpenRTB objects (Deal, PMP, Regs, Source)
10 primary tools for object creation and management:
create_account- Create buyer-advertiser accountscreate_order- Create advertising orderscreate_line- Create line itemscreate_creative- Upload ad creativescreate_assignment- Assign creatives to linessearch_products- Search inventorycreate_organization- Register organizationscreate_change_request- Request order changessend_message- Send messagesupdate_line_booking_status- Update booking status
Guided workflows for common scenarios:
order_workflow- Complete order placement workflowproduct_discovery- Find suitable inventorycreative_specs- Get creative requirements
{
"tool": "create_order",
"arguments": {
"name": "Q1 2025 Campaign",
"accountid": "acc_12345",
"publisherid": "pub_67890",
"currency": "USD",
"budget": 500000,
"startdate": "2025-01-01T00:00:00Z",
"enddate": "2025-03-31T23:59:59Z"
}
}{
"tool": "create_line",
"arguments": {
"name": "Homepage Banner",
"orderid": "ord_98765",
"productid": "prod_homepage_001",
"startdate": "2025-01-01T00:00:00Z",
"enddate": "2025-01-31T23:59:59Z",
"ratetype": "CPM",
"quantity": 1000000
}
}Draft → PendingReservation → Reserved → PendingBooking → Booked → InFlight → Finished
Additional states: Stopped, Canceled, Pause, Expired, Declined, ChangePending
- CPM - Cost Per Thousand Impressions
- CPMV - Cost Per Thousand Viewable Impressions
- CPC - Cost Per Click
- CPD - Cost Per Day
- FlatRate - Fixed rate pricing
- ISO-639-1 (Languages)
- ISO-3166 (Countries/Regions)
- ISO-4217 (Currencies)
- IAB Tech Lab Content Taxonomy
- IQG 2.1 Media Ratings
See OPENDIRECT_DOCUMENTATION.md for complete details on:
- All object schemas and properties
- Workflow diagrams
- Business rules and validation
- AdCOM specifications
- OpenRTB integration
- Use cases and examples
IAB Technology Laboratory - Creative Commons Attribution 3.0 https://creativecommons.org/licenses/by/3.0/
OpenDirect v2.1 Final (IAB Tech Lab 2018-2024)