Grilled Cheese nói Model Context Protocol (MCP), chuẩn mở mà các trợ lý AI dùng để làm việc với dịch vụ bên ngoài. Kết nối Claude, ChatGPT, hoặc bất kỳ công cụ nào hỗ trợ MCP, và nó có thể đọc dòng thời gian, đăng bài, theo dõi, bày tỏ cảm xúc và chỉnh sửa chủ đề thay bạn. Công cụ nhận khóa dán vào dùng một khóa do bạn tạo và có thể thu hồi bất cứ lúc nào; công cụ nói luồng OAuth của MCP, như ChatGPT, kết nối qua một màn hình cấp quyền, không phải sao chép gì cả.

Kết nối thực sự nghĩa là gì

Một ứng dụng khách MCP nhìn Grilled Cheese như một bộ công cụ có tên: đọc dòng thời gian, tạo bài đăng, theo dõi ai đó, chỉnh sửa chủ đề. AI quyết định khi nào gọi chúng; khóa của bạn quyết định nó được phép làm gì. Khóa hành động với tư cách là bạn, trên những danh tính bạn chỉ định khi tạo khóa, và không bao giờ có quyền vượt quá chính tài khoản của bạn.

Quyền đọc có sẵn trong mọi tài khoản. Quyền ghi (đăng bài, theo dõi, bày tỏ cảm xúc, chỉnh sửa chủ đề) thuộc về Grilled Cheese Premium.

Tạo khóa

Khóa nằm trong Cài đặt > Nhà phát triển, trên ứng dụng web tại https://grilledcheese.app/settings/developer hoặc trong ứng dụng dưới Cài đặt.

  1. Chọn một cái tên cho biết khóa sẽ nằm ở đâu ("Trợ lý trên laptop", "Máy chủ ở nhà").

  2. Chọn các danh tính khóa được phép thay mặt. Khóa gắn nhiều danh tính phải nói rõ nó đang hành động dưới danh tính nào trong mỗi lần ghi, nên đa số khóa chỉ nên gắn đúng một danh tính.

  3. Chọn phạm vi cho khóa. Phạm vi đọc mở cho mọi tài khoản; phạm vi ghi cần gói Premium đang hoạt động.

  4. Sao chép khóa khi nó hiện ra. Khóa chỉ hiện một lần: hệ thống chỉ lưu dấu vân tay của khóa, nên không gì có thể hiển thị lại nó. Mất khóa nghĩa là phải tạo khóa mới.

Mỗi tài khoản có mức trần số khóa giữ cùng lúc, và Premium không nâng mức đó: thu hồi một khóa để lấy chỗ cho khóa khác. Khóa cũng tự hết hạn sau 90 ngày, nên một khóa bị bỏ quên không sống mãi.

Phạm vi

Phạm vi là một quyền mà khóa nắm giữ. Lệnh gọi công cụ nằm ngoài phạm vi của khóa bị từ chối, mọi lần, bất kể ai sở hữu khóa.

Phạm vi Cho phép gì Công cụ

posts:read

Đọc dòng thời gian, bài đăng, chuỗi bài và tìm kiếm

get_timeline, get_post, get_thread, search_posts

follows:read

Đọc bạn theo dõi ai và ai theo dõi bạn

(chỉ có API, chưa có công cụ)

reactions:read

Đọc các cảm xúc bạn đã bày tỏ

(chỉ có API, chưa có công cụ)

themes:read

Đọc các chủ đề của bạn

list_themes

identity:read

Đọc trang cá nhân của bạn

(chỉ có API, chưa có công cụ)

posts:write

Tạo bài đăng, và xóa các bài đăng chính khóa đó đã tạo

create_post, delete_post

follows:write

Theo dõi và bỏ theo dõi

follow, unfollow

reactions:write

Bày tỏ cảm xúc, và gỡ các cảm xúc chính khóa đó đã tạo

react, unreact

themes:write

Tạo và chỉnh sửa chủ đề của bạn

create_theme, update_theme

Các phạm vi :write là ranh giới của Premium. Tài khoản miễn phí có thể tạo khóa đọc và cảm nhận toàn bộ cách nó hoạt động; đăng bài, theo dõi, bày tỏ cảm xúc và chỉnh sửa chủ đề thay bạn cần gói đăng ký còn hiệu lực. Việc kiểm tra diễn ra trong mỗi lệnh gọi, không chỉ lúc tạo khóa: nếu gói đăng ký hết hạn, các thao tác ghi của khóa ngừng hoạt động ngay từ yêu cầu kế tiếp, và hoạt động trở lại khi gia hạn.

Kết nối một ứng dụng khách

Kết nối trực tiếp (Streamable HTTP)

Đa số ứng dụng khách MCP hiện nay, gồm Claude Code và các bản Claude Desktop mới, kết nối thẳng tới điểm cuối được lưu trữ sẵn:

https://api.grilledcheese.app/mcp

với khóa làm bearer token. Với Claude Code, một dòng là đủ:

claude mcp add --transport http grilledcheese https://api.grilledcheese.app/mcp --header "Authorization: Bearer <key>"

Qua cầu nối stdio

