KarmoLab
NPM · KARMOLAB-MCP · SCANNED AUG 14
MCP server for what LLMs get wrong: exact hashes, real randomness, and Korean rules.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to mascari4615/mascari4615.github.io). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3900 tokens (~86/item across 45 items; 45 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · karmolab-mcp
claude mcp add mascari4615-karmolab-mcp -- npx -y karmolab-mcp
codex mcp add mascari4615-karmolab-mcp -- npx -y karmolab-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mascari4615-karmolab-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"karmolab-mcp"
],
"enabled": true
}
}
} openclaw mcp add mascari4615-karmolab-mcp --command npx --arg -y --arg karmolab-mcp
mcp_servers:
mascari4615-karmolab-mcp:
command: "npx"
args: ["-y", "karmolab-mcp"] {
"mcpServers": {
"mascari4615-karmolab-mcp": {
"command": "npx",
"args": [
"-y",
"karmolab-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 11 Aug 26 +5
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 9 Aug 26 70
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 14 Aug 2026 · Analysed npm/karmolab-mcp@0.1.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | mascari4615/mascari4615.github.io |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/mascari4615/mascari4615.github.io/.github/workflows/npm-publish-mcp.yml@refs/heads/master |
| Rekor log index | 2396404799 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:71b0efba91db4f934d757a9a9fd769a0d0b79c16fe25fa51ad2f634ba84f35fa0294c3587728056f845f0361044763fe72bc3ec466329d593ad6eec83 |
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
base64_decode ~43
Base64 를 텍스트로 되돌린다. URL-safe 표기와 빠진 = 채움도 함께 처리한다.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
No output schema declared.
No examples provided.
base64_encode ~65
Encode text to Base64. Handles non-ASCII via UTF-8, so Korean does not break (plain btoa does). / 텍스트를 Base64 로. 한글 안 깨짐.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
| urlSafe | boolean | – | – |
No output schema declared.
No examples provided.
birth_info ~91
From a birth date: the three Korean ages (international / year-age / traditional), zodiac, star sign, weekday born, days lived, next birthday. Korea still uses all three ages in different laws, so all three are returned. / 한국식 나이 3종·띠·별자리·태어난 요일·산 날수·다음 생일.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
No output schema declared.
No examples provided.
bizno_check ~92
Validate a Korean business registration number (10 digits) or corporate registration number (13 digits) against its check-digit rule. Format only — it cannot tell you whether the number is actually registered (that needs the NTS lookup). / 한국 사업자등록번호·법인등록번호가 검증 숫자 규칙에 맞는지 계산한다. 형식만 본다.
| Name | Type | Req | Description |
|---|---|---|---|
| number | string | yes | – |
No output schema declared.
No examples provided.
charcount_count ~102
Count text every way at once — with/without spaces, words, sentences, lines, paragraphs, UTF-8 and EUC-KR bytes, Korean manuscript pages, and a breakdown by script. Emoji count as one character as a person sees them (naive .length says 2–7 for one emoji). / 글자수를 여러 기준으로 한 번에. 이모지는 보이는 대로 한 글자.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
charcount_fits ~73
Check whether text fits a limit, choosing the basis (with/without spaces, or bytes) — forms disagree on which one they mean. / 한도에 들어가는지. 기준을 골라서.
| Name | Type | Req | Description |
|---|---|---|---|
| basis | string | – | – |
| limit | number | yes | – |
| text | string | yes | – |
No output schema declared.
No examples provided.
csvjson_toCsv ~60
JSON 배열을 CSV 로 바꾼다. 값에 쉼표·따옴표·줄바꿈이 있으면 규칙대로 감싼다.
| Name | Type | Req | Description |
|---|---|---|---|
| delimiter | string | – | – |
| json | string | yes | – |
No output schema declared.
No examples provided.
csvjson_toJson ~99
CSV 를 JSON 배열로 바꾼다. 따옴표 안의 쉼표·줄바꿈을 규칙대로(RFC 4180) 처리한다. delimiter 기본은 쉼표, coerce 를 켜면 숫자/true/false/null 을 그 타입으로 바꾼다.
| Name | Type | Req | Description |
|---|---|---|---|
| coerce | boolean | – | – |
| csv | string | yes | – |
| delimiter | string | – | – |
No output schema declared.
No examples provided.
datecalc_between ~75
Days, weeks and weekdays between two dates — reported both inclusive and exclusive of the end date, because that off-by-one is the whole argument. / 두 날짜 사이 일수·주수·평일수. 끝날 포함/제외 둘 다.
| Name | Type | Req | Description |
|---|---|---|---|
| end | string | yes | – |
| start | string | yes | – |
No output schema declared.
No examples provided.
datecalc_dday ~80
Days until (or since) a target date. Reports both the D-Day convention (start day counts as day 1) and the plain difference — they differ by one and that is where the confusion lives. / D-Day. 관례 계산과 단순 차이를 함께.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| today | string | – | – |
No output schema declared.
No examples provided.
datecalc_shift ~102
Add or subtract days/weeks/months/years. Jan 31 + 1 month clamps to the last day of February instead of rolling over into March, which is what naive date math does. / 날짜 더하기·빼기. 없는 날은 그 달 마지막 날로.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| days | number | – | – |
| months | number | – | – |
| weeks | number | – | – |
| years | number | – | – |
No output schema declared.
No examples provided.
epoch_toDate ~78
Turn a Unix timestamp into a readable time, detecting seconds / milliseconds / microseconds / nanoseconds from the digit count — guessing wrong lands you in 1970 or the year 55000. / 유닉스 타임스탬프 → 사람이 읽는 시각. 단위 자동 판별.
| Name | Type | Req | Description |
|---|---|---|---|
| ts | string | yes | – |
No output schema declared.
No examples provided.
epoch_toStamp ~42
ISO 8601 시각을 유닉스 타임스탬프(초)로 바꾼다.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
No output schema declared.
No examples provided.
filehash_verify ~88
Compare two checksum strings. Publishers hand out values in mixed case, with a `sha256:` prefix, or wrapped across lines — comparing those literally reports "different" for identical files. / 체크섬 두 개를 맞춰 본다. 대문자·머리말·줄바꿈을 정리해서.
| Name | Type | Req | Description |
|---|---|---|---|
| actual | string | yes | – |
| expected | string | yes | – |
No output schema declared.
No examples provided.
grade_gpa ~95
Korean university GPA from "credits grade" lines, e.g. "3 A+\n3 B0\n2 A-" — credit-weighted, not a plain average. scale = 4.5 (default, the Korean norm) or 4.3. / 학점 가중 평점. scale 45(기본)·43.
| Name | Type | Req | Description |
|---|---|---|---|
| courses | string | yes | – |
| scale | string | – | – |
No output schema declared.
No examples provided.
grade_needed ~81
What average the remaining credits must earn to reach a target GPA — and it says so plainly when even straight A+ cannot get there. / 목표 평점에 필요한 남은 평균. 불가능하면 불가능하다고.
| Name | Type | Req | Description |
|---|---|---|---|
| courses | string | yes | – |
| future | number | yes | – |
| scale | string | – | – |
| target | number | yes | – |
No output schema declared.
No examples provided.
hangulkey_auto ~50
Detect the direction and convert. Any Hangul present means Hangul → keys. / 어느 쪽인지 알아서 판단해 반대로 바꾼다.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
hangulkey_toEnglish ~59
Turn Hangul into the 2-beolsik key sequence. 안녕하세요 → dkssudgktpdy. / 한글을 두벌식 자판의 영문 키 나열로.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
hangulkey_toKorean ~93
Recover Hangul typed without switching the IME (2-beolsik layout). dkssudgktpdy → 안녕하세요. Not a substitution table — it replays the composition automata (final consonants move to the next syllable when a vowel follows). / 한영키를 안 누르고 친 영문을 한글로 되돌린다.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
hashgen_text ~152
Hash a string to hex — the value an LLM will otherwise invent. Give algo for one, omit for all 7 (MD5, SHA-1, SHA-256, SHA-512, SHA3-512 (FIPS-202), Keccak-512 (pre-standard), RIPEMD-160). SHA3-512 and Keccak-512 are listed separately on purpose: most libraries call Keccak "SHA-3" and the values differ. / 문자열 해시를 16진수로. algo 를 주면 그것만, 안 주면 7종 전부.
| Name | Type | Req | Description |
|---|---|---|---|
| algo | string | – | – |
| text | string | yes | – |
| upper | boolean | – | – |
No output schema declared.
No examples provided.
interest_deposit ~83
Korean time deposit (simple interest) — maturity interest and the amount actually received, after the 15.4% interest income tax that quoted rates never include. / 정기예금 단리. 이자소득세 15.4% 반영.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| months | number | yes | – |
| rate | number | yes | – |
No output schema declared.
No examples provided.
interest_loan ~67
Equal-payment loan — monthly payment, total repaid, total interest. / 원리금균등 대출. 월 상환액·총 상환액·총 이자.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| months | number | yes | – |
| rate | number | yes | – |
No output schema declared.
No examples provided.
interest_saving ~96
Korean installment savings (simple interest). Only the early deposits earn a full year, so the real interest is roughly half of total × rate — the single most common money miscalculation here. The gap is shown explicitly. / 정기적금 단리. 「총액 × 연이율」과의 차이를 함께.
| Name | Type | Req | Description |
|---|---|---|---|
| monthly | number | yes | – |
| months | number | yes | – |
| rate | number | yes | – |
No output schema declared.
No examples provided.
jamo_initials ~56
Extract only the initial consonants (ㅎㄱ ← 한글) — for building a Korean initial-search index. / 초성만 뽑는다. 초성 검색 색인용.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
jamo_join ~75
Recompose a jamo sequence (ㄱㅏㅇ) back into syllables (강) — e.g. filenames that came out of macOS decomposed (NFD). / 자모 나열을 다시 글자로. NFD 로 풀린 파일 이름 되돌리기.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
jamo_split ~85
Split Hangul syllables into initial / medial / final jamo, and extract initials (used for Korean initial-consonant search). Compound finals (ㄳ ㄺ ㅄ) stay whole. / 한글을 초성·중성·종성으로 쪼갠다. 초성 뽑기 포함.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
loan_compare ~71
Compare all three repayment methods side by side — total interest and first-month payment, the two numbers that actually decide the choice. / 세 상환 방식 비교. 총이자·첫 달 상환액.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| months | number | yes | – |
| rate | number | yes | – |
No output schema declared.
No examples provided.
loan_schedule ~123
Full amortization schedule. method = equal (equal payment, default) | principal (equal principal) | bullet (interest-only then lump sum). grace = interest-only months, extra = extra paid monthly. / 대출 상환표. 원리금균등·원금균등·만기일시, 거치·추가상환 포함.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| extra | number | – | – |
| grace | number | – | – |
| method | string | – | – |
| months | number | yes | – |
| rate | number | yes | – |
No output schema declared.
No examples provided.
passgen_strength ~134
Rate a password by guessing cost, not by character classes. The usual "has upper, lower, digit, symbol" rule passes Password1! and fails correcthorsebatterystaple — exactly backwards. This scores common words, leet substitutions, sequences, repeats, years and keyboard runs as single cheap chunks, and reports the LOWER of that and the naive pool entropy, plus crack time at offline (1e10/s) and online (100/s) rates. / 비밀번호 세기를 「뚫는 비용」으로 잰다. 글자 종류 규칙 X.
| Name | Type | Req | Description |
|---|---|---|---|
| password | string | yes | – |
No output schema declared.
No examples provided.
qrgen_contact ~68
Make a contact (vCard) QR — scanning it adds the contact directly. / 연락처(vCard) QR.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | – | |
| name | string | yes | – |
| org | string | – | – |
| size | number | – | – |
| tel | string | – | – |
No output schema declared.
No examples provided.
qrgen_svg ~76
Make a QR code as SVG — no external API, so the contents never leave the machine. level = L/M/Q/H error correction (default M), size in pixels. / 내용을 QR SVG 로. 외부 API 없음.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | – |
| size | number | – | – |
| text | string | yes | – |
No output schema declared.
No examples provided.
qrgen_wifi ~97
WiFi 접속 QR 을 만든다. 스캔하면 그 네트워크에 바로 붙는다. encryption = WPA(기본) · WEP · nopass. 비밀번호에 ; : , \ 가 있어도 규칙대로 처리한다.
| Name | Type | Req | Description |
|---|---|---|---|
| encryption | string | – | – |
| hidden | boolean | – | – |
| password | string | – | – |
| size | number | – | – |
| ssid | string | yes | – |
No output schema declared.
No examples provided.
tableconv_convert ~99
Convert a table between formats, detecting the input (Excel paste / CSV / Markdown) on its own. Column widths count CJK characters as two cells, so aligned Markdown actually lines up. to = markdown (default), csv, tsv, json. / 표 꼴 변환. 들어온 꼴은 스스로 알아본다.
| Name | Type | Req | Description |
|---|---|---|---|
| align | boolean | – | – |
| table | string | yes | – |
| to | string | – | – |
No output schema declared.
No examples provided.
timecalc_shift ~86
Add or subtract a duration from a time, rolling into the next day past 24:00. duration accepts "1:25", "85m" or "1.5h". / 시각에 시간 더하기·빼기. 자정 넘김 처리.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | string | yes | – |
| minus | boolean | – | – |
| start | string | yes | – |
No output schema declared.
No examples provided.
timecalc_sum ~77
Sum durations (timesheets). One per line; "7:45", "8h" and "90m" can be mixed — base-60 addition is where hand-tallied hours go wrong. / 시간 합계. 한 줄에 하나, 표기 섞여도 됨.
| Name | Type | Req | Description |
|---|---|---|---|
| times | string | yes | – |
No output schema declared.
No examples provided.
unitconv_convert ~150
Convert units, including Korean/Japanese traditional ones — pyeong(평), geun(근), don(돈), nyang(냥), doe(되), mal(말), ja(자), ri(리). Models answer these with rounded folklore (1 pyeong is 3.3057851 m², not 3.3 — on an apartment that gap is visible money). No currency here: that would need live rates. / 단위 변환. 한국·일본 전통 단위 포함. 환율은 없다.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| from | string | yes | – |
| to | string | yes | – |
| value | number | yes | – |
No output schema declared.
No examples provided.
unitconv_list ~31
List available units by category. / 쓸 수 있는 단위 목록.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
No output schema declared.
No examples provided.
uuidgen_generate ~120
Generate IDs from a cryptographic RNG. An LLM asked for a "random" value returns something from its training data — using that as a token or password is a hole. kind = uuid4 (default), uuid7 (sortable by time), ulid, nanoid, password. count, length (nanoid/password), symbols (password). / 암호학적으로 안전한 난수로 ID 생성.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | – |
| kind | string | – | – |
| length | number | – | – |
| symbols | boolean | – | – |
No output schema declared.
No examples provided.
vat_add ~89
Add Korean VAT to a net amount (net × 1.1). Rounds so that net + VAT equals the total exactly — rounding the three lines separately makes them disagree by a won. / 공급가에 부가세를 더한다. 세 줄이 서로 맞게 반올림.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| rate | number | – | – |
| rounding | string | – | – |
No output schema declared.
No examples provided.
vat_extract ~111
Extract the net amount and VAT from a VAT-inclusive total (total ÷ 1.1), which is NOT the same as subtracting 10% — that common shortcut gives 99,000 instead of 100,000 for a 110,000 total. / 총액에서 공급가·세액을 빼낸다. 10% 를 빼는 것과 다르다.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | – |
| rate | number | – | – |
| rounding | string | – | – |
No output schema declared.
No examples provided.
wordfreq_count ~112
Word frequency, with Korean particles (을/를/에서는…) stripped so inflected forms collapse. Without that, 도구를 / 도구가 / 도구는 count as three different words and the top list is useless. Also returns repeated two-word phrases. / 낱말 빈도. 한국어 조사를 떼어 같은 말로 묶는다.
| Name | Type | Req | Description |
|---|---|---|---|
| particles | boolean | – | – |
| stopwords | boolean | – | – |
| text | string | yes | – |
| top | number | – | – |
No output schema declared.
No examples provided.
workdays_after ~121
N business days after a start date — excluding weekends, public holidays AND substitute holidays. Substitute holidays are a table, not a rule (2025-01-27 was a one-off). Years not in the table are reported as unknown instead of guessed. region defaults to KR (JP/US also available). / 영업일 N일 뒤. 주말 + 공휴일 + 대체공휴일 제외.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | yes | – |
| region | string | – | – |
| saturday | boolean | – | – |
| start | string | yes | – |
No output schema declared.
No examples provided.
workdays_between ~78
Count business days between two dates, and list which days were skipped and why (a bare number cannot be checked). / 두 날짜 사이 영업일 수. 어떤 날을 뺐는지도 함께.
| Name | Type | Req | Description |
|---|---|---|---|
| end | string | yes | – |
| region | string | – | – |
| saturday | boolean | – | – |
| start | string | yes | – |
No output schema declared.
No examples provided.
worldclock_convert ~88
Convert a time from one zone to another, applying DST as it stood on that date (not as it stands today). Zones are IANA names: Asia/Seoul, America/New_York. / 도시 간 시각 변환. 그 날짜의 서머타임 반영.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | – |
| time | string | yes | – |
| to | string | yes | – |
No output schema declared.
No examples provided.
worldclock_offset ~87
Offset between two zones for a given date. It will disagree with the number you memorised: DST moves it twice a year, and the two hemispheres do not move together. / 두 시간대 시차. 그 날짜 기준 — 외운 숫자와 다를 수 있다.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | – |
| from | string | yes | – |
| to | string | yes | – |
No output schema declared.
No examples provided.