CalculatorLib MCP
수천 개의 계산기와 67개의 단위 변환 카테고리를 단 70개의 간결한 도구로 묶어(계산기를 검색한 뒤 실행) 모든 Model Context Protocol 클라이언트에서 사용할 수 있습니다. “몸무게 70 kg, 키 170 cm일 때 제 BMI는?” 또는 “5 미터를 피트로 변환해 줘”처럼 Claude에게 물어보면, 지어낸 계산 대신 신뢰할 수 있는 답을 받을 수 있습니다.
60초 만에 설치
사용하는 클라이언트를 고르고, 스니펫을 붙여넣은 뒤 재시작하면 끝입니다.
명령 하나만 실행하면 Claude Code가 연결을 구성합니다:
claude mcp add --transport http calculatorlib https://calculatorlib.com/mcp
또는 설정 파일 ~/.claude/mcp.json을 직접 편집하려면:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
Claude Code에서 /mcp로 확인하세요. calculatorlib가 연결되고 70개의 도구가 표시됩니다.
Claude Desktop 설정을 편집합니다:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
아래의 mcpServers 항목을 추가합니다(기존 내용과 병합하세요):
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
Claude Desktop을 재시작합니다. 입력창의 망치 아이콘에 calculatorlib와 70개의 도구가 표시됩니다.
Cursor 설정 → MCP → Add new MCP server를 열고 다음을 붙여넣습니다:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
Cursor는 동일한 Streamable HTTP 전송을 사용하므로 JSON 스키마가 Claude Desktop과 동일합니다.
Zed 설정(cmd+, / ctrl+, → Open Settings)을 편집하고 context_servers 아래에 계산기 서버를 추가합니다:
{
"context_servers": {
"calculatorlib": {
"source": "custom",
"transport": {
"type": "streamable-http",
"url": "https://calculatorlib.com/mcp"
}
}
}
}
어시스턴트 패널을 새로 고치면 계산기 도구를 모든 에이전트 스레드에서 사용할 수 있습니다. Zed의 MCP 지원에는 v0.165 이상이 필요합니다.
VS Code에서 Cline 확장을 엽니다 → MCP Servers → Edit Configuration. macOS에서는 설정 파일이 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json에 있습니다(Linux/Win 경로도 비슷합니다):
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp",
"transportType": "streamableHttp"
}
}
}
Cline은 서버 설정을 자동으로 다시 불러옵니다. 새 도구는 몇 초 내에 MCP 패널에 표시됩니다.
Windsurf → Cascade → Configure MCP를 열거나 ~/.codeium/windsurf/mcp_config.json을 직접 편집합니다:
{
"mcpServers": {
"calculatorlib": {
"serverUrl": "https://calculatorlib.com/mcp"
}
}
}
Windsurf를 재시작하면 계산기 도구가 Cascade의 도구 선택기에 나타납니다. HTTP 전송에는 Windsurf 1.5+가 필요합니다.
Streamable HTTP 전송(사양 버전 2025-06-18)을 지원하는 MCP 호환 클라이언트라면 연결할 수 있습니다:
{
"transport": "streamable-http",
"endpoint": "https://calculatorlib.com/mcp"
}
또는 curl로 JSON-RPC 엔드포인트를 직접 호출합니다:
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
이런 프롬프트를 시도해 보세요
설치한 뒤에는 평소처럼 Claude에게 말하기만 하면 됩니다 — 알맞은 도구를 알아서 선택합니다.
“몸무게 70 kg, 키 170 cm이면 제 BMI는 얼마인가요? 건강한 범위에 속하나요?”
Claude가 bmi_calculator를 호출해 BMI 24.22와 WHO 분류를 반환합니다.
“5 미터를 피트로, 그다음 200 파운드를 킬로그램으로 변환해 줘.”
Claude가 convert_length와 convert_mass를 차례로 호출합니다.
“$10 000을 연 5% 복리로 20년 투자하면 최종 금액은 얼마인가요?”
Claude가 compound_interest_calculator를 호출하고 세부 내역을 보여 줍니다.
“$300k 주택담보대출, 금리 6.5%, 30년 상환 시 월 납입금은 얼마인가요?”
Claude가 원금, 금리, 기간으로 home_loan_calculator를 호출합니다.
라이브 플레이그라운드
여기에서 바로 서버를 호출하세요 — https://calculatorlib.com/mcp로 실제 JSON-RPC를 보내고 실제 응답을 받습니다. 가입은 필요 없습니다.
인증 토큰(선택)
원시 JSON-RPC 요청 & 응답
npx @modelcontextprotocol/inspector를 실행한 뒤 https://calculatorlib.com/mcp에 연결합니다(전송: Streamable HTTP). 도구 브라우저
계산기 라이브러리와 67개의 변환 카테고리를 이름이나 제목으로 검색하세요. Claude에게 무엇을 요청할지 찾을 때 유용합니다.
작동 방식
- 엔드포인트:
https://calculatorlib.com/mcp의 단일POST핸들러가 Streamable HTTP 위에서 JSON-RPC 2.0을 처리합니다(전송 사양2025-06-18). - 도구 이름 규칙: 계산기 슬러그는 snake_case를 사용합니다(
bmi_calculator,compound_interest_calculator). 변환기는convert_<category>형식입니다. - 입력: 각 도구는 계산기 폼 필드(타입, 열거, 최소/최대)에서 도출한 JSON Schema를 제공합니다. 조건부 필드(예: BMI의 미터법 대 야드파운드법)는 선택으로 표시되므로, 어떤 조합이 유효한지는 각 필드의 설명을 확인하세요.
- 출력: 한 줄 텍스트 요약과 함께 LLM이 파싱할 수 있는
structuredContentJSON 객체를 반환합니다(예:{ "main": [{...}], "data": [...] }). - 업데이트: 카탈로그는 5분마다 갱신됩니다 — 새로 게시된 계산기는 자동으로 나타납니다.
다이렉트 API(MCP 클라이언트 불필요)
MCP 클라이언트 없이 통합하고 싶나요? 동일한 데이터를 일반 JSON 엔드포인트로도 제공합니다.
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{
"name":"bmi_calculator",
"arguments":{"unitSystem":"metric","weight":70,"height":170}
}
}'
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{
"name":"convert_length",
"arguments":{"value":5,"from":"Meter","to":"Foot"}
}
}'
REST 엔드포인트(JSON-RPC 래퍼 없음):
/api/calculators/schemas?q=<keywords>— 계산기 검색(입력 스키마가 포함된 제한된 결과)- /api/converter/categories — 단위가 포함된 변환 카테고리
POST /api/converter/convert— 직접 변환, 본문{ category, from, to, value }
인증(선택이지만 권장)
익명 호출도 동작합니다 — 인증은 선택입니다. 토큰을 추가하면 /account/mcp-logs에서 사용자별 사용 분석이 활성화됩니다. 토큰으로 보낸 모든 호출이 지연 시간, 오류 사유, 호출한 계산기와 함께 표시됩니다.
토큰 받기(60초)
- 로그인합니다(또는 먼저 계정을 생성).
- /account/api-tokens로 이동합니다.
- Generate token을 클릭합니다. 값은 한 번만 표시되므로 복사하세요.
MCP 클라이언트에 추가하기
공개 설치와 동일한 설정 파일에 headers.Authorization 필드만 추가합니다:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
}
}
}
왜 사용하나요?
- 개인 사용 로그 — 가장 많이 호출하는 계산기와 실패하는 계산기를, 본인 토큰 범위에서만 확인합니다(/account/mcp-logs).
- 여러 클라이언트, 별도 토큰 — 기기마다(노트북, 서버, 에이전트) 하나씩 발급하세요. 하나를 폐기해도 나머지에는 영향이 없습니다.
- 향후 사용자별 기능의 토대 — 추후 속도 제한 / 할당량 / 저장된 프리셋을 추가하면 인증된 호출에 연결됩니다.
Bearer 토큰을 사용하는 curl
curl -X POST https://calculatorlib.com/mcp \
-H 'Authorization: Bearer YOUR_TOKEN_HERE' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
서버 운영자에게: MCP_REQUIRE_AUTH=true로 설정하면 모든 호출에 토큰을 요구할 수 있습니다(익명 → 401). 기존 MCP_API_TOKEN 환경 변수는 단일 공유 비밀을 통한 우회 수단으로 계속 동작합니다.
FAQ & 문제 해결
무료인가요? 속도 제한이 있나요?
제 쿼리를 저장하나요?
Claude가 가끔 도구가 유용한 데이터를 반환하지 않았다고 하는 이유는 무엇인가요?
제 사용 내역이 계정에 표시되도록 인증할 수 있나요?
/mcp 요청에 Authorization: Bearer <token>으로 전달하면 호출이 /account/mcp-logs에 표시됩니다. 전체 클라이언트 설정은 위의 인증 섹션을 참고하세요.토큰을 잃어버렸습니다. 복구할 수 있나요?
계산기를 막 게시했는데 언제 표시되나요?
도구 이름이 URL에서 보이는 슬러그와 일치하지 않나요?
/bmi-calculator는 bmi_calculator가 됩니다.