XML 54 R40.htm IDEA: XBRL DOCUMENT
v3.23.1

Summary of Significant Accounting Policies - Additional Information (Detail) |  | 12 Months Ended |  |
--- | --- | --- | --- | ---
Feb. 08, 2023 shares | Dec. 31, 2022 USD ($) Segment shares | Dec. 31, 2021 USD ($) shares | Dec. 31, 2020 USD ($) | May 15, 2019 shares | Jul. 01, 2018 USD ($)
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Bad debt (credit) expense |  | $ 50,000 | $ 130,000 | $ 0 |  |
Business combination contingent consideration liability |  | $ 0 | 0 | 2,882,000 |  |
Number of reportable segment | Segment |  | 2 |  |  |  |
Percentage of billing expense revenues |  | 2.00% |  |  |  |
Stock Incentive Plan, shares available for issuance | shares |  | 4,900,000 |  |  |  |
Allowance for uncollectible accounts |  | $ 444,000 | 375,000 |  |  |
Revaluation of contingent consideration liability |  | $ 0 | $ (2,882,000) | 0 |  |
Treasury stock, shares | shares |  | 1,646,420 | 1,646,420 |  |  |
Treasury stock, at cost |  | $ 4,187,000 | $ 4,187,000 |  |  |
Shares purchased to satisfy employee tax obligation | shares |  | 0 | 0 |  |  |
Derivative instruments outstanding |  | $ 0 | $ 0 |  |  |
Foreign exchange gains |  | 650,000,000 |  |  |  |
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 |  | 492,565 |  |  | 600,000 |
Subsequent Event [Member] | 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 |  |  |  |  |
Minimum [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Vesting period |  | 3 years |  |  |  |
Maximum [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Vesting period |  | 5 years |  |  |  |
Info Trellis Inc [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Bad debt (credit) expense |  | $ 50,000 | 130,000 | 0 |  |
Depreciation and amortization expense related to fixed assets |  | 1,208,000 | 809,000 | 799,000 |  |
Impairment on goodwill and intangible assets |  | 0 |  |  |  |
Valuation allowance provided |  | 559,000 | 311,000 | 179,000 |  |
Uncertain tax positions |  | 0 | 0 |  |  |
Allowance for uncollectible accounts |  | $ 444,000 | 375,000 |  |  |
Revaluation of contingent consideration liability |  |  | 2,900,000 |  |  |
Info Trellis Inc [Member] | Enterprise Software [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Software development cost capitalized |  |  |  |  |  | $ 2,400,000
Info Trellis Inc [Member] | Minimum [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Estimated useful life, intangible assets |  | 3 years |  |  |  |
Info Trellis Inc [Member] | Maximum [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Estimated useful life, intangible assets |  | 12 years |  |  |  |
AmberLeaf [Member] |  |  |  |  |  |
Significant Accounting Policies [Line Items] |  |  |  |  |  |
Business combination contingent consideration liability |  | $ 0 | 0 | 2,900,000 |  |
Revaluation of contingent consideration liability |  | $ 0 | $ (2,900,000) | $ 0 |  |
Accounting Standards Update 2014-09 [Member] | Info Trellis Inc [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 allowance for credit loss on accounts receivable, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 4 -URI https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 326 -SubTopic 20 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(4)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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 -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 50 -Paragraph 4 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 50 -Paragraph 1 -Subparagraph (c)(1) -URI https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 35 -Paragraph 1 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 25 -Paragraph 6 -URI https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319 + 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://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (e) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585 + 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: | duration

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 -Publisher FASB -Name Accounting Standards Codification -Topic 830 -SubTopic 20 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 830 -SubTopic 20 -Section 50 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895 + Details
Name: | us-gaap_ForeignCurrencyTransactionGainBeforeTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill. + References No definition available. + Details
Name: | us-gaap_GoodwillAndIntangibleAssetImpairment
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 -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 18 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599 + Details
Name: | us-gaap_NumberOfReportableSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of expense (reversal of expense) for expected credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 326 -SubTopic 20 -Section 50 -Paragraph 13 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(5)) -URI https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227 + Details
Name: | us-gaap_ProvisionForDoubtfulAccounts
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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (l) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + 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 Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.29,30) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655 + Details
Name: | us-gaap_TreasuryStockShares
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

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 -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 50 -Paragraph 4 -URI https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.29,30) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 15 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319 + Details
Name: | us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember
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: | 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember
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: |