Ứng dụng khách chỉ khởi chạy được tiến trình cục bộ dùng gói cầu nối @grilledcheese/mcp. Nó chạy trên máy của bạn, giữ khóa tại chỗ, và chuyển tiếp từng yêu cầu tới điểm cuối ở trên; khóa không bao giờ xuất hiện trong một dịch vụ cấu hình dùng chung.

Với Claude Desktop, thêm vào claude_desktop_config.json (Settings > Developer > Edit Config):

{
  "mcpServers": {
    "grilledcheese": {
      "command": "npx",
      "args": ["-y", "@grilledcheese/mcp"],
      "env": { "GRILLEDCHEESE_KEY": "<key>" }
    }
  }
}

Với Claude Code, dạng stdio tương đương là:

claude mcp add grilledcheese --env GRILLEDCHEESE_KEY=<key> -- npx -y @grilledcheese/mcp

Ứng dụng khách stdio nào khác thì cấu hình để khởi chạy npx -y @grilledcheese/mcp --key <key>. Khóa gắn nhiều danh tính truyền thêm --identity để nói rõ nó hành động dưới danh tính nào.

ChatGPT và các ứng dụng khách OAuth khác

Trình kết nối tùy chỉnh của ChatGPT không nhận khóa dán vào. Chúng đòi luồng OAuth của MCP, và Grilled Cheese nói được luồng đó. Không có khóa nào ở đây: bạn phê duyệt kết nối trong trình duyệt, với tư cách chính bạn đã đăng nhập, và bạn thấy chính xác những gì sắp được cấp trước khi cấp.

Để kết nối ChatGPT:

  1. Trong ChatGPT, mở Settings > Connectors và thêm một trình kết nối tùy chỉnh với URL máy chủ:

    https://api.grilledcheese.app/mcp
  2. ChatGPT phát hiện Grilled Cheese hỗ trợ OAuth và mở một cửa sổ trình duyệt tới trang đăng nhập Grilled Cheese. Đăng nhập nếu bạn chưa đăng nhập.

  3. Màn hình cấp quyền hiển thị tên trình kết nối, nơi bạn sẽ được đưa trở về, và một bộ chọn danh tính cùng phạm vi, y hệt khi tạo khóa. Phạm vi đọc được chọn sẵn; phạm vi ghi cần Grilled Cheese Premium, cùng ranh giới với khóa.

  4. Phê duyệt, và ChatGPT tự hoàn tất kết nối.

Kết nối tạo theo cách này tự gia hạn lặng lẽ khi còn được dùng, và tự hết hạn sau 90 ngày không dùng. Các quy tắc như với khóa áp dụng trong mỗi lệnh gọi: kết nối không bao giờ mạnh hơn bạn, quyền ghi kiểm tra gói đăng ký của bạn mỗi lần, và mọi việc nó làm đều được ghi nhận trong nhật ký kiểm tra.

Phê duyệt lại cùng một trình kết nối sẽ thay thế kết nối cũ, nên kết nối lại không bao giờ để sót một quyền cấp thứ hai còn sống. Nếu bạn nghi một kết nối bị lạm dụng, hãy gỡ trình kết nối trong ChatGPT và liên hệ [email protected]; nhân viên có thể thu hồi kết nối ngay lập tức, cắt token của nó ngay từ lệnh gọi kế tiếp.

Màn hình cấp quyền cũng cảnh báo khi một trình kết nối yêu cầu được đưa trở về một địa chỉ trên chính máy tính của bạn. Điều đó bình thường với công cụ trên máy tính như Claude Code, và đáng nhìn kỹ lại với bất cứ thứ gì khác.

Thu hồi khóa

Thu hồi ngay tại màn hình Cài đặt > Nhà phát triển: mỗi khóa hiển thị phạm vi, danh tính, ngày tạo và ngày hết hạn, kèm nút thu hồi bên cạnh. Việc thu hồi có hiệu lực ngay lập tức, từ lệnh gọi kế tiếp của khóa. Hãy thu hồi khóa ngay khi bạn ngừng dùng công cụ giữ nó, hoặc nghi khóa bị lộ.

Lưu ý an toàn

  • Khóa không bao giờ mạnh hơn bạn. Nó bị giới hạn ở quyền của người dùng thường ngay cả khi bạn là nhân viên, và mọi việc nó làm đều vào cùng nhật ký kiểm tra với hành động của chính bạn, ghi nhận về khóa.

  • Một số thứ đơn giản là nằm ngoài giao thức. Trò chuyện và tin nhắn riêng, vòng thân thiết của bạn, khôi phục tài khoản, thanh toán và kiểm duyệt không bao giờ chạm tới được bằng bất kỳ khóa nào, với bất kỳ phạm vi nào.

  • Công cụ phá hủy tự xưng danh. Công cụ xóa thứ gì đó được gắn cờ, nên các ứng dụng khách tử tế sẽ hỏi bạn trước khi gọi chúng.

  • Coi khóa như mật khẩu. Ai cầm khóa đều có thể hành động dưới các danh tính nó gắn, trong phạm vi của nó, cho tới khi khóa hết hạn hoặc bạn thu hồi. Ưu tiên dạng biến môi trường ở trên thay vì dán khóa vào dòng lệnh, và đừng bao giờ commit khóa vào kho mã.

Câu hỏi hoặc kết nối bị kẹt, gửi tới [email protected].