Docs

MCP server

Connect Align to ChatGPT, Claude, Cursor and other MCP clients. Endpoint, sign-in flow and tool reference.

Align runs an MCP server, so AI assistants can read a signed-in user's meetings, decisions and tasks.

https://api.meet-align.com/mcp

Connect a client

ClientHow
ChatGPTSettings → Apps & Connectors → Advanced settings → Developer mode on → Create → paste the URL, auth OAuth
Claude (web/desktop)Settings → Connectors → Add custom connector → paste the URL
Claude Codeclaude mcp add --transport http align https://api.meet-align.com/mcp, then /mcp → Authenticate
Cursor~/.cursor/mcp.json → {"mcpServers": {"align": {"url": "https://api.meet-align.com/mcp"}}}
VS Code.vscode/mcp.json → {"servers": {"align": {"type": "http", "url": "https://api.meet-align.com/mcp"}}}

The first call opens a browser to sign in to Align and approve the client.

Tools

Reading tools are marked readOnlyHint: true. The four task tools change work items only, as the signed-in user, and never delete. Every tool returns both text and structuredContent. When a project syncs with Jira or Linear, task changes reach the issue there within seconds.

ToolArgumentsReturns
ask_alignquestionA cited answer from meetings, decisions, docs, chat and tasks (same engine as Ask Align)
list_meetingslimit (1–50, default 10)Recent meetings: id, title, date, participants, summary, decision/action counts
get_meetingmeeting_id, include_transcriptSummary, decisions + rationale, action items (owner, due, status), risks, optional transcript
list_decisionsquery, status, limitDecisions: statement, status, rationale, owner, project, date
my_standuprefreshToday's standup: what you got done (from commits, PRs and tickets), what's on today, what's blocked
list_my_tasksscope (today / open / all), limitTasks: key, title, status, priority, due, assignee, project
get_taskkey (e.g. ALI-12)One work item: stage, owner, description, recent comments, the synced Jira/Linear issue
update_taskkey, stage, title, description, priority, dueThe updated item (write)
comment_taskkey, bodyAdds a progress note, also posted to the synced issue (write)
create_tasktitle, description, project, stage, priority, dueThe new item, assigned to you (write)

Anything an AI app writes through these tools is credited to it, the way a git trailer would be: comments and descriptions end with a line such as Co-authored by Claude (or Cursor, ChatGPT, Windsurf…, detected from the connecting app). The sign-in consent page shows the app's mark and lists the write permissions it is asking for.

Auth

  • Transport: Streamable HTTP, stateless, JSON responses. One JSON-RPC message per POST /mcp; GET /mcp returns 405 (no server stream).
  • Discovery: an unauthenticated call gets 401 with WWW-Authenticate: Bearer resource_metadata="https://api.meet-align.com/.well-known/oauth-protected-resource/mcp". That RFC 9728 document names Supabase Auth as the authorization server.
  • Sign-in: Supabase Auth's OAuth 2.1 server (dynamic client registration + PKCE). Its consent page is https://auth.meet-align.com/oauth/consent.
  • Tokens: a normal Supabase access token for the user. Each tool calls the matching /api/me/* route in-process with that token, so an assistant sees exactly what the user sees in the apps, under their plan's history limit.

Source: apps/api/hudl/api/routers/mcp.py (server), apps/auth/app/oauth/consent (consent page).

Last updated on

On this page