Caisey
Caisey는 MSP 기술자를 위한 AI 지원 코파일럿입니다. 모든 MCP 클라이언트에서 연결하여 장치를 나열하고, 세션 기록을 읽고, 특정 PC의 Caisey 세션에 프롬프트를 보낼 수 있으며, 모든 명령에 기술자의 승인이 필요하고 전체 감사 로그가 기록됩니다.
호스팅형 MCP 서버
npx add-mcp 'https://helpforsupport.com/mcp'Claude Code, Codex, Cursor 등에 설치됩니다
문서
Remote MCP lets an external MCP client use one Caisey workspace: list devices, read chat transcripts, send prompts to the Caisey agent on a PC, and answer pending command approvals and operator questions through the same pipeline as the console for both Caisey 0.5 (OpenCode) and Caisey 1.0 runner permission and question cards.
This is security-sensitive. A connected client can send prompts that run tools on enrolled PCs. Command approvals and tool-risk analysis are not bypassed.
Server URL
Copy the streamable HTTP URL from Settings → Remote MCP while signed in. It is the console origin you used to sign in, plus /mcp. That page also lists connected clients and lets you revoke them.
The MCP server is on the console worker (/mcp), not a mcp. subdomain, so OAuth, Clerk, and device/session APIs stay on one origin. The hand-managed blog MCP at /mcp/blog is a different endpoint and still uses a separate blog token.
Use the URL for the Caisey environment you actually signed into. Do not point a client at production until that environment has been promoted.
GET /.well-known/mcp/server-card.json is the public server card for https://helpforsupport.com/mcp. That URL in the card stays on helpforsupport.com no matter which host serves the file.
What you get
After OAuth, the client can call:
list_devices/get_device— status, runtime flavor (Caisey 0.5 OpenCode or Caisey 1.0 runner), online from stored heartbeat/sendability, last logged-in endpoint user (lastUserfromcaisey.endpointUser), and runner hostname when reported.list_devicesacceptssearch(name/hostname) andlastUser(case-insensitive substring) and includesmachineIdin text.get_devicealso accepts hostname or a unique device name.list_sessions/read_transcript— paginated chat history for that workspace.list_sessionscan filter by machine id, hostname, or unique device name.send_prompt— send text to the Caisey agent on a device; creates a session when needed; returns a Caisey session id and a live session card when the client supports MCP Apps. Commands go through the workspace approval policy; org, machine, or session allow rules may run matching tools without a prompt.watch_session/get_session_live— open or poll a one-line live status card (device, command, Running / Waiting on you / Done). Both includerunState. While that state is awaiting approval, the live card shows Allow and Denyget_session_status/wait_for_messages— status reports running, awaiting approval, awaiting question, or idle, and inlines a pending approval or question. Wait caps at 25 seconds, returns the new text plus whether the turn is complete, and uses a message cursor so an appended part wakes the caller. Omittingafterreturns a small recent window plus theaftercursor, not the full history. Callread_transcriptwithbeforefor older history. Hosts that send a progress token can show wait progresslist_pending_approvals/respond_to_approval— OpenCode and Caisey 1.0 runner approvals, using the same permission pipeline as the console, including org-role and per-user approval-scope caps. List rows include command text, device, session, requested-at, cached tool-risk, and the caller's allowed responses.list_pending_approvalsrenders the approval card with Allow and Deny; an empty list stays JSONlist_pending_questions/answer_question— OpenCode and Caisey 1.0 runner operator questions, using the same submit path as the console. Answers are a map keyed by question idlist_org_pending— every pending approval and question in the workspace in one call, with session id, machine id/hostname, command text, and risk summaryread_audit_log— the same org audit log as the console (org-admin role). Filter by session, device, actor, event type, orapprovalId. Paginated withnextCursorget_version— the same sha, branch, and builtAt asGET /version
Clients that support MCP Apps or ChatGPT widgets can render ui://caisey/live-session, ui://caisey/approval-card, and ui://caisey/question-card. Other clients keep the JSON structuredContent fallback. See docs/remote-mcp.md for which hosts render inline cards.
Tokens are scoped to the signed-in user and the workspace chosen on the consent screen. Plan limits, billing gates, and token allowances still apply. There is no API-key shortcut.
Auth
Caisey implements OAuth 2.1 with authorization code, PKCE (S256), dynamic client registration, and hashed short-lived tokens. You sign in with Clerk on /oauth/consent, then pick one workspace. Do not paste Clerk session JWTs into MCP clients.
ChatGPT, Claude, Grok, and Cursor
Paste the MCP URL into a connector that supports streamable HTTP and OAuth. The client should discover .well-known metadata, register, and open Caisey sign-in. If a product asks for an API key, cancel. Revoke access later from Settings → Remote MCP.
Safety
MCP prompts and command approvals are marked as MCP-origin in the audit trail. OpenCode and runner tool calls still hit command approval and risk analysis. Runner answers reuse the console permission-card path. Audit records include origin: mcp plus the OAuth client name, or origin: console. Use read_audit_log to read that log through MCP (same org-admin role as the console).