CalculatorLib MCP

Đưa hàng nghìn máy tính và 9 nhóm chuyển đổi đơn vị — gói gọn trong vỏn vẹn 12 công cụ tinh gọn (bạn tìm một máy tính rồi chạy nó) — đến với mọi client Model Context Protocol. Hãy hỏi Claude những câu như “BMI của tôi là bao nhiêu khi nặng 70 kg, cao 170 cm?” hay “đổi 5 mét sang feet” để nhận kết quả đáng tin cậy thay vì những phép tính bịa ra.

12Công cụ sẵn dùng
Hàng nghìnmáy tính
9Nhóm chuyển đổi
URL endpoint MCP
JSON-RPC 2.0 qua Streamable HTTP. Công khai — ai cũng có thể gọi.
Header Authorization tùy chọn
Thêm header này để gắn các lệnh gọi vào tài khoản của bạn và xem thống kê sử dụng tại /account/mcp-logs. Tạo token →

Cài đặt trong 60 giây

Chọn client bạn dùng, dán đoạn mã, khởi động lại. Vậy là xong.

Chạy một lệnh duy nhất, Claude Code sẽ tự thiết lập kết nối:

claude mcp add --transport http calculatorlib https://calculatorlib.com/mcp

Hoặc, nếu muốn tự chỉnh tệp cấu hình tại ~/.claude/mcp.json:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

Kiểm tra bằng /mcp trong Claude Code — bạn sẽ thấy calculatorlib đã kết nối cùng 12 công cụ.

Chỉnh tệp cấu hình Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Thêm mục mcpServers dưới đây (gộp với phần bạn đã có sẵn):

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

Khởi động lại Claude Desktop. Biểu tượng búa ở ô nhập sẽ hiển thị calculatorlib cùng 12 công cụ.

Mở phần Settings của Cursor → MCPAdd new MCP server, rồi dán:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

Cursor dùng cùng giao thức truyền Streamable HTTP, nên cấu trúc JSON giống hệt của Claude Desktop.

Chỉnh cấu hình Zed (cmd+, / ctrl+,Open Settings) và thêm máy chủ calculator vào mục context_servers:

{
  "context_servers": {
    "calculatorlib": {
      "source": "custom",
      "transport": {
        "type": "streamable-http",
        "url": "https://calculatorlib.com/mcp"
      }
    }
  }
}

Tải lại bảng trợ lý; các công cụ tính toán sẽ sẵn sàng cho mọi luồng agent. Tính năng MCP của Zed yêu cầu phiên bản v0.165 trở lên.

Mở tiện ích Cline trong VS Code → MCP ServersEdit Configuration. Trên macOS, tệp cấu hình nằm tại ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json (đường dẫn Linux/Win tương tự):

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp",
      "transportType": "streamableHttp"
    }
  }
}

Cline tự động nạp lại cấu hình máy chủ; các công cụ mới sẽ xuất hiện trong bảng MCP sau vài giây.

Mở Windsurf → CascadeConfigure MCP, hoặc chỉnh trực tiếp tệp ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "calculatorlib": {
      "serverUrl": "https://calculatorlib.com/mcp"
    }
  }
}

Khởi động lại Windsurf, các công cụ tính toán sẽ hiện trong bộ chọn công cụ của Cascade. Giao thức HTTP yêu cầu Windsurf 1.5+.

Mọi client tương thích MCP có hỗ trợ giao thức truyền Streamable HTTP (phiên bản đặc tả 2025-06-18) đều có thể kết nối:

{
  "transport": "streamable-http",
  "endpoint": "https://calculatorlib.com/mcp"
}

Hoặc gọi trực tiếp endpoint JSON-RPC bằng curl:

curl -X POST https://calculatorlib.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Thử các câu lệnh sau

Sau khi cài đặt, cứ trò chuyện với Claude bằng ngôn ngữ tự nhiên — Claude sẽ tự chọn đúng công cụ.

1

“BMI của tôi là bao nhiêu nếu nặng 70 kg và cao 170 cm? Tôi có ở mức khỏe mạnh không?”

Claude gọi bmi_calculator, trả về BMI 24,22 kèm phân loại theo WHO.

2

