Claude外部服务访问工具

一个基于Cloudflare Worker实现的Claude外部服务访问工具,提供天气查询、IP定位、网络搜索和HTTP请求代理功能。

  • by anishgowda21
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anishgowda21/cf-mcp-server

使用说明

MCP为Claude启用了Cloudflare Worker

此存储库包含一个实现模型上下文协议(MCP)的Cloudflare Worker,它允许Claude直接从您的对话中访问各种外部服务和API。

特性

工作人员为Claude提供了以下工具:

  • 天气信息:获取任何城市的当前天气数据
  • IP地理定位:查找有关任何IP地址的详细信息
  • 网页搜索:使用可定制的结果计数执行谷歌搜索
  • HTTP请求代理:向任何端点发出自定义HTTP请求,并完全控制标头、方法和正文数据

安装说明

先决条件

  • 已安装Node.js和npm
  • Cloudflare帐户

安装

  1. 安装牧马人CLI
  npm install -g wrangler
  1. 登录Cloudflare
  wrangler login
  1. 克隆此存储库
  git clone https://github.com/anishgowda21/cf-mcp-server.git
  cd cf-mcp-server
  1. 安装依赖项
  npm install
  1. 设置MCP
  npx workers-mcp setup

配置

您需要在Cloudflare仪表板中设置以下环境变量(出于安全考虑建议),而不是在 wrangler.toml 文件:

  • OPENWEATHERMAP_API_KEY (天气数据)
  • IPINFO_API_KEY (用于IP地理定位)
  • GOOGLE_API_KEY (用于网络搜索)
  • GOOGLE_CX (用于网络搜索)

为此,请执行以下操作:

  1. 转到Cloudflare仪表板
  2. 导航到工作人员和页面
  3. 选择您的员工
  4. 转到“设置”>“变量”
  5. 在“环境变量”下添加环境变量

备注:如果您不需要特定的服务,您可以简单地不设置其API密钥。调用时,相应的函数将返回错误,但工作进程的其余部分将继续运行。

部署

将您的员工部署到Cloudflare:

npm run deploy

与Claude一起使用

部署后,您可以将MCP服务器与Claude一起使用。要做到这一点,只需让Claude将您的worker用于各种任务:

  • “了解东京的天气”
  • “查找有关IP地址8.8.8.8的信息”
  • “在网上搜索‘最新的人工智能发展’”
  • “向发出GET请求https://example.com/api/data"

Claude将根据您的请求自动使用适当的功能。

函数参考

getWeatherData(cityName: string)

获取指定城市的当前天气数据。

getIpDetails(ipAddr: string)

检索IP地址的详细地理位置信息。使用“我”获取有关客户端IP的信息。

googleWebSearch(query: string, num?: number)

使用指定的查询执行Google搜索,并返回指定数量的结果(1-10,默认值:5)。

makeRequest(url: string, method: string, params?: object)

使用指定的方法、标头和正文数据进行自定义HTTP请求。这 params 对象可以包括:

  • headers:HTTP标头记录
  • body:请求体(将自动字符串化的字符串或对象)

定制

要修改worker或添加新函数,请执行以下操作:

  1. 编辑 src/index.ts
  2. 向中添加新方法 MyWorker 带有JSDoc注释的类,用于记录功能
  3. 使用部署 npm run deploy

故障排除

  • 如果遇到API响应问题,请检查是否已在Cloudflare Dashboard中设置了适当的环境变量
  • 如果某个特定函数不起作用,则可能需要获取相应的API密钥
  • 对于不需要的函数,您可以在中注释掉相关代码 src/index.ts