Cedric MCP

Máy chủ MCP từ xa cho Cedric, một nhân viên AI: tác nhân của bạn có được bộ nhớ, các kênh trò chuyện nhóm, ứng dụng được kết nối, tệp, quy trình công việc và lập lịch của anh ấy, với sự phê duyệt của con người đối với các hành động rủi ro.

Máy chủ MCP được lưu trữ

npx add-mcp 'https://app.meet-cedric.com/api/v1/mcp'

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

Authentication

Two ways in, one permission model.

  • Sign in from your agent (OAuth). Any MCP client given the endpoint below discovers the sign-in on its own: it registers, opens your browser, you approve once, and it holds a token that refreshes quietly. OAuth 2.1 with PKCE; metadata at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource. These tokens are always standard mode. Disconnect from Settings → MCP.
  • API keys. For scripts, CI, and agents with no browser. Keys look like cedric_sk_…, stay masked in Settings until their owner reveals them, and revoking one is the whole off-switch.
Authorization: Bearer cedric_sk_...

Neither a key nor a sign-in ever reaches another workspace or outranks its owner: it sees exactly your connections, your memory visibility, and this workspace's credits.

Chat: one endpoint, whole turns

POST https://app.meet-cedric.com/api/v1/chat runs a normal Cedric turn, the same brain as every other surface (memory, connected tools, scheduling, credits all apply), and returns the reply as JSON.

curl -X POST https://app.meet-cedric.com/api/v1/chat \
  -H "Authorization: Bearer $CEDRIC_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Summarize this week for the team"}'

// → { "reply": "...", "session": "abc123" }

Each key talks in its own conversation by default. Pass "session": "<key>" to continue a specific session, or "session": "new" to start fresh; the response returns the session key for reuse.

Direct control: Cedric's tools over MCP

POST https://app.meet-cedric.com/api/v1/mcp is a Model Context Protocol server exposing Cedric's real toolbox, memory, channels, connected apps, files, workflows, scheduling, automations, to any MCP-speaking agent. Your agent is the brain; Cedric is the hands.

# With the browser sign-in (any MCP client; Claude Code shown):
claude mcp add --transport http cedric https://app.meet-cedric.com/api/v1/mcp
# then /mcp → cedric → Authenticate

# With a key (scripts, CI, headless agents):
claude mcp add --transport http cedric \
  https://app.meet-cedric.com/api/v1/mcp \
  --header "Authorization: Bearer $CEDRIC_KEY"

Settings → MCP has the same for Cursor, VS Code, Claude, ChatGPT, Codex CLI, Gemini CLI and Windsurf, with one-click installs where the client supports them. The connection guide walks through each client and how the sign-in works.

The endpoint speaks standard MCP: initialize, tools/list, tools/call. Call the getting_started tool first, it returns the full connection guide, including when to act directly versus delegating a whole task through ask_cedric.

Files: videos, images and documents

A tool call is JSON and has no room for a video, so a file on your machine comes in through POST https://app.meet-cedric.com/api/v1/files, with the same key, as multipart form-data (field files, up to 5 files per request, 100 MB each). The answer lists each file's id. Add ?share=1 to also get a public link.

curl -X POST https://app.meet-cedric.com/api/v1/files \
  -H "Authorization: Bearer $CEDRIC_KEY" \
  -F "files=@./teaser.mp4"

{ "files": [{ "id": "f_…", "filename": "teaser.mp4", "mimetype": "video/mp4",
              "sizeBytes": 18234001, "url": "…", "expiresInDays": 30 }],
  "refused": [] }

A file that already has a public link needs no upload: the upload_file tool fetches it. Either way the file is kept for 30 days (a year once shared), and its id works everywhere: pass it in file_ids on send_channel_message or send_dm to post the file with your text, or to get_file to fetch it back. list_files shows everything the workspace holds.

Add -F "keep=1" to keep a file for good and -F "path=brand/videos" to put it in a folder. read_file returns the text inside a stored document, manage_file keeps, renames, moves or deletes, and run_code takes stored files as input_files. A workspace holds up to 1 GB; the Files tab of Cedric's settings shows what is there. A key sees the files its owner may see.

Risk and approvals

Keys have a mode, chosen when you create them and immutable after:

  • Standard (default): anything risky, sending messages, mail, running code, creating standing automations, raises an approval a human decides in chat or the dashboard. The call returns pending_approval with a proposal id; poll it with the proposal_status tool.
  • Direct: risky actions execute immediately. Creating a direct key is the standing approval, you are automating yourself, and revoking it ends everything.

Limits

  • Per-key rate limit: 30 requests per minute.
  • Request bodies are capped; long work belongs in sessions.
  • Suspended or out-of-credit workspaces refuse API turns with the same message chat gives.
  • Turns are metered as normal usage; direct tool calls are counted per call.