loading…
Search for a command to run...
loading…
An MCP server protected by Cloudflare Access, validating JWTs to conditionally expose tools based on user identity.
An MCP server protected by Cloudflare Access, validating JWTs to conditionally expose tools based on user identity.
A Model Context Protocol (MCP) server protected by Cloudflare Access as a self-hosted application. Unlike the Access for SaaS demo, this approach requires no OAuth implementation — Cloudflare Access handles authentication automatically.
The MCP server demonstrates:
Clone the repo and install dependencies:
npm install
mcp-access-self-hosted.<your-subdomain>.workers.dev).@yourcompany.com).Update wrangler.jsonc with your Access application details:
TEAM_DOMAIN: Your Cloudflare One team domain (e.g., https://<your-team-name>.cloudflareaccess.com)POLICY_AUD: Your application's AUD tag (found under Access controls > Applications > your app > Basic information)wrangler deploy
Test the remote server using Inspector:
npx @modelcontextprotocol/inspector@latest
Enter https://mcp-access-self-hosted.<your-subdomain>.workers.dev/mcp and connect. You will be prompted to log in through your Access identity provider.
Open Claude Desktop, go to Settings > Developer > Edit Config, and add:
{
"mcpServers": {
"access-self-hosted": {
"type": "http",
"url": "https://mcp-access-self-hosted.<your-subdomain>.workers.dev/mcp"
}
}
}
wrangler dev
Note: In local development, Cf-Access-Jwt-Assertion is not set by Access. You can test by manually setting the header or by using cloudflared access to tunnel through Access.
Run in your terminal:
claude mcp add access-self-hosted-mcp-server -- npx