使用说明
带有OAuth演示的MCP服务器
一个展示OAuth 2.0和API密钥认证模式的MCP服务器。
这是做什么的
- Google 日历 - OAuth 2.0 认证(列出/创建事件)
- 天气API API密钥认证(当前天气/预报)
- 多用户 - 每个用户都有自己的会话
- 网页认证流程 - 无需手动复制令牌
快速入门
1. 获取凭据
Google OAuth:
- 访问 https://console.cloud.google.com/apis/credentials
- 创建OAuth 2.0客户端ID(网页应用)
- 添加重定向URI:
http://localhost:8000/auth/callback
天气API:
- 访问 https://openweathermap.org/api
- 注册并获取API密钥
2. 在本地运行
# Copy .env template
cp .env.example .env
# Edit .env with your credentials
# GOOGLE_CLIENT_ID=...
# GOOGLE_CLIENT_SECRET=...
# OPENWEATHER_API_KEY=...
# Run server
./run_local.sh
# Visit http://localhost:8000
3. 部署至铁路(或“应用于铁路系统”)
# Install Railway CLI
npm install -g @railway/cli
# Deploy
railway login
railway init
railway up
# Set environment variables in Railway dashboard
铁路环境变量:
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-secret
GOOGLE_REDIRECT_URI=https://your-app.railway.app/auth/callback
OPENWEATHER_API_KEY=your-key
JWT_SIGNING_KEY=random-string-here
BASE_URL=https://your-app.railway.app
4. 连接到光标
选项A:一键安装(推荐)
- 访问您的服务器URL(本地或Railway部署的)
- 点击“使用 Google 登录”
- 点击“🚀 立即在Cursor中安装”按钮
- 完成!MCP服务器已自动配置
选项B:手动配置
- 访问您的服务器URL(本地或Railway)
- 点击“使用Google连接”
- 复制配置JSON
- 打开光标设置(
Cmd/Ctrl + ,) - 搜索“MCP”并编辑settings.json文件
- 粘贴配置并重启 Cursor
工具
日历:
calendar_list_events- 列出即将举行的活动calendar_create_event- 创建新事件
天气:
weather_current- 某城市的当前天气weather_forecast- 天气预报
建筑
Cursor → MCP Server (Railway) → Google/Weather APIs
↓
OAuth Web Flow
↓
JWT Session (24h)
项目结构
mcp-webinar-demo/
├── server/
│ ├── main.py # FastAPI + MCP endpoint
│ ├── auth/ # OAuth + sessions
│ ├── tools/ # Calendar + weather
│ └── templates/ # Web UI
├── Dockerfile
├── railway.toml
└── requirements.txt
它是如何工作的
- 用户身份验证 通过Google OAuth(浏览器)
- 服务器创建会话 - 24小时有效的JWT令牌
- 成功页面显示配置 - 包含会话令牌
- 用户将内容复制到光标处 一键设置
- 工具立即生效 - 服务器处理认证
故障排除
“OAuth 未配置” - 在Railway/本地设置环境变量
“无效的重定向URI” - 在Google控制台中精确匹配(不带尾部斜杠)
“会话已过期” - 重新验证(24小时限制)
许可证
麻省理工学院(MIT)
