𝗜 𝗖𝗼𝗻𝗻𝗲𝗰𝘁𝗲𝗱 𝗢𝗿𝗮𝗰𝗹𝗲'𝘀 𝗠𝗮𝗻𝗮𝗴𝗲𝗱 𝗠𝗖𝗣 𝗦𝗲𝗿𝘃𝗲𝗿 𝘁𝗼 𝗔𝗜 𝗖𝗵𝗮𝘁 𝗖𝗹𝗶𝗲𝗻𝘁𝘀
Các trợ lý AI giờ đây không chỉ dừng lại ở việc trò chuyện. Chúng sử dụng Model Context Protocol (MCP) để gọi các công cụ bên ngoài.
Tôi đã thử nghiệm managed MCP server của Oracle trong OCI. Mục tiêu của tôi là tạo một công cụ kiểm tra tình trạng (health check) chỉ đọc cho cơ sở dữ liệu Oracle E-Business Suite. Tôi muốn hỏi một AI: "Cơ sở dữ liệu có đang hoạt động không?" hoặc "Những manager nào đang ngoại tuyến?"
Nó đã hoạt động. Tôi đã có một trợ lý AI có thể truy xuất dữ liệu tình trạng cơ sở dữ liệu trực tiếp. Dưới đây là những gì tôi đã học được trong quá trình này.
The Setup
- Sử dụng một managed MCP server trong OCI.
- Trỏ nó tới cơ sở dữ liệu bằng một người dùng chỉ đọc (read-only user).
- Xây dựng các công cụ SQL tùy chỉnh để xem tổng quan instance và các session đang hoạt động.
- Kết nối một AI chat client thông qua MCP và OAuth.
Key Lessons
Networking and Security Dịch vụ MCP chạy trong tenancy của Oracle. Bản thân nó không thể tự tiếp cận cơ sở dữ liệu riêng tư của bạn. Bạn phải gắn một Private Endpoint vào VCN của mình. Để đảm bảo an toàn, hãy kết nối với một người dùng cơ sở dữ liệu chỉ đọc. Điều này giúp ngăn chặn mọi thao tác ghi dữ liệu ngoài ý muốn.
Watch the URL Mọi URL của OCI MCP server đều bao gồm một phân đoạn ngày tháng như
/20250830/. Nếu bạn sử dụng một ngày cũ, bạn sẽ gặp lỗi HTTP 404. Lỗi này trông giống như một vấn đề xác thực (auth), nhưng thực chất chỉ là do sai đường dẫn. Hãy sao chép chính xác URL từ console của bạn.The OAuth Problem Nhiều giao diện chat (UI) trên nền web gặp lỗi với server này. Chúng cố gắng khám phá (discover) các cài đặt OAuth thông qua server. Oracle sẽ trả về lỗi 404 cho các yêu cầu chưa được xác thực. Điều này làm gián đoạn luồng đăng nhập. Ngoài ra, các web UI dạng headless cũng thiếu trình duyệt để thực hiện đăng nhập tương tác.
Use User Tokens, Not App Tokens Tôi đã thử sử dụng client-credentials token để bỏ qua trình duyệt. Nó đã xác thực thành công, nhưng tôi lại thiếu quyền. Các vai trò (roles) của Oracle được gắn với người dùng, không phải ứng dụng. Bạn phải sử dụng token
authorization_code(user). Người dùng nắm giữ vai trò đó, vì vậy token sẽ hoạt động.Use Desktop Clients Các ứng dụng desktop như Claude Desktop hoặc VS Code hoạt động rất tốt vì chúng có sẵn trình duyệt để đăng nhập. Hãy sử dụng
mcp-remotevới static OAuth metadata để bỏ qua vấn đề lỗi 404 khi khám phá (discovery).
Quick Tips
- Trên Windows, hãy sử dụng
npx.cmdthay vìnpx. - Không chạy hai client trên cùng một cổng OAuth callback.
- Tránh sử dụng dấu hai chấm trong định dạng ngày tháng SQL như
TO_CHAR. Hệ thống có thể nhầm lẫn chúng với các biến liên kết (bind variables). Thay vào đó, hãy sử dụng ngày tháng thô (raw dates). - Sử dụng các view
gv$thay vìv$để xem tất cả các instance RAC.
Managed MCP với các tác nhân AI rất hữu ích cho các tác vụ cơ sở dữ liệu có kiểm soát. Hãy chọn client phù hợp với cách triển khai của bạn và luôn sử dụng người dùng chỉ có quyền đọc (read-only).
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi