GPT MCP应用程序–用户和贷款信息工具
简单的GPT应用程序后端,通过在AWS上运行的服务器向GPT公开两个MCP工具:
- get_user_info –通过以下方式检索用户配置文件
user_id - retrieve_loan_info –通过以下方式检索贷款详细信息
loan_id
后端是MCP服务器 AWS Lambda 后面 API网关(HTTP API)GPT(OpenAI响应API)使用 流式HTTP MCP运输。
项目布局
gpt_mcp/
├── src/
│ ├── handler.py # Lambda entrypoint
│ ├── requirements.txt # Lambda deps (for sam build)
│ └── mcp_server/
│ ├── __init__.py
│ └── server.py # MCP server + get_user_info, retrieve_loan_info
├── template.yaml # AWS SAM template (Lambda + HTTP API)
├── requirements.txt # Local dev deps
└── README.md在本地运行(可选)
创建一个venv并安装deps:
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS/Linux
pip install -r requirements.txt部署到AWS
- 安装AWS SAM CLI\
- 构建和部署
cd c:\Users\Andrew\Documents\gpt_mcp
sam build
sam deploy --guided使用默认堆栈名称(或选择一个),设置 阶段 (例如。 dev),并接受其余部分的默认值,除非您需要其他区域或存储桶。
- 获取MCP服务器URL
部署后,SAM打印堆栈输出。使用 McpApiUrl 值,例如:
https://.execute-api..amazonaws.com/mcp如果您的HTTP API使用 $default 阶段,URL可能是:
https://.execute-api..amazonaws.com/$default/mcp当您从OpenAI API调用它时,请使用有效的URL(见下文)。
将GPT连接到MCP服务器
使用 OpenAI响应API 随着 mcp 工具类型和部署的URL为 server_url.GPT将发现并调用 get_user_info 和 retrieve_loan_info 从你的后端。
示例(Python)
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-4o", # or another MCP-capable model
tools=[
{
"type": "mcp",
"server_label": "gpt-app",
"server_description": "User and loan info for the GPT app.",
"server_url": "https://.execute-api..amazonaws.com/mcp",
"require_approval": "never",
}
],
input="What is the balance for loan_001?",
)
print(resp.output_text)示例(卷曲)
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4o",
"tools": [{
"type": "mcp",
"server_label": "gpt-app",
"server_description": "User and loan info.",
"server_url": "https://.execute-api..amazonaws.com/mcp",
"require_approval": "never"
}],
"input": "Get user info for user_001"
}'替换 https://.execute-api..amazonaws.com/mcp 和你一起 McpApiUrl 从SAM部署输出中。
- OpenAI UI中的ChatGPT/GPT\
远程MCP通过 响应API (或基于其构建的产品)。在ChatGPT UI中,您通常使用操作/连接器;为了一个 *定制* 像这样的后端,你可以通过自己的应用程序集成,该应用程序调用Responses API mcp 工具和这个 server_url.
- 需要批准\
集 "require_approval": "always" 如果你想批准每次工具调用;使用 "never" 用于自动呼叫(仅当您信任MCP服务器时)。
- 认证\
如果添加auth(例如API密钥或OAuth),请将其传入 授权 MCP工具配置和保护您的API网关的字段(例如Lambda授权人或API密钥)。
工具
| 工具 | 说明 | 参数 |
|---|---|---|
get_user_info | 按用户ID获取用户配置文件 | user_id |
retrieve_loan_info | 获取贷款详细信息(余额、期限等) | loan_id |
模拟数据输入 src/mcp_server/server.py 包括 user_001, user_002, loan_001,以及 loan_002.更换 _get_user_from_store 和 _get_loan_from_store 使用DynamoDB、RDS或您的内部API进行生产。
安全和生产
- 认证:添加API网关授权(例如IAM、Lambda授权人或API密钥)和/或验证Lambda内的令牌。
- 数据:不要依赖生产中的内存数据;使用真实的商店并通过身份限制访问。
- 超文本传输安全协议:API网关提供HTTPS;配置GPT时,将MCP服务器URL保持在HTTPS上。
