Token导航 LogoToken导航TokenDH.com
Remote MCP Server On EC2 logo
运维云端stdio官方级别未说明来源级核验

Remote MCP Server On EC2

MCP Server

一个关于在AWS EC2上部署MCP服务器的教程,包括服务器设置、测试和连接到Claude Desktop的步骤。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
远程部署PythonClaudeDockerClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

PeakyRick

提供方

PeakyRick

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --name datetime-mcp -p 8000:8000 datetime-mcp

详细介绍

EC2上的远程MCP服务器

在AWS EC2上托管示例MCP服务器的教程

背景

MCP工具和服务器在本地托管时很好,但有时最好在远程服务器上托管它们。这个仓库记录了我在AWS EC2上托管MCP服务器的挣扎和学习,希望能为其他人提供参考。

然而,您需要相当多的背景知识,例如如何设置EC2实例、运行docker、ssh、git等,我在这里无法一一提及。

概述

假设我们已经学习了如何设置本地mcp服务器,在那里我们创建了工具并使用“stdio”作为传输。现在我们想知道,我们如何在远程服务器上托管它?因此,总体目标如下:

  • 使用工具创建MCP服务器,并尝试使用“流式http”传输(目前是远程MCP服务器的传输)
  • 将此MCP服务器部署在远程服务器上,在我们的例子中是EC2实例。
  • 测试远程托管的MCP服务器
  • 将MCP服务器连接到Claude Desktop,以便我们可以使用服务器中定义的MCP工具。

假设

在开始遵循此仓库之前,您需要设置以下内容。我相信有很多资源可以用于这些,我将在这里简要介绍。

  • (可选)Windows上的WSL。(我使用WSL是因为我认为在本地托管和测试MCP服务器会更容易,但这可能不是必需的。)
  • 常用Python开发环境:docker、Python、pip、venv、git等
  • 使用Ubuntu发行版启动并运行的EC2实例。您需要能够通过SSH访问它并克隆git repos。
  • EC2安全组应配置为允许来自您的IP地址的入站流量。通常需要允许端口22和8000。

部署步骤

我的MCP服务器

datetime_server.py 包括使用检索当前日期和时间的工具设置MCP服务器的过程。请注意,我们正在使用流式http传输选项。在……里面 remote_run(),我们正在定义主机IP和端口号,它们是docker文件中的变量。

部署到EC2

(可能)SSH到您的EC2实例中,并将此仓库克隆到其中。然后我们构建docker映像并运行。示例docker命令:

docker build -t datetime-mcp .

请注意,“datetime mcp”只是您自己的标识符。

docker run --name datetime-mcp -p 8000:8000 datetime-mcp

此外,根据docker和Ubuntu的设置方式,您可以在docker命令前添加“sudo”。

现在,日期时间服务器应该在EC2实例上运行,理论上,我们应该能够以某种方式向它发出请求。

快速测试

为了确保远程MCP服务器在尝试将其连接到您最喜欢的客户端(Claude Desktop、Cursor等)之前正常运行,我们可以使用 test_datetime_server.py 模块发出一些示例请求。别忘了更改IP地址。请注意,此模块应在本地计算机上运行。如果一切顺利,它应该能够给你当前的日期时间。

连接到克劳德桌面

将以下内容添加到 claude_desktop_config.json如需更多帮助,请搜索如何将MCP服务器连接到Claude Desktop。

{
  "mcpServers": {
    "datetime": {
      "command": "npx",
      "args": ["mcp-remote", "http://YOUR_EC2_IP:8000/mcp", "--allow-http"]
    }
  }
}

一些重要注意事项:

  • 这还不是生产级别,正如您从我们允许http的标志“--allow-http”中看到的那样。对于生产,请尝试使用https。
  • 在……里面 datetime_server.py ……的设置 stateless_http=True MCP服务器中的数据对Claude来说很重要。

用于本地测试

我肯定你会想摆弄这些工具的。以下是一些开发和调试的方法。

在……里面 datetime_server.py,the local_run() 函数用于在本地运行mcp服务器。简单地说,在终端中: python datetime_server.py,服务器应在中运行 127.0.0.1:8000。如果愿意,可以对测试文件中的IP地址进行必要的更改。

目录标签

目录标签

远程部署PythonClaudeDockerMCP服务器本地部署AWSEC2Python开发

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP