XML 73 R56.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Stock-Based Compensation - Additional Information (Detail) - USD ($) | 12 Months Ended |
--- | --- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | May 15, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Shares allocated for issuance to directors, officers and key personnel | 5,400,000 |  |  |
Expiration period | 10 years |  |  |
Aggregate intrinsic value of stock options | $ 2,600,000 |  |  |
Intrinsic value of vested options | 2,500,000 |  |  |
Intrinsic value of options exercised | 0 | $ 777,000 | $ 355,000 |
Measurement date fair value of stock options vested | $ 245,000 | $ 653,000 | $ 2,100,000 |
Number of Options, Granted | 205,000 | 1,200,000 | 501,000 |
Dividend yield assumption | 0.00% | 0.00% | 0.00% |
Expected term (in years) | 3 years 8 months 12 days | 3 years 7 months 6 days | 3 years 9 months 18 days |
Stock-based compensation expense | $ 3,082,000 | $ 2,225,000 | $ 2,212,000 |
Tax benefits | 721,000 | $ 663,000 | $ 622,000 |
Expenses related to non-vested stock options | $ 3,500,000 |  |  |
Weighted-average remaining requisite service period | 1 year 9 months 18 days |  |  |
Price per share | $ 8.43 |  |  |
Employee stock purchase estimation | The fair value of the six-month “look-back” option in the Company’s employee stock purchase plans is estimated by adding the fair value of 15% of one share of stock to the fair value of 85% of an option on one share of stock. |  |  |
Minimum [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Vesting period | 3 years |  |  |
Number of Options, Granted | 25,000 | 300,000 | 10,000 |
Expected term (in years) | 3 years | 3 years | 1 year |
Maximum [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Vesting period | 5 years |  |  |
Number of Options, Granted | 180,000 | 900,000 | 491,000 |
Expected term (in years) | 4 years | 4 years | 4 years |
Employee Stock Purchase Plan [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Shares available for future grants | 466,919 |  |  | 600,000
Price per share | $ 8.03 | $ 11.53 |  |
Number of shares issued related to employee stock purchases | 25,646 | 23,789 |  |
Percentage of maximum contribution of salary towards plan | 15.00% |  |  |
Maximum contribution towards plan | $ 25,000 |  |  |
Discount on purchase of common stock | 15.00% |  |  |
Stock Incentive Plan [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Number of outstanding and/or exercised stock options | 4,005,000 |  |  |
Shares available for future grants | 835,000 |  |  |
Stock Incentive Plan [Member] | Minimum [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Vesting period | 3 years |  |  |
Stock Incentive Plan [Member] | Maximum [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Vesting period | 5 years |  |  |
Performance Shares [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Stock units released or outstanding vested | 260,000 |  |  |
Restricted Stock [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Stock units released or outstanding | 300,000 |  |  |
Restricted Stock Units Activity [Member] |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |
Aggregate intrinsic value of restricted stock units outstanding | $ 168,000 |  |  |
Intrinsic value of restricted shares released | $ 232,000 |  |  |
Weighted-average remaining requisite service period | 1 month 6 days |  |  |
Unrecognized compensation expense | $ 21,000 |  |  |

X
- Definition Employee stock purchase plan award fair value assumptions method used. + References No definition available. + Details
Name: | mhh_EmployeeStockPurchasePlanAwardFairValueAssumptionsMethodUsed
Namespace Prefix: | mhh_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share based compensation arrangement by share based payment award equity instruments other than options issued in period intrinsic value. + References No definition available. + Details
Name: | mhh_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodIntrinsicValue
Namespace Prefix: | mhh_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Share based compensation arrangement by share based payment award options outstanding or exercised number. + References No definition available. + Details
Name: | mhh_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingOrExercisedNumber
Namespace Prefix: | mhh_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share based compensation maximum limit of contributions towards plan per person. + References No definition available. + Details
Name: | mhh_ShareBasedCompensationMaximumLimitOfContributionsTowardsPlanPerPerson
Namespace Prefix: | mhh_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Share based compensation percentage of discount to purchase of common stock. + References No definition available. + Details
Name: | mhh_ShareBasedCompensationPercentageOfDiscountToPurchaseOfCommonStock
Namespace Prefix: | mhh_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of cost to be recognized for option 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 (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of tax benefit for recognition of expense of award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of noncash expense for share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (a) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 + Details
Name: | us-gaap_ShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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 The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 35 -Paragraph 1D -Publisher FASB -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 35 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(01) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(03) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(01) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(03) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iv) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(v) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan. + 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

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 Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Gross number of share options (or share units) granted during the period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(01) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding. + 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Number of shares issued under share-based payment arrangement. + 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Price of a single share of a number of saleable stocks of a company. + References No definition available. + Details
Name: | us-gaap_SharePrice
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options. + References No definition available. + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP). + 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(28)) -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 Reference 4: 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_StockIssuedDuringPeriodSharesShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

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_AwardTypeAxis=mhh_EmployeeStockPurchasePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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

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