内容
# learning-mcp-server
一个最小化的MCP服务器(三个玩具工具:`add`,`echo`,`current_time`),纯粹用于学习MCP服务器如何在SAP BTP的Cloud Foundry试用环境中部署和运行。无需身份验证,无需调用SAP后端API — 只需让其从头到尾运行。
## 步骤 1 — 获取试用账户
1. 访问 https://www.sap.com/products/technology-platform/trial.html 并注册(需要SAP账户;免费,90天试用期内数据无时间限制)。
2. 注册后,您将进入 **SAP BTP cockpit**,其中已为您创建了一个子账户和一个Cloud Foundry空间。
请记住,在学习过程中:试用账户仅用于个人、非生产环境探索,90天后(或30天不活动后)重置,且无SLA。对于此目的而言,这完全没问题。
## 步骤 2 — 启用Cloud Foundry环境
1. 在cockpit中,打开您的 **子账户** → **Cloud Foundry 环境**。
2. 如果它尚未启用,请单击 **启用Cloud Foundry**,选择 **免费/试用计划**,保留默认值并创建它。
3. 记录此处显示的 **API 端点**(类似于 `https://api.cf.us10-001.hana.ondemand.com`)— 您需要它来登录。
4. 默认空间(通常称为 `dev`)会自动创建。
## 步骤 3 — 安装Cloud Foundry CLI
从 https://github.com/cloudfoundry/cli#installers-and-compressed-binaries 安装 `cf`(或通过您的包管理器,例如在macOS上使用 `brew install cloudfoundry/tap/cf-cli`)。
验证:
```bash
cf --version
```
## 步骤 4 — 登录
试用账户通过SSO密码进行身份验证,而不是用户名/密码:
```bash
cf login -a <步骤2中的API-ENDPOINT> --sso
```
这将打印一个URL — 在浏览器中打开它,复制其中显示的一次性密码,并将其粘贴回终端提示符。然后在提示时选择您的组织和 `dev` 空间(或随后运行 `cf target -o <您的组织> -s dev`)。
## 步骤 5 — 部署服务器
从此项目文件夹:
```bash
cf push
```
`cf push` 读取 `manifest.yml`,上传代码,使用Python构建包构建它,并启动它。当它完成时,它会打印一个路由 — 类似于:
```
routes: learning-mcp-server-<随机>.cfapps.us10-001.hana.ondemand.com
```
这是您的服务器的公共HTTPS URL。您的MCP端点位于 `<该网址>/mcp`。
**仅出于学习目的重要:** 此部署没有身份验证 — 任何具有该URL的人都可以调用它。对于一次性试用账户实验,这是可以接受的,但请勿在具有真实数据或真实SAP系统访问权限的服务器上部署未经身份验证的服务器。
## 步骤 6 — 测试它
直接测试它最简单的方法是使用官方MCP Inspector:
```bash
npx @modelcontextprotocol/inspector
```
这将打开一个本地Web UI。选择 **可流式HTTP** 作为传输,粘贴 `https://<您的路由>/mcp`,连接,您应该会看到三个工具(`add`,`echo`,`current_time`)被列出 — 点击一个来尝试它。
## 步骤 7 — 将其连接到Claude Desktop(可选)
Claude Desktop的配置期望一个本地命令,但远程可流式HTTP服务器可以通过 `mcp-remote` 连接:
```json
{
"mcpServers": {
"learning-server": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://<您的路由>/mcp"]
}
}
}
```
重启Claude Desktop并要求它添加两个数字或回显一些文本。
## 学习过程中有用的命令
```bash
cf logs learning-mcp-server --recent # 查看最近的日志(崩溃原因等)
cf logs learning-mcp-server # 实时日志
cf apps # 列出已部署的应用及其路由/状态
cf restart learning-mcp-server # 配置更改后重启
cf delete learning-mcp-server # 销毁它,释放内存配额
```
## 下一步
一旦此部署并正确响应:
1. 添加一个调用真实SAP API的工具(例如,公共S/4HANA沙盒OData服务,不需要身份验证即可启动)。
2. 然后引入一个 **BTP目标** 而不是硬编码的URL。
3. 然后在服务器前添加身份验证(SAP Cloud Identity Services / XSUAA),遵循早期架构讨论中的安全模式。
每个步骤都是一个小型、独立的下一步 — 很乐意在您准备好时为任何一个步骤提供支持。