您可以将 MCP 服务器作为独立运行服务启动,这样 MCP 服务器就可以独立于AI客户端运行。要将 MCP 服务器作为独立运行服务启动,请使用 npx
命令。
使用环境变量的独立服务
您可以使用 npx
启动 MCP 服务器并使用环境变量。在运行npx
之前,您必须在操作系统中定义 MCP 服务器环境变量。
以下示例定义用于连接Atlas 集群的MCP Server Unix 环境变量:
export MDB_MCP_API_CLIENT_ID="<atlas-service-account-client-id>" export MDB_MCP_API_CLIENT_SECRET="<atlas-service-account-client-secret>" export MDB_MCP_CONNECTION_STRING="mongodb+srv://<user-name>:<password>@<cluster-name>.mongodb.net/<database-name>"
要使用该示例,请考虑以下几点:
将选项值替换为您的连接信息和其他详细信息。
要为其他操作系统定义环境变量,请参阅 在操作系统中定义 MCP 服务器环境变量。
要检查 MCP 服务器选项列表,请参阅MongoDB MCP 服务器配置选项。
要创建Atlas服务帐户,请参阅运行Atlas 的MongoDB MCP 服务器先决条件工具。
以下示例使用之前包含连接信息的环境变量,并设置了其他命令行选项:
npx -y mongodb-mcp-server@latest --readOnly --indexCheck --loggers mcp stderr --logPath=<log-path>
将 <log-path>
替换为存储日志文件的目录路径。
作为HTTP服务器运行的独立服务
默认的MCP 服务器传输协议是 stdio
,它适合与大多数 MCP 客户端集成。
您还可以将HTTP传输协议与 MCP 服务器结合使用。如果要从 Web客户端与 MCP Server交互或将 MCP Server 配置为响应特定端口上的请求,则HTTP非常有用。
注意
在未实施身份验证和安全措施的情况下,不建议将HTTP传输用于生产用途。仅当必须使用HTTP与 MCP 服务器交互时才使用HTTP传输。
安全指南:
实施身份验证。示例,使用API网关或反向代理。
使用 HTTPS/TLS加密。
在防火墙后面或专用网络中部署 MCP 服务器。
实施速率限制。
切勿公开连接凭证。
要查看安全建议,请参阅MongoDB MCP 服务器安全性和MongoDB MCP 服务器安全性最佳实践。
要使用HTTP传输启动 MCP 服务器,请使用 --transport http
。示例:
npx -y mongodb-mcp-server@latest --transport http --readOnly
默认下,MCP 服务器响应 http://127.0.0.1:3000
上的请求,并且仅接受本地连接。
客户端连接URL
如果将 MCP客户端连接到HTTP服务器,则客户端的连接URL必须包含 /mcp
端点路径。示例:
http://127.0.0.1:3000/mcp
远程连接
要允许从其他计算机或容器进行远程连接,请使用 --httpHost=0.0.0.0
将服务器绑定到所有网络接口,然后客户端可以使用服务器的IP解决或主机名从另一台计算机进行连接。
警告
使用 Streamable HTTP时,MCP 服务器默认绑定到 localhost
(127.0.0.1)
。这可确保 MCP 服务器仅接受源自同一计算机的连接。
绑定到 0.0.0.0
会将 MCP 服务器公开给整个本地网络,从而允许同一网络上的其他设备访问权限MCP 服务器。这是一个安全风险,可能允许未经授权访问权限您的数据库上下文。如果必须在 localhost
之外公开 MCP 服务器,实现强安全身份验证。