A remote MCP server that enables searching for news articles on specific topics through the Tavily API without requiring authentication.
This example allows you to deploy a remote MCP server that doesn't require authentication on Cloudflare Workers.
This will deploy your MCP server to a URL like: remote-mcp-server-authless..workers.dev/sse
Alternatively, you can use the command line below to get the remote MCP Server created on your local machine:
npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
To add your own tools to the MCP server, define each tool inside the init()
method of src/index.ts
using this.server.tool(...)
.
This MCP server includes a news search tool powered by the Tavily API. To use it:
wrangler.jsonc
file in the "vars"
section:
"vars": { "TAVILY_API_KEY": "your-actual-api-key" }
npx wrangler secret put TAVILY_API_KEY
The searchNews
tool returns news results in a structured text format:
Here are the top {N} {topic} news results for "{query}" (time range: {timeRange}):
1. {Title}
{URL}
{Content snippet}
2. {Title}
{URL}
{Content snippet}
...
To parse these results into JSON in your client application, you can extract the information from the formatted text response.
You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:
remote-mcp-server-authless..workers.dev/sse
)You can also connect to your remote MCP server from local MCP clients, by using the mcp-remote proxy.
To connect to your MCP server from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.
Update with this configuration:
{ "mcpServers": { "calculator": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" // or remote-mcp-server-authless.your-account.workers.dev/sse ] } } }
Restart Claude and you should see the tools become available.
This MCP server includes these tools:
query
(string, required): The news topic to search fortopic
(string, required): The type of news topic ("general", "news", or "finance")maxResults
(number, optional): Maximum number of news results to return (default: 5)timeRange
(string, optional): Time range for news results ("year", "month", "week", or "day", default: "day")Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!