Skip to main content
Any MCP client can use Langmail if it supports two things:
  1. Remote servers over the Streamable HTTP transport — the server lives at https://mcp.langmail.me/mcp; there is no local process to spawn.
  2. The MCP authorization flow (OAuth 2.1) — the client discovers the authorization server, registers itself dynamically, and opens a browser for you to sign in and consent. No manual API keys are involved.
If your client meets both, connecting is one config entry.

Cursor

Add the server to ~/.cursor/mcp.json (global) or .cursor/mcp.json in a project:
mcp.json
{
  "mcpServers": {
    "langmail": {
      "url": "https://mcp.langmail.me/mcp"
    }
  }
}
Open Cursor’s MCP settings, find langmail, and complete the login prompt — the browser opens for Google sign-in and consent. Once authorized, the tools show up in the agent’s tool list.

Any other client

Point the client at the server URL using its remote/HTTP server option:
https://mcp.langmail.me/mcp
The client handles the rest through standard MCP authorization discovery. What it needs to support, concretely:
  • OAuth 2.0 protected resource metadata (RFC 9728) and authorization server metadata (RFC 8414)
  • Dynamic client registration (RFC 7591) as a public client
  • The authorization code grant with PKCE (S256)
Every step, with the exact endpoints and example responses, is documented in How authorization works — useful if you are building an MCP client or debugging one.
The user signing in needs a Langmail account with an active @langmail.me mailbox. Tokens for accounts without a mailbox are rejected with 401 invalid_token.

Verify the connection

However you connected, the check is the same — ask the agent:
Prompt
List my Langmail calendars.
A connected agent calls list_calendars and returns your calendars with their CalDAV URLs.