v3.19.2

Revenue from Contract with Customers (Performance Obligations) (Details) $ in Thousands | Jun. 30, 2019 USD ($)
--- | ---
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | $ 3,518,351
Refined Products Segment [Member] |
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | 2,052,375
Crude Oil Pipeline and Terminals Segment [Member] |
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | 1,244,128
Marine Storage Segment [Member] |
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | $ 221,848

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_SegmentReportingInformationLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=mmp_RefinedProductsSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=mmp_CrudeOilPipelineandTerminalsSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=mmp_MarineStorageSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |