Skip to main content
Glama
jack200250-collab

mcp-finance-tools

mcp-finance-tools — 한국형 금융 계산기 MCP 서버

한국 세법·근로기준법·금융 규제에 특화된 계산기를 Model Context Protocol(MCP) 도구로 제공하는 서버입니다. Claude Desktop, Claude Code, Cursor 등 MCP를 지원하는 AI 에이전트가 이 서버를 호출해 4대보험, 연봉 실수령액, 퇴직금, 양도소득세, DSR/DTI, 환율 변환, 청약 가점을 계산할 수 있습니다.

영어권에서 만들어진 범용 MCP 서버들은 한국 세법/보험/부동산 도메인을 다루지 않습니다. 이 서버는 그 빈틈을 겨냥한 "한국형 도메인 특화" MCP 서버입니다.


한국어 안내

설치 및 실행 (npx)

별도 설치 없이 npx로 바로 실행할 수 있습니다 (Claude Desktop / Cursor 등의 MCP 설정 파일에 아래처럼 등록):

{
  "mcpServers": {
    "kr-finance-tools": {
      "command": "npx",
      "args": ["-y", "mcp-finance-tools"],
      "env": {
        "GUMROAD_PRODUCT_PERMALINK": "Gumroad 프리미엄 상품 permalink (선택, 프리미엄 도구 사용 시 필요)",
        "KR_FINANCE_LICENSE_KEY": "발급받은 프리미엄 라이선스 키 (선택)"
      }
    }
  }
}

로컬 개발/테스트 시:

npm install
node index.js

도구 목록

MCP 도구 이름(tool name) 표준은 영문/숫자/_/-/.만 허용합니다. 그래서 도구 식별자는 영문으로 짓고, 한국어 명칭은 title/설명에 표기했습니다.

무료 도구 (3종 — 라이선스 불필요)

도구 이름 (식별자)

한국어 명칭

설명

calc_4major_insurance

4대보험 계산기

월급 입력 → 국민연금(4.5%) / 건강보험(3.545%+장기요양보험료) / 고용보험(0.9%) 근로자 부담분 계산

calc_annual_salary_net

연봉 실수령액 계산기

연봉 입력 → 4대보험 + 간이 소득세/지방소득세 공제 후 월/연 실수령액 추정

calc_severance_pay

퇴직금 계산기

근속연수 + 최근 3개월 급여합계 입력 → 표준 퇴직금 공식(1일 평균임금 × 30일 × 근속연수) 계산

예시 (calc_annual_salary_net):

{ "연봉": 40000000 }

→ 월 실수령액 약 2,878,295원, 연 실수령액 약 34,539,540원 (근사치. 근로소득공제 구간표 + 종합소득세 누진구조 + 근로소득세액공제를 반영한 계산, 1인 가구/표준공제 전제)

프리미엄 도구 (4종 — Gumroad 라이선스 실시간 검증 필요, 월 9,900원)

도구 이름 (식별자)

한국어 명칭

설명

calc_capital_gains_tax_simple

양도소득세 간이 계산기

부동산 양도차익 + 보유기간(+보유주택수) 입력 → 간이 세율 구간 기준 양도소득세 근사 계산. 1주택+2년 이상 보유 시 비과세 가능성 경고 표시

calc_dsr_dti

DSR/DTI 계산기

연소득 + 기존 대출 상환액 + 신규 대출 조건(원금/금리/만기) 입력 → DSR·DTI 비율 및 대출 한도 계산

calc_fx_convert

환율 변환 계산기

환율을 직접 입력하면 그 값을, 입력하지 않으면 무료 공개 API(open.er-api.com)로 실시간 환율을 조회해 통화 변환

calc_housing_subscription_score

청약 가점 계산기

무주택기간(32점)+부양가족수(35점)+청약통장 가입기간(17점) → 84점 만점 청약 가점 계산

예시 (calc_dsr_dti):

{
  "연소득": 60000000,
  "신규대출_원금": 300000000,
  "신규대출_연이율": 4,
  "신규대출_만기년": 30
}

→ 월 상환액 약 1,432,246원, DSR 약 28.6%, DTI 약 20% (근사치)

무료/프리미엄 구분 및 라이선스 (v1.1.0 — Gumroad 실시간 검증으로 전환)

