使用说明
mcp服务器蒸汽
人工智能 使用创建的项目。
使用FastMCP与Steam Web API集成的综合模型上下文协议(MCP)服务器。
主要功能
-
用户配置文件和统计信息
- 配置文件信息(昵称、头像、账号详细信息)
- 好友列表
- 拥有的游戏库
- 游戏时间数据
- 最近玩的游戏
- Steam级别
- 业绩进展情况
-
游戏信息和商店
- 游戏详细信息和元数据
- 商店价格和折扣信息
- 新闻和更新
- 搜索游戏
- 特定游戏的业绩数据
-
社区功能
- Steam研讨会物品
- 用户评论
- VAC和游戏货车状态
在PyPI中安装
发布到PyPI后,可以安装以下内容:
pip install mcp-server-steam
安装后执行以下操作:
mcp-server-steam
从源安装
或者,直接从源代码安装:
- 存储库克隆:
git clone <repository-url>
cd mcp-server-steam
- uv依赖性安装:
uv sync
- 安装软件包:
uv pip install -e .
-
Steam Web API密钥发放:
- https://steamcommunity.com/dev/apikey 방문
- 使用Steam帐户登录
- 注册域后复制API密钥
-
首选参数:
重要: .env 必须在文件中设置API密钥。
# .env.example을 복사해서 .env 파일 생성
cp .env.example .env
# .env 파일을 텍스트 편집기로 열어서 STEAM_API_KEY 추가
# 예: STEAM_API_KEY=YOUR_API_KEY_HERE
# (선택사항) Steam ID를 기본값으로 설정하려면:
# STEAM_USER_ID=76561198XXXXXXXXXXX
API密钥发放: https://steamcommunity.com/dev/apikey
使用方法
运行服务器
# PyPI에서 설치한 경우
mcp-server-steam
# 소스에서 개발 중인 경우
uv run python -m mcp_server_steam
服务器以STDIO传输方式启动,可在MCP客户端(如Claude Desktop)上使用。
Claude桌面配置
📖 详细设置指南: CLAUDE_CONFIG.md
在PyPI上安装(推荐)
添加到Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"steam": {
"command": "uvx",
"args": ["mcp-server-steam"],
"env": {
"STEAM_API_KEY": "${STEAM_API_KEY}",
"STEAM_USER_ID": "${STEAM_USER_ID}"
}
}
}
}
或 pip如果安装为:
{
"mcpServers": {
"steam": {
"command": "mcp-server-steam",
"env": {
"STEAM_API_KEY": "${STEAM_API_KEY}",
"STEAM_USER_ID": "${STEAM_USER_ID}"
}
}
}
}
如果是从源开发
{
"mcpServers": {
"steam": {
"command": "uv",
"args": ["run", "python", "-m", "mcp_server_steam"],
"cwd": "/path/to/mcp-server-steam",
"env": {
"STEAM_API_KEY": "${STEAM_API_KEY}",
"STEAM_USER_ID": "${STEAM_USER_ID}"
}
}
}
}
使用环境变量(建议)
使用环境变量,而不是直接输入API密钥:
# ~/.zshrc 또는 ~/.zprofile에 추가
export STEAM_API_KEY="your_steam_api_key_here"
在设置中:
"env": {
"STEAM_API_KEY": "${STEAM_API_KEY}"
}
重新启动Claude Desktop
要应用设置,请完全退出并重新启动Claude Desktop。
MCP客户端设置
通常建议使用PyPI版本:
{
"mcpServers": {
"steam": {
"command": "uvx",
"args": ["mcp-server-steam"],
"env": {
"STEAM_API_KEY": "${STEAM_API_KEY}",
"STEAM_USER_ID": "${STEAM_USER_ID}"
}
}
}
}
使用FastMCP CLI进行测试
# 사용 가능한 도구 목록 보기
uv run fastmcp list src/mcp_server_steam/server.py
# 도구 호출 테스트
uv run fastmcp call src/mcp_server_steam/server.py get_user_profile steam_id=76561198000000000
可用工具
配置文件工具
get_user_profile-查看Steam用户配置文件get_friends_list-查看好友列表get_owned_games-查看所有游戏get_recently_played_games-查看最近玩的游戏get_steam_level-查看Steam级别get_player_achievements-查看特定游戏的业绩进展情况
游戏工具
get_game_details-在商店中查看游戏信息get_game_news-查看游戏新闻和更新get_global_achievement_percentages-查看完整的业绩统计数据search_games-在Steam上搜索游戏get_game_schema-查看业绩和统计模式
社区工具
get_workshop_items-查看Steam研讨会项目get_workshop_item_details-研讨会项目详情get_user_reviews-查看游戏用户评论get_player_bans-查看VAC和游戏货车状态
实用工具
resolve_vanity_url-将Vanity URL转换为Steam ID
资源
steam://config-服务器设置steam://supported-games-常见游戏App ID列表
Steam ID与应用程序ID
- Steam ID(SteamID):64位用户帐户ID(例如7656119800000000)
- 应用程序ID(appid):Steam商店中的游戏标识符(例如CS2为730)
将自定义配置文件URL转换为Steam ID的步骤 resolve_vanity_url请使用。
速度限制(Rate Limiting)
服务器实施速度限制以符合Steam API限制:
- 每分钟请求100次
- 发生错误时自动恢复指数
- 正确处理速度限制响应错误
项目结构
mcp-server-steam/
├── src/
│ └── mcp_server_steam/
│ ├── __init__.py
│ ├── __main__.py # 메인 진입점
│ ├── server.py # MCP 서버
│ ├── steam_client.py # Steam API 클라이언트
│ ├── config.py # 설정
│ └── tools/ # 도구 모듈
│ ├── __init__.py
│ ├── profile.py # 사용자 프로필 도구
│ ├── games.py # 게임 정보 도구
│ └── community.py # 커뮤니티 도구
├── pyproject.toml # 프로젝트 설정 및 의존성
├── README.md # 이 파일
├── .env # API 키 (git에 포함되지 않음)
└── .env.example # 환경변수 템플릿
错误处理
服务器在以下情况下会提供明确的错误消息:
- 无效的Steam ID或App ID
- 缺少API密钥
- 超过速度限制
- 网络错误
- Steam API错误
AI使用示例
示例1:查看用户配置文件
사용자: "내 Steam 프로필 조회해줘"
AI: resolve_vanity_url을 호출하여 vanity URL을 Steam ID로 변환
AI: get_user_profile을 호출하여 프로필 정보 조회
示例2:分析游戏库
사용자: "내 게임 목록 보여줘"
AI: get_user_profile로 Steam ID 획득
AI: get_owned_games로 소유 게임 목록 조회
AI: 플레이타임 기준으로 정렬하고 상위 게임 요약
示例3:游戏搜索和详细信息
사용자: "엘든 링 GO 정보 알려줘"
AI: search_games로 "ELDEN RING" 검색
AI: get_game_details로 상세 정보, 가격, 장르 조회
示例4:业绩确认
사용자: "내 염완의 왕 게임 업적이 어떻게 돼?"
AI: get_owned_games로 게임 목록 확인
AI: get_player_achievements로 염완의 왕 업적 조회
AI: get_global_achievement_percentages로 전체 플레이어 대비 비교
示例5:查找研讨会模式
사용자: "스카이림 모드 추천해줘"
AI: search_games로 스타필드 스카이림(Skyrim, App ID: 72850) 검색
AI: get_workshop_items로 인기 모드 목록 조회
AI: get_workshop_item_details로 특정 모드 상세 정보 확인
AI技巧
- 工具使用顺序:
resolve_vanity_url→get_user_profile→其他工具 - 数据效率:
include_app_info=True一次获取游戏信息 - 错误处理:如果Steam ID无效,请先尝试转换vanity URL
- 语言设置:面向韩国用户
language="korean"或language="english"利用参数
贡献
欢迎您的贡献!请自由提交问题或完整请求。
参考资料
许可证
MIT License-有关详细信息,请参阅LICENSE文件