XML 55 R39.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Summary of Significant Accounting Policies - Additional Information (Detail) |  | 12 Months Ended |  |  |
--- | --- | --- | --- | --- | ---
Feb. 08, 2023 shares | Dec. 31, 2024 USD ($) Segment $ / shares shares | Dec. 31, 2023 USD ($) $ / shares shares | Dec. 31, 2022 USD ($) | Dec. 31, 2018 USD ($) | Dec. 10, 2024 shares | Dec. 31, 2021 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 |  | $ 0 | $ 5,300,000 | $ 0 |  |  |  |
Treasury stock, shares | shares |  | 1,723,341 | 1,714,119 |  |  |  |  |
Treasury stock, at cost |  | $ 4,885,000 | $ 4,805,000 |  |  |  |  |
Shares purchased to satisfy employee tax obligation | shares |  | 0 | 0 |  |  |  |  |
Foreign exchange gains |  |  |  | 650,000 |  |  |  |
Consolidated [Member] |  |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |  |
Depreciation and amortization expense related to fixed assets |  | $ 806,000 | $ 1,083,000 | 1,208,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 |  | 9,222 | 67,699 |  |  |  |  |
Shares Acquired, Average Cost Per Share | $ / shares |  | $ 8.7 | $ 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 |  | 432,059 |  |  |  |  |  | 600,000
2024 Inducement Stock Incentive Plan [Member] |  |  |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |  |  |
Common stock, capital shares reserved for future issuance | shares |  |  |  |  |  | 1,500,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 |  | $ 452,000 | $ 628,000 | $ 559,000 |  |  |  |
Uncertain tax positions |  | $ 0 | 0 |  |  |  |  |
Goodwill impairment loss |  |  | $ 5,300,000 |  | $ 9,700,000 |  |  |

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 Number of shares authorized to be purchased under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 505 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4 + Details
Name: | srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
Namespace Prefix: | srt_
Data Type: | xbrli:sharesItemType
Balance Type: | na
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 Aggregate number of common shares reserved for future issuance. + References Reference 1: 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_CommonStockCapitalSharesReservedForFutureIssuance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
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/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 48 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 49 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: 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 impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 100 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100 Reference 5: 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 6: 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/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 47 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 54 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54 Reference 3: 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 Period share may be purchased under authorized share repurchase plan, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, repurchase of stock and unit of ownership. + 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 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 Reference 3: 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 + 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 -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 Reference 2: 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(30)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1 Reference 3: 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 4: 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_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/exampleRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 217 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217 Reference 2: 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: | us-gaap_AwardTypeAxis=mhh_TwoThousandTwentyFourInducementStockIncentivePlanMember
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: |