XML 53 R46.htm IDEA: XBRL DOCUMENT
v3.25.3

Shareholders' Equity - Additional Information (Detail) - $ / shares | 3 Months Ended | 9 Months Ended |
--- | --- | --- | ---
Sep. 30, 2025 | Sep. 30, 2024 | Sep. 30, 2025 | Sep. 30, 2024 | Feb. 08, 2023
Equity, Class of Treasury Stock [Line Items] |  |  |  |  |
Shares purchased to satisfy employee tax obligation | 0 | 0 | 0 | 0 |
Common Stock [Member] |  |  |  |  |
Equity, Class of Treasury Stock [Line Items] |  |  |  |  |
Stock repurchase program, number of shares authorized to be repurchased |  |  |  |  | 500,000
Stock repurchase program, period in force |  |  | 2 years |  |
Number of shares repurchased during the period | 192,112 |  | 208,623 | 9,222 |
Treasury stock average repurchase price per share | $ 7.68 |  | $ 7.62 | $ 8.7 |
Available stock repurchased during period shares | 214,456 |  | 214,456 |  |
Block Purchase [Member] | Common Stock [Member] |  |  |  |  |
Equity, Class of Treasury Stock [Line Items] |  |  |  |  |
Number of shares repurchased during the period |  |  | 138,500 |  |
Treasury stock average repurchase price per share |  |  | $ 7.64 |  |

X
- Definition Available stock repurchased during period shares. + References No definition available. + Details
Name: | mhh_AvailableStockRepurchasedDuringPeriodShares
Namespace Prefix: | mhh_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

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 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_EquityClassOfTreasuryStockLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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 Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock. + 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 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 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 505 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(4)(b)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-03(i)(2)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3 Reference 7: 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_StockRepurchasedDuringPeriodShares
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
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
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ShareRepurchaseProgramAxis=mhh_BlockPurchaseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |