本项目是一个基于Model Context Protocol (MCP) 实现的无认证远程服务器示例,旨在展示如何在Cloudflare Workers环境中部署一个简单的MCP服务,并提供工具(Tool)供大型语言模型(LLM)客户端调用。
主要功能点
- 实现MCP服务器的核心功能,通过HTTP或SSE协议提供服务。
- 注册并提供两个计算器相关的工具:
- 'add':执行两个数字的加法。
- 'calculate':执行两个数字的加、减、乘、除运算。
- 支持连接到Cloudflare AI Playground等远程MCP客户端,或通过mcp-remote代理连接到本地MCP客户端(如Claude Desktop)。
安装步骤
本项目部署在Cloudflare Workers上,提供了两种简便的部署方式:
- 使用Cloudflare部署按钮: 点击README中提供的 "Deploy to Workers" 按钮,按照指引即可将项目部署到你的Cloudflare账户。
- 使用命令行部署: 确保你已安装Node.js和npm。运行以下命令,将项目模板克隆到本地并进行部署:
按照命令行提示完成后续配置和部署。npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
部署成功后,你将获得一个可访问的服务器URL,例如 'remote-mcp-server-authless.<your-account>.workers.dev/sse' 或 '.../mcp'。
服务器配置 (客户端视角)
MCP服务器是为MCP客户端(如大型语言模型应用)提供服务的。LLM客户端通常需要配置服务器的连接信息。对于这个服务器,客户端通常需要一个本地代理(如mcp-remote)来连接。
客户端配置(通常是JSON格式)需要指定运行这个本地代理的命令('command')及其参数('args')。以下是配置逻辑的解释(无需复制下面的代码,只需理解其含义并在你的MCP客户端中按照其要求填写信息):
- 一个服务器条目: 在客户端的MCP服务器配置列表中,为这个服务器创建一个条目,例如命名为 '"calculator"'。
- 命令 (command): 设置为执行本地代理的命令,例如 '"npx"'(如果使用npm安装的mcp-remote)。
- 参数 (args): 设置为传递给命令的参数列表。第一个参数是代理名称(例如 '"mcp-remote"'),第二个参数是你部署在Cloudflare Workers上的服务器的完整URL(例如 '"https://remote-mcp-server-authless.<your-account>.workers.dev/sse"')。
- 你可以选择添加描述或其他元数据。
例如,在支持MCP配置的LLM客户端中,你会找到一个地方添加新的MCP服务器配置。在那里,你需要提供一个名称(如'calculator')以及启动连接到你部署的服务器的代理的命令和参数。具体的配置格式和位置取决于你使用的LLM客户端软件。
基本使用方法
- 完成服务器的部署,获取服务器URL。
- 配置你的MCP客户端(如Cloudflare AI Playground或通过mcp-remote连接的Claude Desktop等),使其指向你部署的服务器URL(参考上方的“服务器配置”说明)。
- 在LLM客户端中,你会看到服务器提供的工具('add'和'calculate')变为可用。
- 在与LLM交互时,当LLM判断需要执行计算任务时,它将能够调用这些工具来获取结果。
信息
分类
AI与计算