“Đổi 5 mét sang feet, rồi đổi 200 pound sang kilogram.”

Claude lần lượt gọi convert_lengthconvert_mass.

3

“Nếu đầu tư $10 000 với lãi kép 5% mỗi năm trong 20 năm, giá trị cuối cùng là bao nhiêu?”

Claude gọi compound_interest_calculator và hiển thị bảng phân tích chi tiết.

4

“Khoản trả góp hằng tháng cho khoản vay mua nhà $300k, lãi 6,5% trong 30 năm là bao nhiêu?”

Claude gọi home_loan_calculator với các tham số gốc vay, lãi suất và kỳ hạn.

Khu thử nghiệm trực tiếp

Gọi máy chủ ngay tại đây — JSON-RPC thật tới https://calculatorlib.com/mcp, phản hồi thật. Không cần đăng ký. đang tải công cụ…

Token ủy quyền (tùy chọn)
Yêu cầu & phản hồi JSON-RPC nguyên bản
Yêu cầu
Phản hồi
Mẹo nâng cao — MCP Inspector Nếu cần công cụ gỡ lỗi yêu cầu/phản hồi đầy đủ, hãy chạy inspector chính thức và trỏ tới máy chủ này: npx @modelcontextprotocol/inspector, rồi kết nối tới https://calculatorlib.com/mcp (giao thức truyền: Streamable HTTP).

Trình duyệt công cụ

Tìm trong thư viện máy tính và 9 nhóm chuyển đổi theo tên hoặc tiêu đề. Hữu ích khi bạn muốn biết nên hỏi Claude điều gì.

Đang tải danh mục…

Cách hoạt động

  • Endpoint: một handler POST duy nhất tại https://calculatorlib.com/mcp dùng JSON-RPC 2.0 qua Streamable HTTP (đặc tả giao thức truyền 2025-06-18).
  • Quy ước đặt tên công cụ: slug của máy tính dùng snake_case (bmi_calculator, compound_interest_calculator); bộ chuyển đổi có dạng convert_<category>.
  • Đầu vào: mỗi công cụ cung cấp một JSON Schema suy ra từ các trường biểu mẫu của máy tính (kiểu, enum, min/max). Các trường có điều kiện (ví dụ hệ mét và hệ Anh trong BMI) được liệt kê là tùy chọn — hãy đọc mô tả của từng trường để biết tổ hợp nào hợp lệ.
  • Đầu ra: một dòng tóm tắt dạng văn bản, kèm một đối tượng JSON structuredContent mà LLM có thể phân tích (ví dụ { "main": [{...}], "data": [...] }).
  • Cập nhật: danh mục làm mới mỗi 5 phút — máy tính vừa xuất bản sẽ tự động xuất hiện.

API trực tiếp (không cần client MCP)

Muốn tích hợp mà không cần client MCP? Cùng dữ liệu đó được cung cấp qua các endpoint JSON thuần.

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"}
    }
  }'

Các endpoint REST (không có lớp bọc JSON-RPC):

  • /api/calculators/schemas?q=<keywords> — tìm máy tính (kết quả giới hạn, kèm schema đầu vào)
  • /api/converter/categories — các nhóm chuyển đổi kèm đơn vị
  • POST /api/converter/convert — chuyển đổi trực tiếp, với body { category, from, to, value }

Xác thực (tùy chọn nhưng nên dùng)

Lệnh gọi ẩn danh vẫn hoạt động — xác thực chỉ là tùy chọn. Thêm token sẽ mở khóa thống kê sử dụng theo từng người dùng tại /account/mcp-logs: mọi lệnh gọi qua token sẽ hiển thị ở đó kèm độ trễ, lý do lỗi và máy tính bạn đã gọi.

Lấy token (60 giây)

  1. Đăng nhập (hoặc tạo tài khoản trước).
  2. Vào /account/api-tokens.
  3. Nhấn Generate token. Sao chép giá trị — token chỉ hiển thị duy nhất một lần.

Thêm token vào client MCP của bạn

Vẫn dùng tệp cấu hình như khi cài đặt công khai, bổ sung thêm trường headers.Authorization:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}

