Chuyển tới nội dung chính

🤖 MCP Server

finan-mcp cho phép các AI agent (Claude, GPT, Cursor, v.v.) tương tác với API Ngân hàng mở, Thanh toán và Quản lý kinh doanh của Finan thông qua Model Context Protocol.

v2.0 — Viết lại hoàn toàn sử dụng @modelcontextprotocol/sdk chính thức. Tất cả 20 công cụ đã được xác minh trên API production.

npm version

Cài đặt

npm install -g finan-mcp

Hoặc chạy trực tiếp với npx:

npx finan-mcp

Lấy thông tin xác thực API

  1. Đăng ký tại book.finan.one
  2. Vào Cài đặt > Open API
  3. Sao chép Client IDSecret Key

Cấu hình

Claude Code

Thêm vào ~/.claude/settings.json:

{
"mcpServers": {
"finan": {
"command": "npx",
"args": ["-y", "finan-mcp"],
"env": {
"FINAN_CLIENT_ID": "your-client-id",
"FINAN_SECRET_KEY": "your-secret-key"
}
}
}
}

Claude Desktop

Thêm vào claude_desktop_config.json:

{
"mcpServers": {
"finan": {
"command": "npx",
"args": ["-y", "finan-mcp"],
"env": {
"FINAN_CLIENT_ID": "your-client-id",
"FINAN_SECRET_KEY": "your-secret-key"
}
}
}
}

Cursor / Windsurf

Thêm vào .cursor/mcp.json hoặc .windsurf/mcp.json:

{
"mcpServers": {
"finan": {
"command": "npx",
"args": ["-y", "finan-mcp"],
"env": {
"FINAN_CLIENT_ID": "your-client-id",
"FINAN_SECRET_KEY": "your-secret-key"
}
}
}
}

n8n

Sử dụng node MCP Client với command transport:

TrườngGiá trị
Commandnpx
Arguments-y finan-mcp
EnvironmentFINAN_CLIENT_ID=xxx, FINAN_SECRET_KEY=xxx

Biến môi trường

BiếnBắt buộcMặc địnhMô tả
FINAN_CLIENT_IDClient ID của bạn
FINAN_SECRET_KEYSecret key của bạn
FINAN_BASE_URLKhônghttps://api.finan.one/openGhi đè URL API

Danh sách công cụ (20)

Tài khoản

Công cụMô tả
get_master_bank_accountsDanh sách tài khoản ngân hàng chính. Lọc theo id hoặc account_number
get_bank_accountsDanh sách tài khoản ngân hàng. Lọc theo id hoặc account_number
get_bank_accountXem chi tiết một tài khoản ngân hàng theo ID
create_bank_accountTạo tài khoản ngân hàng mới dưới tài khoản chính

Thanh toán

Công cụMô tả
create_paymentTạo yêu cầu thanh toán. Trả về mã QR (bank_transfer) hoặc URL thanh toán (card/momo)
get_paymentsDanh sách thanh toán. Lọc theo reference_typereference_id
get_paymentXem chi tiết một thanh toán theo ID

Khách hàng

Công cụMô tả
create_customerTạo khách hàng mới (cá nhân hoặc doanh nghiệp)
get_customersDanh sách tất cả khách hàng (phân trang)
get_customerXem chi tiết một khách hàng theo ID
update_customerCập nhật khách hàng (thay thế toàn bộ — phải bao gồm tất cả trường bắt buộc)
delete_customerXóa khách hàng

Sản phẩm

Công cụMô tả
create_productTạo sản phẩm với giá bán/giá mua
get_productsDanh sách tất cả sản phẩm (phân trang)
get_productXem chi tiết một sản phẩm theo ID
delete_productXóa sản phẩm

Hóa đơn

Công cụMô tả
create_invoiceTạo hóa đơn liên kết với khách hàng + sản phẩm
get_invoicesDanh sách tất cả hóa đơn (phân trang)
get_invoiceXem chi tiết một hóa đơn theo ID
delete_invoiceXóa hóa đơn

Ví dụ sử dụng

Sau khi cấu hình, bạn có thể hỏi AI agent bằng ngôn ngữ tự nhiên:

"Hiển thị tất cả tài khoản ngân hàng"
→ gọi get_bank_accounts()

"Tạo thanh toán 500.000 VND qua chuyển khoản"
→ gọi create_payment(amount: 500000, payment_method: "bank_transfer", ...)

"Tạo hóa đơn cho khách hàng CUST-001 với sản phẩm SKU-001, hạn thanh toán 7 ngày"
→ gọi create_invoice(customer_code: "CUST-001", items: [{code: "SKU-001", ...}], ...)

"Xóa khách hàng MCP-TEST-001"
→ gọi delete_customer(customer_id: "...")

Cách hoạt động

MCP server tự động xử lý xác thực chữ ký SHA-256 của Finan:

signature = SHA256(secret_key + "_" + METHOD + "_" + path + "_" + payload + "_" + timestamp)

Mỗi request bao gồm:

  • x-client-id — client ID của bạn
  • x-signature — chữ ký SHA-256 được tính toán tự động
  • x-timestamp — Unix timestamp hiện tại (hợp lệ trong 30 giây)
mẹo

Agent không cần tự tính chữ ký — MCP server xử lý tự động cho mọi lệnh gọi.

Định dạng phản hồi API

Tất cả công cụ trả về phản hồi API gốc:

{
"message": { "content": "Thực thi API thành công" },
"code": 102000,
"request_id": "abc123...",
"data": { ... },
"meta": { "page": 1, "page_size": 50, "total_pages": 1, "total_rows": 5 }
}

Phát triển

git clone https://code.finan.one/ai-agent/book-mcp.git
cd book-mcp
npm install

# Phát triển với hot reload
FINAN_CLIENT_ID=xxx FINAN_SECRET_KEY=xxx npm run dev

# Build cho production
npm run build

# Test với MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

Liên kết