v3.20.1

Revenue from Contract with Customers (Performance Obligations) (Details) $ in Thousands | Mar. 31, 2020 USD ($)
--- | ---
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | $ 3,177,657
Refined Products Segment [Member] |
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | 2,058,298
Crude Oil Pipeline and Terminals Segment [Member] |
Segment Reporting Information [Line Items] |
Revenue, Remaining Performance Obligation, Amount | $ 1,119,359

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: |