Vì sao nên dùng?

  • Nhật ký sử dụng cá nhân — xem bạn gọi máy tính nào nhiều nhất và máy nào bị lỗi, chỉ trong phạm vi token của bạn (/account/mcp-logs).
  • Nhiều client, token riêng biệt — tạo riêng một token cho mỗi thiết bị (laptop, máy chủ, agent). Thu hồi một token không ảnh hưởng các token còn lại.
  • Nền tảng cho các tính năng cá nhân hóa sau này — khi bổ sung giới hạn tần suất / hạn mức / preset đã lưu, chúng sẽ gắn với các lệnh gọi đã xác thực.

curl với token Bearer

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"}'

Dành cho người vận hành máy chủ: đặt MCP_REQUIRE_AUTH=true để bắt buộc mọi lệnh gọi phải có token (ẩn danh → 401). Biến môi trường cũ MCP_API_TOKEN vẫn dùng được như một khóa bí mật dùng chung để bỏ qua xác thực.

Câu hỏi thường gặp & xử lý sự cố

Dịch vụ này miễn phí chứ? Có giới hạn tần suất không?
Có, miễn phí và công khai. Cloudflare đứng trước để chống DDoS ở mức chung. Hiện chưa có hạn mức theo từng IP — mong bạn sử dụng hợp lý. Nếu dự kiến gọi với lưu lượng lớn từ môi trường production, hãy nhắn cho chúng tôi qua liên kết liên hệ ở chân trang.
Các bạn có lưu truy vấn của tôi không?
Dữ liệu đầu vào của máy tính được xử lý trong bộ nhớ và không ghi nhật ký ở tầng ứng dụng. Cloudflare và máy chủ ứng dụng có thể giữ nhật ký truy cập tạm thời (phương thức, mã trạng thái, IP) phục vụ vận hành; không lưu bất kỳ nội dung nào của payload JSON.
Vì sao đôi khi Claude báo một công cụ không trả về dữ liệu hữu ích?
Một số máy tính hiển thị kết quả bằng HTML có định dạng nhưng thiếu marker ngữ nghĩa. Tầng MCP không trích được trường có cấu trúc từ những kết quả này nên trả về “không có đầu ra”. Chúng tôi đang dần bổ sung marker — phần lớn máy tính trả về dữ liệu có cấu trúc đầy đủ; số còn lại vẫn chạy bình thường nhưng chỉ trả về một dòng tóm tắt.
Tôi có thể xác thực để mức sử dụng hiển thị trong tài khoản của mình không?
Có — đăng nhập rồi vào /account/api-tokens để tạo token Bearer. Truyền token dưới dạng Authorization: Bearer <token> trong mỗi yêu cầu /mcp, các lệnh gọi của bạn sẽ xuất hiện tại /account/mcp-logs. Xem mục Xác thực ở trên để biết cấu hình client đầy đủ.
Tôi làm mất token. Có khôi phục được không?
Không — hệ thống chỉ lưu giá trị băm SHA-256. Hãy thu hồi token đã mất tại /account/api-tokens rồi tạo token mới.
Tôi vừa xuất bản một máy tính mới — khi nào nó xuất hiện?
Trong vòng 5 phút (theo TTL của cache danh mục). Quản trị viên có thể buộc làm mới qua /admin/tools/cache → Invalidate ALL caches.
Tên công cụ không khớp với slug tôi thấy trên URL?
Dấu gạch ngang trong slug URL được chuyển thành dấu gạch dưới khi đặt tên công cụ (bộ phân tích công cụ của Claude xử lý dấu gạch dưới ổn định hơn). Vì vậy /bmi-calculator trở thành bmi_calculator.
Công cụ BMI liệt kê cả đầu vào hệ mét (weight, height) lẫn hệ Anh (weightLbs, heightFt, heightIn) đều là tùy chọn. Vì sao?
Những máy tính có đầu vào phụ thuộc điều kiện (ví dụ công tắc đổi hệ đơn vị) không thể diễn đạt “X bắt buộc khi unitSystem=metric, Y bắt buộc khi unitSystem=imperial” bằng JSON Schema chuẩn. Vì vậy chúng tôi liệt kê cả hai nhóm là tùy chọn và để LLM đọc mô tả từng trường rồi chọn đúng bộ tham số.