MCP 문서 관리

메뉴

Calculator

Calculator

Calculator MCP 서버는 LLM이 정확한 수치 계산을 수행할 수 있도록 지원하는 서버입니다. LLM은 복잡한 수학적 계산, 방정식 풀이, 단위 변환 등에서 종종 오류를 발생시킬 수 있습니다. 이 서버는 고정밀 계산 엔진을 활용하여 정확한 수학적 결과를 제공함으로써 LLM의 한계를 보완합니다. 특히 금융, 공학, 과학 분야 등 정확한 계산이 중요한 영역에서 유용합니다.

특징

  • 높은 정확도: 고정밀 수치 계산 지원
  • 다양한 연산 지원: 기본 산술연산부터 복잡한 수학 함수까지 광범위한 연산 지원
  • 단위 변환: 다양한 측정 단위 간 변환 기능
  • 통계 분석: 데이터 세트에 대한 기본적인 통계 분석 제공
  • 금융 계산: 이자율, 대출, 투자 수익 등의 금융 계산 기능
  • 방정식 풀이: 선형 및 비선형 방정식, 연립방정식 해결
  • 행렬 연산: 행렬 덧셈, 곱셈, 역행렬, 행렬식 등의 연산
  • 그래프 계산: 함수 그래프의 특징점, 도함수, 적분 등 계산
  • 지수 및 로그 계산: 큰 수의 정확한 지수 및 로그 계산
  • 삼각 함수: 정확한 삼각 함수 계산 및 변환

API

도구

기본 연산

  • calculate: 수학 표현식 계산
  • 입력: 계산할 수학 표현식 문자열
  • 출력: 계산 결과

  • solve_equation: 방정식 풀기

  • 입력: 방정식 문자열, 변수
  • 출력: 해결된 변수 값

  • factorize: 숫자 또는 다항식 인수분해

  • 입력: 인수분해할 숫자 또는 다항식
  • 출력: 인수분해 결과

고급 수학

  • integrate: 함수 적분
  • 입력: 함수 표현식, 변수, 하한, 상한(정적분의 경우)
  • 출력: 적분 결과

  • differentiate: 함수 미분

  • 입력: 함수 표현식, 변수, 차수(선택적)
  • 출력: 미분 결과

  • limit: 함수의 극한값 계산

  • 입력: 함수 표현식, 변수, 접근값
  • 출력: 극한값

통계 및 데이터 분석

  • statistics: 데이터 세트에 대한 기본 통계 계산
  • 입력: 데이터 배열
  • 출력: 평균, 중앙값, 최대값, 최소값, 표준편차 등

  • regression: 데이터에 대한 회귀 분석

  • 입력: x값 배열, y값 배열, 회귀 유형
  • 출력: 회귀 모델 파라미터

단위 변환

  • convert_units: 단위 간 변환
  • 입력: 값, 원본 단위, 대상 단위
  • 출력: 변환된 값

금융 계산

  • compound_interest: 복리 이자 계산
  • 입력: 원금, 이자율, 기간, 복리 빈도
  • 출력: 최종 금액

  • loan_payment: 대출 상환액 계산

  • 입력: 대출 금액, 이자율, 기간, 상환 빈도
  • 출력: 정기 상환액

사용 방법

설치

# npm을 통한 설치
npm install -g calculator-mcp

# 또는 Python 기반 구현
pip install mcp-calculator

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정합니다:

{
  "mcpServers": {
    "calculator": {
      "command": "npx",
      "args": ["calculator-mcp"],
      "env": {
        "PRECISION": "20",  // 기본 정밀도 설정
        "MODE": "symbolic"  // 기본 계산 모드
      }
    }
  }
}

필요 조건

  • Node.js v14 이상 또는 Python 3.7 이상
  • 일부 고급 기능에는 다음과 같은 라이브러리가 필요할 수 있습니다:
  • Math.js
  • Sympy (Python 구현의 경우)
  • NumPy (통계 계산용)

사용 예시

// 수식 계산
const result = await calculate("(3 + 4) * 2^10 / 12");
console.log(`계산 결과: ${result}`);  // 약 583.33...

// 방정식 풀이
const solution = await solve_equation("2x^2 + 3x - 5 = 0", "x");
console.log(`해: ${solution}`);  // x = 1, x = -2.5

// 단위 변환
const converted = await convert_units(100, "kg", "lb");
console.log(`100kg = ${converted}lb`);  // 약 220.46lb

// 미분
const derivative = await differentiate("x^3 + 2x^2 - 5x + 3", "x");
console.log(`미분 결과: ${derivative}`);  // 3x^2 + 4x - 5

// 통계 계산
const stats = await statistics([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
console.log(`평균: ${stats.mean}`);  // 5.5
console.log(`표준편차: ${stats.stdDev}`);  // 약 2.87

// 금융 계산
const payment = await loan_payment(1000, 0.05, 1, 12);
console.log(`월 상환액: ${payment}`);  // 약 85.61

연결된 구성 요소

  • Excel - 스프레드시트 데이터에 대한 계산 및 통계 분석
  • Python MCP Server - 복잡한 수학 계산을 위한 SciPy 및 NumPy 통합
  • Everything Search - 수학 관련 문서 및 리소스 검색