Skip to main content
Glama

Remote MCP Server with Bearer Auth

by sriram-mk1
README.md2.46 kB
# Remote MCP Server on Cloudflare Let's get a remote MCP server up-and-running on Cloudflare Workers complete with OAuth login! ## Develop locally ```bash # clone the repository git clone git@github.com:cloudflare/ai.git # install dependencies cd ai npm install # run locally npx nx dev remote-mcp-server-bearer-auth ``` You should be able to open [`http://localhost:8787/`](http://localhost:8787/) in your browser ## Connect the MCP inspector to your server To explore your new MCP api, you can use the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector). - Start it with `npx @modelcontextprotocol/inspector` - [Within the inspector](http://localhost:5173), switch the Transport Type to `SSE` and enter `http://localhost:8787/sse` as the URL of the MCP server to connect to. - Add a bearer token and click "Connect" - Click "List Tools" - Run the "getToken" tool, which should return the Authorization header that you set in the inspector <div align="center"> <img src="img/mcp-inspector-sse-config.png" alt="MCP Inspector with the above config" width="600"/> </div> <div align="center"> <img src="img/mcp-inspector-successful-tool-call.png" alt="MCP Inspector with after a tool call" width="600"/> </div> ## Connect Claude Desktop to your local MCP server ```json { "mcpServers": { "remote-mcp-server-bearer-auth": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse", "--header", "Authorization: Bearer ${AUTH_TOKEN}" ] }, "env": { "AUTH_TOKEN": "..." } } } ``` ## Deploy to Cloudflare `npm run deploy` ## Call your newly deployed remote MCP server from a remote MCP client Just like you did above in "Develop locally", run the MCP inspector: `npx @modelcontextprotocol/inspector@latest` Then enter the `workers.dev` URL (ex: `worker-name.account-name.workers.dev/sse`) of your Worker in the inspector as the URL of the MCP server to connect to, and click "Connect". You've now connected to your MCP server from a remote MCP client. You can pass in a bearer token like mentioned above ## Debugging Should anything go wrong it can be helpful to restart Claude, or to try connecting directly to your MCP server on the command line with the following command. ```bash npx mcp-remote http://localhost:8787/sse ``` In some rare cases it may help to clear the files added to `~/.mcp-auth` ```bash rm -rf ~/.mcp-auth ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sriram-mk1/remote-mcp-server-bearer-auth'

If you have feedback or need assistance with the MCP directory API, please join our Discord server