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.
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 → MCP → Add 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 Servers → Edit 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 → Cascade → Configure 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ụ.
“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.
“Đổi 5 mét sang feet, rồi đổi 200 pound sang kilogram.”
Claude lần lượt gọi convert_length và convert_mass.
“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.
“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ý.
Token ủy quyền (tùy chọn)
Yêu cầu & phản hồi JSON-RPC nguyên bản
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ì.
Cách hoạt động
- Endpoint: một handler
POSTduy nhất tạihttps://calculatorlib.com/mcpdùng JSON-RPC 2.0 qua Streamable HTTP (đặc tả giao thức truyền2025-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ạngconvert_<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
structuredContentmà 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)
- Đăng nhập (hoặc tạo tài khoản trước).
- Vào /account/api-tokens.
- 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ác bạn có lưu truy vấn của tôi không?
Vì sao đôi khi Claude báo một công cụ không trả về dữ liệu hữu ích?
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?
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?
Tôi vừa xuất bản một máy tính mới — khi nào nó xuất hiện?
Tên công cụ không khớp với slug tôi thấy trên URL?
/bmi-calculator trở thành bmi_calculator.