XML 54 R37.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Summary of Significant Accounting Policies - Additional Information (Detail) |  | 12 Months Ended |  |
--- | --- | --- | --- | ---
Feb. 08, 2023 shares | Dec. 31, 2023 USD ($) Segment $ / shares shares | Dec. 31, 2022 USD ($) shares | Dec. 31, 2021 USD ($) | Dec. 31, 2018 USD ($) | Dec. 31, 2020 USD ($) | May 15, 2019 shares
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Number of reportable segment | Segment |  | 2 |  |  |  |  |
Percentage of billing expense revenues |  | 2.00% |  |  |  |  |
Stock Incentive Plan, shares available for issuance | shares |  | 5,400,000 |  |  |  |  |
Goodwill impairment loss |  | $ 5,300,000 | $ 0 | $ 0 |  |  |
Revaluation of contingent consideration liability |  | $ 0 | $ 0 | (2,882,000) |  |  |
Treasury stock, shares | shares |  | 1,714,119 | 1,646,420 |  |  |  |
Treasury stock, at cost |  | $ 4,805,000 | $ 4,187,000 |  |  |  |
Shares purchased to satisfy employee tax obligation | shares |  | 0 | 0 |  |  |  |
Derivative instruments outstanding |  | $ 0 | $ 0 |  |  |  |
Foreign exchange gains |  |  | 650,000 |  |  |  |
Consolidated [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Depreciation and amortization expense related to fixed assets |  | $ 1,083,000 | 1,208,000 | 809,000 |  |  |
Common Stock [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Stock repurchase program, number of shares authorized to be repurchased | shares | 500,000 |  |  |  |  |  |
Stock repurchase program, period in force | 2 years |  |  |  |  |  |
Number of shares repurchased during the period | shares |  | 67,699 |  |  |  |  |
Shares Acquired, Average Cost Per Share | $ / shares |  | $ 9.1 |  |  |  |  |
Data And Analytics Segment [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Software development cost capitalized |  |  | 300,000 | 1,000,000 |  |  |
Employee Stock Purchase Plan [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Shares available for future grants | shares |  | 466,919 |  |  |  |  | 600,000
Minimum [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Estimated useful life, intangible assets |  | 3 years |  |  |  |  |
Vesting period |  | 3 years |  |  |  |  |
Maximum [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Estimated useful life, intangible assets |  | 12 years |  |  |  |  |
Vesting period |  | 5 years |  |  |  |  |
Info Trellis Inc [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Valuation allowance provided |  | $ 628,000 | 559,000 | 311,000 |  |  |
Uncertain tax positions |  | 0 | 0 |  |  |  |
Goodwill impairment loss |  | 5,300,000 |  |  | $ 9,700,000 |  |
Revaluation of contingent consideration liability |  |  | 2,900,000 |  |  |  |
AmberLeaf [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Business combination contingent consideration liability |  | 0 | 0 |  |  | $ 2,900,000 |
Revaluation of contingent consideration liability |  | $ 0 | $ 0 | $ (2,900,000) |  |  |
Accounting Standards Update 2014-09 [Member] |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |
Percentage of billing expense revenues |  | 2.00% |  |  |  |  |

X
- Definition Derivative instruments outstanding. + References No definition available. + Details
Name: | mhh_DerivativeInstrumentsOutstanding
Namespace Prefix: | mhh_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Maximum percentage of billable expenses on revenue from customer. + References No definition available. + Details
Name: | mhh_MaximumPercentageOfBillableExpensesOnRevenueFromCustomer
Namespace Prefix: | mhh_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Significant accounting policies. + References No definition available. + Details
Name: | mhh_SignificantAccountingPoliciesLineItems
Namespace Prefix: | mhh_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479581/805-30-50-4 + Details
Name: | us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of liability recognized arising from contingent consideration in a business combination. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 25 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479668/805-30-25-6 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Subparagraph (b) -SubTopic 30 -Topic 805 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479613/805-30-35-1 + Details
Name: | us-gaap_BusinessCombinationContingentConsiderationLiability
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 985 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1 + Details
Name: | us-gaap_CapitalizedComputerSoftwareNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2 + Details
Name: | us-gaap_DeferredTaxAssetsValuationAllowance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (b) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 + Details
Name: | us-gaap_DepreciationDepletionAndAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount before tax of foreign currency transaction realized and unrealized gain recognized in the income statement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 830 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 830 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1 + Details
Name: | us-gaap_ForeignCurrencyTransactionGainBeforeTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (b) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 24 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482598/350-20-45-2 + Details
Name: | us-gaap_GoodwillImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18 + Details
Name: | us-gaap_NumberOfReportableSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares authorized for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of shares purchased for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Period which shares may be purchased under a stock repurchase plan authorized by an entity's Board of Directors, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramPeriodInForce1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Total cost of shares repurchased divided by the total number of shares repurchased. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 + Details
Name: | us-gaap_TreasuryStockAcquiredAverageCostPerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of previously issued common shares repurchased by the issuing entity and held in treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 + Details
Name: | us-gaap_TreasuryStockCommonShares
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of shares that have been repurchased during the period and are being held in treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_TreasuryStockSharesAcquired
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.29,30) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_TreasuryStockValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15 + Details
Name: | us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | mhh_DetailsAxis=mhh_ConsolidatedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_AwardTypeAxis=mhh_EmployeeStockPurchasePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=mhh_InfoTrellisIncMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=mhh_AmberLeafMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |