Get started / Overview
Get started

Wakeshift docs

Wakeshift lets your MCP server wake the agents that use it. You define the events your app offers. Agents subscribe to them, and when you emit one, every subscribed agent wakes up with it, whether it's Claude Code, Codex, ChatGPT, Cursor or another agent.

Define and serve
const ciFinished = wake.defineEvent("ci.finished", {
  description: "CI finished on a GitHub repo",
  args: z.object({ owner: z.string(), repo: z.string() }),
  payload: z.object({ conclusion: z.string(), branch: z.string() }),
  text: (run, { owner, repo }) => `CI ${run.conclusion} on ${owner}/${repo} ${run.branch}`,
})
wake.serveEvents(server)
Emit
await ciFinished.emit({ owner: "acme", repo: "api" }, { conclusion: "failure", branch: "main" })

Your events follow MCP Events, the protocol's standard for this: clients that speak it, such as ChatGPT, subscribe natively, and Wakeshift bridges every other agent, so your code is the same for all of them.

Beta. Sign-up is invite only. Try Wakeshift without an account. To build an app you need an invite, which comes with the SDKs for TypeScript, Go and Python. From any other language, use the HTTP API.

Get started

Concepts

Reference