Tích hợp Soluta qua MCP

Soluta là máy chủ MCP từ xa cho sổ kế toán doanh nghiệp Việt Nam (Thông tư 133 và 99). Soluta nhận kết nối từ Claude, ChatGPT và Grok/Cursor (đăng nhập OAuth). Kênh khác chưa mở. Trang này chỉ ghi điều đang chạy.

Endpoint

MụcGiá trị
MCPhttps://mcp.soluta.vn/mcp
TransportStreamable HTTP
Giao thứcnên dùng 2025-06-18; máy chủ cũng nhận 2024-11-05, 2025-03-26, 2025-11-25, 2026-07-28
Tài nguyên được bảo vệhttps://mcp.soluta.vn/.well-known/oauth-protected-resource/mcp
Máy chủ uỷ quyềnhttps://auth.mcp.soluta.vn · metadata /.well-known/oauth-authorization-server

Kết nối nhanh

Claude, ChatGPT và Grok/Cursor: làm theo hướng dẫn kết nối. Kênh khác chưa mở.

Xác thực (OAuth 2.1)

  1. Gọi /mcp không có thẻ ⇒ 401 kèm WWW-Authenticate: Bearer resource_metadata="…/oauth-protected-resource/mcp", scope="soluta.so".
  2. Đọc metadata tài nguyên ⇒ máy chủ uỷ quyền https://auth.mcp.soluta.vn ⇒ đọc /.well-known/oauth-authorization-server.
  3. Đăng ký client: Client ID Metadata Document (client_id là URL https) hoặc DCR (POST /register). Client công khai: token_endpoint_auth_method = none.
  4. Authorization code + PKCE S256 (bắt buộc). Scope soluta.so.
  5. Redirect https khớp nguyên chuỗi với bản đăng ký.
  6. Người dùng đăng nhập soluta.vn (email hoặc Google), chọn công ty, rồi bấm Cho phép. Màn đồng ý hiện tên miền redirect của bạn.
  7. Access token có aud = https://mcp.soluta.vn/mcp và gắn đúng một sổ người dùng chọn (claim soluta_so). Muốn sổ khác ⇒ thêm một kết nối nữa.
  8. Refresh token xoay vòng: mỗi lần đổi nhận refresh mới, refresh cũ hết dùng; dùng lại refresh cũ ⇒ cả chuỗi bị thu hồi. Hết hạn / thu hồi ⇒ invalid_grant.

Ghi sổ và duyệt

Tệp chứng từ

Công cụ

Danh sách có thể đổi giữa các bản phát hành — luôn đọc tools/list. Đây là tools/list mà client của bạn thấy (máy chủ 0.9.1263).

TênTiêu đềLoại
soluta_books_openOpen accounting booksCó tác động
soluta_proposal_listList proposalsChỉ đọc
soluta_proposal_showShow proposalChỉ đọc
soluta_proposal_createPropose journal entryCó tác động
soluta_balanceAccount balanceChỉ đọc
soluta_accountsChart of accountsChỉ đọc
soluta_partiesPartiesChỉ đọc
soluta_trial_balanceTrial balanceChỉ đọc
soluta_balance_sheetBalance sheet (B01)Chỉ đọc
soluta_income_statementIncome statement (B02)Chỉ đọc
soluta_reconcile_bankReconcile bank statementChỉ đọc
soluta_party_proposePropose partyCó tác động
soluta_company_proposePropose company profileCó tác động
soluta_vat_returnVAT return (01/GTGT)Chỉ đọc
soluta_period_close_proposePropose period closeCó tác động
soluta_companyCompany profileChỉ đọc
soluta_einvoice_importRead e-invoice XMLChỉ đọc
soluta_worksheet_createBuild worksheetChỉ đọc
soluta_proposal_approve_in_chatPost to ledgerGhi sổ · destructiveHint
soluta_proposal_approve_from_uiPost from review cardGhi sổ · destructiveHint
soluta_proposal_reject_from_uiReject from review cardGhi sổ · destructiveHint
soluta_opening_draftDraft opening balancesChỉ đọc
soluta_book_createCreate new bookCó tác động
soluta_law_searchSearch lawChỉ đọc
soluta_law_showShow law articleChỉ đọc
soluta_law_gapReport law gapCó tác động
soluta_feedbackSend feedback to SolutaCó tác động
soluta_precedentsPrecedentsChỉ đọc
soluta_party_balancesParty balancesChỉ đọc
soluta_ledgerGeneral ledger and journalChỉ đọc
soluta_financial_reportFinancial reportChỉ đọc
soluta_report_exportExport report fileChỉ đọc
soluta_reviewReview bookChỉ đọc
soluta_manageManagement reportsChỉ đọc
soluta_taxTax returns and deadlinesChỉ đọc
soluta_traceTrace entries and figuresChỉ đọc
soluta_correctPropose correctionCó tác động
soluta_fixed_assetDraft depreciationCó tác động
soluta_prepaidDraft prepaid allocationChỉ đọc
soluta_period_close_draftDraft closing entriesChỉ đọc
soluta_contractor_taxDraft foreign contractor taxChỉ đọc
soluta_payrollDraft payrollChỉ đọc
soluta_cit_returnDraft corporate income taxChỉ đọc

Lỗi thường gặp

GặpNghĩaLàm gì
HTTP 401 + WWW-Authenticatethiếu thẻ, thẻ sai hoặc hết hạnlàm OAuth theo resource_metadata; thẻ hết hạn thì dùng refresh token
HTTP 403 DUONG_LECH_SO_CUA_TOKENthẻ cấp cho sổ khác với sổ trong địa chỉ /mcp/<mã sổ>dùng đúng thẻ của sổ ấy, hoặc gọi /mcp
kết quả lỗi KHONG_NHAN_TEPđã gửi byte tệpđọc tệp tại máy, gửi trường (xem «Tệp chứng từ»)
kết quả lỗi QUA_TAImột lời gọi vượt trần tính toánchia thành nhiều lời gọi nhỏ hơn
HTTP 429quá nhiều yêu cầu trong thời gian ngắn (giới hạn lượt)chờ rồi thử lại, giãn nhịp gọi
invalid_grant ở /tokenrefresh token hết hạn, đã dùng hoặc bị thu hồicho người dùng kết nối lại

Liên hệ

Câu hỏi tích hợp, báo lỗi: info@soluta.vn.