프리미엄 도구 4종은 실행할 때마다 Gumroad License Verification API(https://api.gumroad.com/v2/licenses/verify, API 키 불필요한 공개 엔드포인트)를 호출해 라이선스를 실시간으로 검증합니다.

  • GUMROAD_PRODUCT_PERMALINK 환경변수(서버 운영자가 설정)가 없으면 → "프리미엄 상품 준비 중" 메시지로 안전하게 차단합니다(fail-closed).

  • KR_FINANCE_LICENSE_KEY 환경변수(구매자가 설정)가 없으면 → 네트워크 호출 없이 즉시 "구매 필요" 메시지를 반환합니다.

  • 두 값이 모두 있으면 Gumroad 서버에 실제로 결제·발급 여부를 조회합니다. 환불(refunded)/이의제기(chargebacked·disputed)/구독취소(subscription_cancelled_at) 상태인 키는 거부됩니다.

  • 네트워크 호출이 실패하거나 타임아웃되어도 라이선스를 통과시키지 않습니다 (fail-closed 원칙 — 장애를 "우회 성공"으로 오인하지 않도록 설계).

v1.0.0에서 바뀐 이유: v1.0.0은 로컬 HMAC-SHA256 체크섬으로 자체 검증하는 방식이었는데, 이 코드 전체가 npm/GitHub에 그대로 공개되어 있어 검증 로직과 비밀키가 함께 노출되었습니다. 즉 소스를 읽을 수 있는 사람은 누구나 유효한 "프리미엄 키"를 스스로 만들어낼 수 있는 근본적 결함이었습니다. v1.1.0은 검증 판단 자체를 로컬 코드가 아니라 Gumroad 서버로 옮겨, 실제로 결제하고 Gumroad가 발급한 키만 통과하도록 바꿨습니다 — 소스코드를 전부 공개해도 위조가 불가능합니다.

주의사항 (정확성, v1.1.0 개선)

  • 모든 계산은 2026년 7월 고시 기준 요율/구간을 반영했으나, 세무/재무 자문을 대체하지 않는 근사 계산입니다.

  • 4대보험: 국민연금 기준소득월액 상한(6,590,000원)/하한(410,000원)을 반영했습니다(2026.7~2027.6 고시 기준). 2026년 확정 요율(국민연금 근로자부담 4.75%, 건강보험 3.595%, 장기요양 13.14%)을 사용합니다.

  • 연봉 실수령액: 근로소득공제 구간표 + 종합소득세 누진구조 + 근로소득세액공제(한도 포함)를 반영한 근사 공식을 사용합니다. 전제: 1인 가구, 본인 기본공제+표준세액공제(13만원)만 적용 — 부양가족 추가공제, 신용카드 소득공제, 보험료·의료비·교육비 등 특별세액공제는 반영하지 않았습니다. 여전히 실제 국세청 "근로소득 간이세액표"·연말정산 결과와 차이가 있을 수 있습니다.

  • 양도소득세: 보유주택수(기본값 1) 입력을 지원합니다. 1주택+보유기간 2년 이상이면 1세대1주택 비과세 대상일 가능성이 높다는 경고를 표시하지만, 실거주 요건·조정대상지역 여부 등은 자동 판정할 수 없어 과세를 가정한 참고용 계산도 함께 제공합니다. 다주택자 중과·조정대상지역 여부는 미반영.

  • 환율변환: 환율을 직접 입력하면 그 값을 우선 사용하고(오프라인 폴백), 입력하지 않으면 무료 공개 API(open.er-api.com)로 실시간 환율을 조회합니다.

  • 이 서버는 세무/재무 자문을 대체하지 않습니다. 실제 의사결정 전 반드시 세무사, 회계사, 금융기관 등 전문가와 상담하십시오.


Related MCP server: krx-cli

English

mcp-finance-tools is an MCP (Model Context Protocol) server exposing Korea-specific financial calculators — national pension, health/employment insurance, take-home pay estimation, severance pay, capital gains tax (real estate), DSR/DTI loan-limit ratios, and a simple FX converter — as tools that any MCP-compatible AI agent (Claude Desktop, Claude Code, Cursor, etc.) can call.

Install & run

{
  "mcpServers": {
    "kr-finance-tools": {
      "command": "npx",
      "args": ["-y", "mcp-finance-tools"],
      "env": {
        "GUMROAD_PRODUCT_PERMALINK": "your Gumroad product permalink (set by operator)",
        "KR_FINANCE_LICENSE_KEY": "your premium key (optional)"
      }
    }
  }
}

Local dev: npm install && node index.js (stdio transport). Requires Node.js >= 18 (uses global fetch).

Tools

Free (3): calc_4major_insurance, calc_annual_salary_net, calc_severance_pay — run without any license.

Premium (4, requires a Gumroad-verified KR_FINANCE_LICENSE_KEY): calc_capital_gains_tax_simple (now accepts 보유주택수/house-count for a one-house non-taxable warning), calc_dsr_dti, calc_fx_convert (now supports live rate lookup via open.er-api.com when no rate is supplied), calc_housing_subscription_score.

License gating (v1.1.0 — real-time Gumroad server verification, fail-closed)

v1.0.0 verified licenses with a local HMAC-SHA256 checksum baked into the same source code that ships on npm/GitHub — meaning anyone reading the code could generate their own "valid" key. v1.1.0 replaces this with a runtime call to the Gumroad License Verification API (POST https://api.gumroad.com/v2/licenses/verify, no API key required): only keys actually issued by Gumroad for a real purchase pass, because verification happens on Gumroad's server, not in the shipped code.

  • No GUMROAD_PRODUCT_PERMALINK set → blocked with a "premium product not yet configured" message (fail-closed).

  • No KR_FINANCE_LICENSE_KEY set → blocked immediately, no network call.

  • Network failure/timeout while calling Gumroad → blocked, never passed through (fail-closed — a network hiccup must never look like a successful check).

  • Gumroad reports the purchase as refunded/chargebacked/disputed/subscription-cancelled → blocked.

Accuracy disclaimer (v1.1.0 improvements)

All figures use July 2026 published rates/brackets but remain simplified approximations, not a substitute for professional advice.

  • 4 major insurance: national pension now respects the 기준소득월액 cap (6,590,000 KRW) / floor (410,000 KRW) for the 2026.7–2027.6 period, and uses the confirmed 2026 rates (pension 4.75%, health 3.595%, long-term care 13.14% of health premium).

  • Take-home pay: now models the actual 근로소득공제 bracket table, progressive income-tax brackets, and 근로소득세액공제 (with its cap) instead of an arbitrary flat-rate approximation. Assumes a single-person household with only the basic personal deduction + standard tax credit — dependent deductions, credit-card deductions, and itemized special tax credits are not modeled.

  • Capital gains tax: accepts an optional 보유주택수 (house count, default 1). If house count ≤ 1 and holding period ≥ 2 years, it now surfaces a "likely eligible for one-house non-taxable treatment — confirm with a tax accountant" warning alongside a reference taxable-scenario calculation (full automatic exemption determination is not possible).

  • FX conversion: if you supply a rate, it's used as-is (offline fallback); if you omit it, a free no-key API (open.er-api.com) is queried for a live rate.

This tool does not replace professional tax or financial advice — consult a licensed tax accountant (세무사) or financial advisor before making real decisions.


파일 구성

  • package.json — npm 패키지 정의 (bin 엔트리 포함, npx로 실행 가능)

  • index.js — MCP 서버 메인 파일 (stdio transport, 7개 tool 등록)

  • calculators.js — 계산 로직 순수 함수 모음 + Gumroad 실시간 라이선스 검증 로직 (MCP 프로토콜과 무관, 단독 테스트 가능)

  • test-calculators.js — 7개 계산기 + Gumroad 라이선스 게이트(목 fetch로 검증)를 MCP 프로토콜 없이 직접 호출하는 스모크 테스트

  • monetization-plan.md — 수익화 전략 + 라이선스 검증 설계 문서 (v1.1.0: Gumroad 실시간 검증으로 갱신)

  • marketplace-metadata.md — Smithery/Glama/MCP.so 등록용 메타데이터 정리

  • DEPLOY_STEPS.md — GitHub push / npm publish / 마켓플레이스 등록 실행 명령어 안내 (사용자 직접 실행용)

  • .gitignorenode_modules 등 커밋 제외 목록

Available Tools

7 tools
calc_4major_insurance4대보험 계산기 (무료)A

[4대보험] 월급을 입력하면 국민연금(4.5%), 건강보험(3.545%+장기요양보험료), 고용보험(0.9%) 근로자 부담분을 계산합니다. 2026년 근사 요율 기준.

ParametersJSON Schema
NameRequiredDescriptionDefault
월급Yes세전 월급 (원)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since annotations are absent, the description carries the transparency burden and does disclose the exact rates (4.5%, 3.545% + long-term care, 0.9%) and notes they are approximate 2026 rates. However, it does not explain the return format, rounding behavior, income ceilings, or the long-term care rate percentage, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence containing all essential information—input, rates, scope, and vintage—without any filler. Every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter calculator, the description covers the main purpose, input, rates, and approximation basis. However, with no output schema, it should be more explicit about what the tool returns (e.g., total amount vs. itemized breakdown), and it omits the long-term care insurance rate and legal contribution limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the parameter 월급 already described as '세전 월급 (원)' and an exclusive minimum. The description adds that the salary is used to compute the deduction amounts, but it does not materially enrich the parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('계산합니다') and clearly identifies the resource as 4대보험, enumerating the exact components and rates. This differentiates it well from sibling calculator tools such as calc_annual_salary_net or calc_severance_pay.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states that entering a monthly salary triggers the calculation and clarifies that only the employee burden (근로자 부담분) is computed, which provides clear usage context. It does not explicitly name alternatives or exclusion rules, but the scope is sufficiently clear for this standalone calculator.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_annual_salary_net연봉 실수령액 계산기 (무료)A

[연봉실수령액] 연봉을 입력하면 4대보험과 간이 소득세/지방소득세를 공제한 월/연 실수령액을 추정합니다. 2026년 기준 간이세액표 근사치를 사용하며, 정확한 국세청 세액표 기준이 아닙니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
연봉Yes세전 연봉 (원)
비과세액No월 비과세 소득 (식대 등, 원). 기본값 0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It honestly states that the calculation uses a 2026 simplified tax table approximation and is not exact per NTS standards, plus the word '추정' signals estimation. This is strong transparency for a calculator, though it does not detail output formatting or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and includes a key limitation (approximation) without unnecessary fluff. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description specifies the output as monthly/yearly net amounts and lists the deduction components. It also warns about accuracy limitations. It does not cover the optional 비과세액 parameter, but that is documented in the schema, so the description is sufficiently complete for a simple calculator.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond the schema, but it contextualizes how the salary input is used (deductions applied). The schema already explains 연봉 as pre-tax annual salary and 비과세액 as monthly non-taxable income, so the description adds minimal extra value here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates monthly/yearly net salary after deducting 4 major insurances and simplified income/local income tax. The verb '추정합니다' (estimates) and the resource '연봉 실수령액' make the purpose specific and distinct from sibling calculators like calc_4major_insurance or calc_severance_pay.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use this tool when you have an annual salary input and want an estimated net amount. It does not explicitly address alternatives, but the title and description make the tool's domain obvious relative to siblings, which cover distinct calculation types (insurance, severance, tax, DSR, FX, housing score).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_capital_gains_tax_simple양도소득세 간이 계산기 (프리미엄)A

[프리미엄/양도소득세 간이] 부동산 양도차익과 보유기간을 입력하면 간이 세율 구간으로 양도소득세를 근사 계산합니다. 보유주택수(기본값 1)를 함께 입력하면 1세대1주택 비과세 가능성 경고도 표시합니다. 실제 세무 자문이 아닙니다. Gumroad 라이선스 실시간 검증(KR_FINANCE_LICENSE_KEY)이 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
양도차익Yes양도가액 - 취득가액 - 필요경비 (원)
보유주택수No양도 시점 기준 보유주택수 (기본값 1). 1주택+2년 이상 보유 시 비과세 가능성 경고 표시
보유기간_년Yes보유기간 (년, 예: 2.5)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses approximation behavior, the exemption warning triggered by 보유주택수, and the Gumroad license verification requirement. It does not describe the output format or failure behavior, but the disclosed constraints are valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core calculation purpose, and every sentence earns its place: function, optional behavior, license requirement. No redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-param calculator with no output schema, the description covers the main purpose, input relationships, limitations, and operational requirements. It doesn't specify the return value or edge-case handling, but these are largely implied for a calculator tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds extra semantic value: it states the default for 보유주택수 (기본값 1) and explains why the user would input it (to generate a 비과세 warning), going beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (근사 계산합니다) and resource (양도소득세) and clearly scopes it as a simple calculator for real estate transfer gains. It is readily distinguishable from sibling calculators like calc_severance_pay or calc_fx_convert by naming the exact tax type and '간이' mode.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context: this is an approximate, not actual tax advice, and requires a premium license. However, it does not explicitly name alternative tools or say when to prefer another calculator, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_dsr_dtiDSR/DTI 계산기 (프리미엄)A

[프리미엄/DSR·DTI] 연소득, 기존 대출 상환액, 신규 대출 조건(원금/금리/만기)을 입력하면 DSR·DTI 비율과 대출 한도를 계산합니다. Gumroad 라이선스 실시간 검증(KR_FINANCE_LICENSE_KEY)이 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
연소득Yes연소득 (원)
신규대출_원금Yes신규 대출 원금 (원)
신규대출_만기년Yes신규 대출 만기 (년)
신규대출_연이율Yes신규 대출 연이율 (%, 예: 4.5)
기존대출_연간이자상환액No기존 대출의 연간 이자 상환액 합계 (원, DTI 계산용, 기본값 0)
기존대출_연간원리금상환액No기존 대출의 연간 원리금 상환액 합계 (원, 기본값 0)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a key behavioral trait: real-time Gumroad license verification (KR_FINANCE_LICENSE_KEY). However, it does not mention side effects, output format, or error behavior. For a calculator, this is acceptable but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core function and inputs, followed by the license requirement. Every sentence earns its place; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and no output schema, the description adequately conveys inputs, outputs (DSR/DTI ratio and limit), and the license constraint. It doesn't explain how the license key is provided or all edge cases, but it covers the essential information for a calculator.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters. The description reiterates input categories (income, existing repayments, new loan terms) but adds no additional semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('계산합니다' - calculates) and resource (DSR·DTI ratio and loan limit), with clear scope (based on income, existing loan repayments, new loan terms). This distinguishes it from sibling tools, which are other financial calculators (insurance, salary, severance, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when DSR/DTI calculations are needed. It provides context for the inputs and mentions the license requirement, but does not explicitly name alternatives or state when not to use it. Since no other sibling handles DSR/DTI, the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_fx_convert환율 변환 계산기 (프리미엄)A

[프리미엄/환율변환] 환율을 직접 입력하면 그 값으로, 입력하지 않으면 무료 공개 API (open.er-api.com)로 실시간 환율을 조회해 통화를 변환합니다. Gumroad 라이선스 실시간 검증(KR_FINANCE_LICENSE_KEY)이 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
금액Yes변환할 금액
환율No1 기준통화 = 환율 × 1 대상통화. 생략하면 open.er-api.com에서 실시간 환율을 조회합니다.
기준통화Yes기준 통화 코드 (예: USD)
대상통화Yes대상 통화 코드 (예: KRW)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description discloses key behaviors: it optionally calls a free public API (open.er-api.com) for real-time rates and performs real-time Gumroad license verification. This adds significant context beyond the schema, though it doesn't cover all edge cases like API failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with a premium tag, and every clause provides necessary information: the conversion behavior, the API fallback, and the license requirement. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is fairly complete for a simple calculator tool: it explains the core mechanics and a prerequisite. It does not describe the output format, but the absence of an output schema and the simplicity of the task make this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all four parameters, giving high coverage. The description adds operational meaning by explaining that the '환율' parameter is optional and triggers a real-time API lookup when omitted, which is not apparent from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts currency, using '환율 변환' and '통화를 변환합니다.' It distinguishes itself from sibling calculator tools by specifying exchange rate conversion, and the premium tag further differentiates it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: it requires a premium license and specifies the behavior when an exchange rate is provided versus omitted. It does not explicitly mention alternatives or exclusions, but the purpose is distinct enough among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_housing_subscription_score청약 가점 계산기 (프리미엄)A

[프리미엄/청약가점] 무주택기간, 부양가족수, 청약통장 가입기간을 입력하면 주택청약 가점제 표준 산정표(무주택기간 32점+부양가족 35점+청약통장 17점, 84점 만점)로 청약 가점을 계산합니다. Gumroad 라이선스 실시간 검증(KR_FINANCE_LICENSE_KEY)이 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
부양가족수Yes부양가족수 (본인 제외 세대원 수, 정수)
무주택기간_년Yes무주택기간 (년, 예: 5.5)
청약통장가입기간_년Yes청약통장(주택청약종합저축 등) 가입기간 (년, 예: 10)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the license validation requirement and the scoring formula, which is beyond the basic 'calculate' intention. However, it does not mention error behavior, return format, or whether any data is stored, leaving minor gaps. The license disclosure and formula transparency justify a 4.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and structured: a bracketed prefix for category, a single clear sentence stating the function and formula, and a final sentence for the license requirement. No unnecessary words or repetition, and essential information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple calculator with no output schema, the description covers all necessary aspects: inputs, scoring formula, and the license prerequisite. It is sufficiently complete for an agent to select and invoke the tool correctly without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds extra semantic value by explaining how each parameter contributes to the total score (무주택기간 up to 32 points, 부양가족 up to 35, 청약통장 up to 17), giving meaningful context beyond the schema's plain descriptions. Thus a 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates housing subscription scores (청약 가점) using the standard scoring table, and specifies the exact point breakdown (무주택기간 32점, 부양가족 35점, 청약통장 17점, 총 84점). It distinguishes itself from sibling tools by being a premium calculator for this specific domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage: it is a premium tool requiring Gumroad license validation via KR_FINANCE_LICENSE_KEY. It implies it should be used when a housing subscription score is needed, but it does not explicitly mention alternatives or exclusions. This earns a 4 rather than 5 due to the absence of explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_severance_pay퇴직금 계산기 (무료)A

[퇴직금] 근속연수와 최근 3개월 급여합계를 입력하면 표준 퇴직금 공식(1일 평균임금 × 30일 × 근속연수)으로 예상 퇴직금을 계산합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
근속연수Yes근속연수 (예: 3.5)
최근3개월_일수No최근 3개월의 총 일수 (기본값 90일)
최근3개월_급여합계Yes최근 3개월간 지급된 급여 총액 (원, 상여금 등 포함 가능)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the calculation formula and labels the result as '예상' (estimated), which is helpful. However, it doesn't mention assumptions such as the default 90-day period, rounding, or potential discrepancies from actual legal severance pay calculations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that includes the formula and required inputs. It avoids unnecessary words and communicates the essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple calculator with three well-documented parameters and a numeric output, the description is mostly complete. It provides the formula and inputs, but lacks an explicit disclaimer about legal accuracy or guidance on when to use the optional '최근3개월_일수' parameter, which would make it fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds the formula that connects them, but it doesn't add extra syntax or format details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: calculate estimated severance pay using a specific formula (1-day average wage × 30 days × years of service). It names the exact inputs (근속연수 and 최근 3개월 급여합계) and uses a specific verb (계산), distinguishing it from sibling calculator tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this is a calculator for severance pay estimation. It doesn't explicitly mention alternatives or when not to use it, but the context is unambiguous given the tool's name and title, and the inclusion of the standard formula makes the use case evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.1.0
    • First observedcalc_4major_insurance
    • First observedcalc_annual_salary_net
    • First observedcalc_capital_gains_tax_simple
    • First observedcalc_dsr_dti
    • First observedcalc_fx_convert
    • First observedcalc_housing_subscription_score
    • First observedcalc_severance_pay

TDQS

A4.3/5.0
Disambiguation5/5

Each tool focuses on a distinct financial calculation (insurance, net salary, severance, capital gains, DSR/DTI, FX, housing score). No two tools overlap in purpose, so an agent can clearly distinguish them.

Naming Consistency5/5

All tools follow the same calc_ prefix followed by a descriptive snake_case noun phrase. The pattern is uniform and predictable, making it easy to infer tool function from name alone.

Tool Count5/5

Seven tools cover a range of common Korean personal finance calculations without being excessive. Each tool addresses a distinct need, and the count is well within the ideal range for a domain-specific server.

Completeness4/5

The set covers major personal finance areas like employment, severance, real estate, lending, FX, and housing. A minor gap is the lack of a standalone income tax calculator (though net salary includes an estimate), but core workflows are well covered.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.

  • Tested financial & practical calculators as free, no-auth MCP tools for AI agents.

  • Official-source financial data for AI agents: Korea, US, Taiwan, Japan, Europe. 37 tools, free tier.

  • SmartMoney77 MCP v0.6.0 — 14 public tools that turn financial questions into exact numbers and citable links. New: historical_investment_return and compare_investments, which compute "what if I had invested" results from real yearly price data. Also compound interest, FIRE number, credit-card payoff, emergency fund, inflation, latte factor, investment fees, cost of waiting, plus discovery/deep-link/share-pack tools for a catalog of calculators in 6 languages (he/en/ar/es/pt/in). Public, no login. Endpoint: https://smartmoney77.com/mcp

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query real-time and historical Korean stock market data from KRX (Korea Exchange) including indices, stocks, ETFs, bonds, derivatives, and commodities via MCP tools and resources.
    21
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Connects to Korea's MOLIT real estate API to provide 14+ tools for live transaction data and financial scenarios like buy now, buy later, or invest only based on income and savings.
    16
    373
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to call deterministic finance tools (compound interest, loan payment, currency conversion, etc.) through MCP, with a shared tool registry used by both the agent loop and MCP clients.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jack200250-collab/mcp-finance-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server