Token导航 LogoToken导航TokenDH.com
Personalization MCP logo
安全风控stdio官方级别未说明来源级核验

Personalization MCP

MCP Server

基于MCP协议构建的统一个人数据枢纽,整合多平台数据为AI助手提供个性化交互服务。

工具数

75

提示词数

0

GitHub Stars

0

资源数

0
数据集成PythonClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

YangLiangwei

提供方

YangLiangwei

最后核验

2026/5/17 20:36

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install bilibili-api --no-deps

详细介绍

🎯 个性化MCP

![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.12+](https://www.python.org/downloads/) ![MCP](https://modelcontextprotocol.io/)

基于MCP(模型上下文协议)构建的统一个人数据中心,允许AI助手从多个平台访问您的数字生活,提供真正个性化和上下文交互。

📖 中文文档: README_zh.md

🚀 快速开始

  1. 克隆仓库
   git clone https://github.com/YangLiangwei/PersonalizationMCP.git
   cd PersonalizationMCP
  1. 安装依赖项

> 📖 请参阅详细的安装说明: 安装和设置

  1. 配置API密钥
   cp config.example config
   # Edit config file with your actual API keys
  1. 添加到光标设置

> 📖 请参阅详细的MCP配置: 光标配置

🌟 特性

🎮 Steam集成

  • 获取包含详细统计数据和游戏时间的游戏库
  • 查看最近的游戏活动和当前玩的游戏
  • 获取详细的游戏信息和成就
  • 与朋友比较游戏并获得推荐
  • 分析游戏习惯和偏好

🎥 YouTube集成

  • 搜索YouTube视频并获取详细的视频信息
  • 获取频道信息和趋势视频
  • 使用OAuth2访问个人数据(订阅、播放列表、喜欢的视频)
  • 根据您的观看历史获得个性化推荐
  • 🔄 智能令牌管理 -自动检测并刷新过期的OAuth2令牌
  • 🛡️ 免维护配置 -对令牌文件进行优先级排序,无需手动更新MCP配置

📺 Bilibili集成

  • 获取用户资料信息和统计数据
  • 搜索视频并获取详细的视频信息
  • 访问个人数据(观看历史、收藏夹、喜欢的视频、硬币历史)
  • 获取以下列表和用户上传的视频
  • 浏览“稍后查看”列表和个人收藏

🎵 Spotify集成

  • 通过自动令牌管理完成OAuth2身份验证
  • 获取用户资料和音乐库数据
  • 访问顶级艺术家、曲目和最近播放的音乐
  • 社交功能:关注/取消关注艺术家和播放列表
  • 库管理:保存的曲目、专辑、节目、剧集、有声读物
  • 播放列表操作:查看和管理个人播放列表

💬 Reddit集成

  • 通过自动令牌管理完成OAuth2身份验证
  • 访问用户帐户信息、业力分解和偏好
  • 获取提交的帖子、评论和用户活动概述
  • 查看已保存的内容、隐藏的帖子和投票历史记录
  • 探索订阅的社区和审核权限
  • 消息系统访问(收件箱、未读、已发送消息)

📦 安装和设置

1.安装依赖项

由于bilibili-api依赖关系的复杂性(特别是lxml编译问题),安装需要特定的步骤。选择以下方法之一:

选项A:使用conda(推荐)

# 1. Create conda environment
conda create -n personalhub python=3.12
conda activate personalhub

# 2. Install lxml via conda (avoids compilation issues)
conda install lxml

# 3. Install remaining packages
pip install bilibili-api --no-deps
pip install -r requirements.txt

选项B:使用紫外线

# 1. Install uv if not already installed
# Visit: https://docs.astral.sh/uv/getting-started/installation/

# 2. Create environment and install core dependencies
uv venv
uv sync
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# 3. Install bilibili-api and its dependencies separately (due to version conflicts)
uv pip install lxml  # Install lxml first (uses precompiled wheel)
uv pip install bilibili-api --no-deps  # Install bilibili-api without dependencies
uv pip install aiohttp beautifulsoup4 colorama PyYAML brotli urllib3  # Install required dependencies

选项C:使用pip(手动多步安装)

# 1. Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# 2. Install packages in specific order to avoid compilation issues
pip install lxml  # Install lxml first (uses precompiled wheel)
pip install bilibili-api --no-deps  # Install bilibili-api without dependencies
pip install -r requirements.txt  # Install all other dependencies
⚠️ 重要:bilibili-api包具有复杂的依赖关系要求,可能会导致某些系统上的编译失败。多步骤安装方法通过首先安装lxml,然后安装没有冲突依赖关系的bilibili-api,最后安装所有其他所需包来确保兼容性。

2.配置设置

复制示例配置文件并填写您的凭据:

cp config.example config

然后编辑 config 使用实际的API密钥和令牌进行文件。

🔧 平台配置

🎮 蒸汽API设置

📖 详细的设置指南: 平台/蒸汽/README.md | 中文指南

快速摘要:获取Steam API密钥和用户ID,然后配置:

STEAM_API_KEY=your_steam_api_key_here
STEAM_USER_ID=your_steam_user_id_here

🎥 YouTube API设置

📖 详细的设置指南: 平台/youtube/README.md | 中文指南

快速摘要:

  1. 从Google云控制台获取YouTube API密钥
  2. 对于个人数据访问,请将OAuth2设置为“电视和有限输入设备”类型
  3. 使用MCP工具轻松进行身份验证

配置:

YOUTUBE_API_KEY=your_youtube_api_key_here
# OAuth2 tokens are managed automatically after setup

📺 购买设置

📖 详细的设置指南: 平台/bilibili/README.md | 中文指南

快速摘要:登录Bilibili后从浏览器中提取Cookie

配置:

BILIBILI_SESSDATA=your_bilibili_sessdata_cookie
BILIBILI_BILI_JCT=your_bilibili_bili_jct_cookie
BILIBILI_BUVID3=your_bilibili_buvid3_cookie

🎵 Spotify API设置

📖 详细的设置指南: 平台/spotify/README.md | 中文指南

快速摘要:

  1. 在中创建Spotify应用程序 Spotify开发者仪表板
  2. 在应用程序设置中配置重定向URI
  3. 使用MCP工具进行OAuth2身份验证,并进行自动令牌管理

配置:

SPOTIFY_CLIENT_ID=your_spotify_client_id_here
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret_here
SPOTIFY_REDIRECT_URI=https://example.com/callback
# OAuth2 tokens are managed automatically after authentication

💬 Reddit API设置

📖 详细的设置指南: platforms/reddit/README.md | 中文指南

快速摘要:

  1. 在中创建Reddit应用程序 Reddit应用
  2. 配置为具有重定向URI的“web应用程序”
  3. 使用MCP工具进行OAuth2身份验证,并进行自动令牌管理

配置:

REDDIT_CLIENT_ID=your_reddit_client_id_here
REDDIT_CLIENT_SECRET=your_reddit_client_secret_here
REDDIT_REDIRECT_URI=http://localhost:8888/callback
# OAuth2 tokens are managed automatically after authentication

🖥️ 光标配置

将MCP服务器添加到光标设置中:

如果使用conda:

{
  "mcpServers": {
    "personalhub": {
      "command": "/path/to/your/conda/envs/personalhub/bin/python",
      "args": ["/absolute/path/to/your/project/server.py"],
      "env": {
        "STEAM_API_KEY": "your_steam_api_key",
        "STEAM_USER_ID": "your_steam_user_id",
        "YOUTUBE_API_KEY": "your_youtube_api_key",
        "BILIBILI_SESSDATA": "your_bilibili_sessdata",
        "BILIBILI_BILI_JCT": "your_bilibili_bili_jct",
        "BILIBILI_BUVID3": "your_bilibili_buvid3",
        "REDDIT_CLIENT_ID": "your_reddit_client_id",
        "REDDIT_CLIENT_SECRET": "your_reddit_client_secret"
      }
    }
  }
}

如果使用紫外线:

{
  "mcpServers": {
    "personalhub": {
      "command": "uv",
      "args": ["run", "python", "/absolute/path/to/your/project/server.py"],
      "env": {
        "STEAM_API_KEY": "your_steam_api_key",
        "STEAM_USER_ID": "your_steam_user_id",
        "YOUTUBE_API_KEY": "your_youtube_api_key",
        "BILIBILI_SESSDATA": "your_bilibili_sessdata",
        "BILIBILI_BILI_JCT": "your_bilibili_bili_jct",
        "BILIBILI_BUVID3": "your_bilibili_buvid3",
        "REDDIT_CLIENT_ID": "your_reddit_client_id",
        "REDDIT_CLIENT_SECRET": "your_reddit_client_secret"
      }
    }
  }
}

如果在虚拟环境中使用pip:

{
  "mcpServers": {
    "personalhub": {
      "command": "/absolute/path/to/your/project/venv/bin/python",
      "args": ["/absolute/path/to/your/project/server.py"],
      "env": {
        "STEAM_API_KEY": "your_steam_api_key",
        "STEAM_USER_ID": "your_steam_user_id",
        "YOUTUBE_API_KEY": "your_youtube_api_key",
        "BILIBILI_SESSDATA": "your_bilibili_sessdata",
        "BILIBILI_BILI_JCT": "your_bilibili_bili_jct",
        "BILIBILI_BUVID3": "your_bilibili_buvid3",
        "REDDIT_CLIENT_ID": "your_reddit_client_id",
        "REDDIT_CLIENT_SECRET": "your_reddit_client_secret"
      }
    }
  }
}

备注:对于YouTube OAuth2令牌,我们建议使用自动令牌管理。无需添加 YOUTUBE_ACCESS_TOKEN 在上述配置中。系统将自动从中读取和刷新令牌 youtube_tokens.json 文件。

🔄 YouTube智能令牌管理

该系统实现了智能YouTube OAuth2令牌管理,具有以下功能:

✨ 核心功能

  • 自动过期检测:系统自动检测5分钟内到期的令牌
  • 自动刷新:无需手动干预,系统会自动刷新过期的令牌
  • 智能优先级:优先考虑令牌文件,并将环境变量作为备份
  • 免维护配置:无需手动更新MCP配置文件中的令牌

🔧 令牌优先级

  1. 显式传递access_token参数 (最高优先级)
  2. 从令牌文件中自动刷新令牌 (推荐方法)
  3. 来自环境变量的令牌 (备份方法)

系统自动处理所有令牌管理,无需手动维护!

🛠️ 可用工具

🎮 蒸汽工具

  • get_steam_library() -获取包含统计信息的游戏库
  • get_steam_recent_activity() -获取最近的游戏活动
  • get_steam_friends() -获取您的Steam好友列表
  • get_steam_profile() -获取Steam个人资料信息
  • get_player_achievements(app_id) -获取特定游戏的成就
  • get_user_game_stats(app_id) -获取详细的游戏统计数据
  • get_friends_current_games() -看看你的朋友在玩什么游戏
  • compare_games_with_friend(friend_steamid) -比较游戏库
  • get_friend_game_recommendations(friend_steamid) -获取游戏推荐

🎥 YouTube工具

  • search_youtube_videos(query) -搜索视频
  • get_video_details(video_id) -获取详细的视频信息
  • get_channel_info(channel_id) -获取频道信息
  • get_trending_videos() -获取热门视频
  • get_youtube_subscriptions() -获取您的订阅(需要OAuth2)
  • get_youtube_playlists() -获取您的播放列表(需要OAuth2)
  • get_youtube_liked_videos() -获取您喜欢的视频(需要OAuth2)
  • refresh_youtube_token() -手动刷新OAuth2令牌
  • get_youtube_token_status() -检查OAuth2令牌状态

📺 购买工具

  • get_bilibili_user_info(uid) -获取用户配置文件信息
  • get_my_bilibili_profile() -获取您自己的个人资料
  • search_bilibili_videos(keyword) -搜索视频
  • get_bilibili_video_info(bvid) -获取详细的视频信息
  • get_bilibili_user_videos(uid) -获取用户上传的视频
  • get_bilibili_following_list() -获取以下列表
  • get_bilibili_watch_history() -获取您的手表历史记录
  • get_bilibili_favorites() -获取您最喜欢的视频
  • get_bilibili_liked_videos() -获取您喜欢的视频
  • get_bilibili_coin_videos() -获取您给硬币的视频
  • get_bilibili_toview_list() -获取您的“稍后查看”列表

🎵 Spotify工具(共17个)

身份验证和配置(7个工具):

  • test_spotify_credentials() -测试API证书
  • setup_spotify_oauth() -初始化OAuth流
  • complete_spotify_oauth() -完成OAuth身份验证
  • get_spotify_token_status() -获取令牌状态
  • refresh_spotify_token() -手动刷新令牌

音乐发现与社交(9个工具):

  • get_current_user_profile() -获取您的Spotify个人资料
  • get_user_top_items() -获取顶级艺术家/曲目
  • get_user_recently_played() -获取最近播放的音乐
  • get_followed_artists() -获得关注的艺术家
  • follow_artists_or_users() / unfollow_artists_or_users() -社会特征

库和播放列表(6个工具):

  • get_user_saved_tracks() / get_user_saved_albums() -图书馆管理
  • get_user_saved_shows() / get_user_saved_episodes() -播客内容
  • get_current_user_playlists() / get_playlist_items() -播放列表操作

💬 Reddit工具(共25个)

身份验证和配置(6个工具):

  • test_reddit_credentials() -测试API证书
  • setup_reddit_oauth() -初始化OAuth流
  • complete_reddit_oauth() -完成OAuth身份验证
  • get_reddit_token_status() -获取令牌状态
  • refresh_reddit_token() -手动刷新令牌
  • auto_refresh_reddit_token_if_needed() -自动令牌管理

账户信息(6个工具):

  • get_user_subreddits() -获取订阅社区
  • get_user_trophies() -获取Reddit奖杯和成就
  • get_user_preferences() -获取帐户设置
  • get_user_karma_breakdown() -获得业力分配
  • get_moderated_subreddits() -获得有节制的社区
  • get_contributor_subreddits() -获取贡献者权限

内容和活动(10个工具):

  • get_user_submitted_posts() -获取已提交的帖子
  • get_user_comments() -获取评论历史记录
  • get_user_overview() -获取混合活动时间表
  • get_saved_content() -获取已保存的帖子/评论
  • get_hidden_posts() -获取隐藏内容
  • get_upvoted_content() -获得好评的内容
  • get_downvoted_content() -获取被投票否决的内容

消息传递(3个工具):

  • get_inbox_messages() -获取收件箱邮件
  • get_unread_messages() -获取未读邮件
  • get_sent_messages() -获取已发送的消息

🔧 系统工具

  • test_connection() -测试MCP服务器是否正常工作
  • get_personalization_status() -获取整体平台状态
  • test_steam_credentials() -试验蒸汽API配置
  • test_youtube_credentials() -测试YouTube API配置
  • test_bilibili_credentials() -测试Bilibili配置
  • test_spotify_credentials() -测试Spotify API配置
  • test_reddit_credentials() -测试Reddit API配置

💬 使用示例

博弈分析

  • “我最近玩了什么游戏?”
  • “显示我最常玩的Steam游戏”
  • “我的朋友推荐什么游戏?”
  • “将我的游戏库与我朋友的游戏库进行比较”

视频内容发现

  • “查找有关机器学习的YouTube视频”
  • “今天YouTube上的热门视频是什么?”
  • “显示我的YouTube点赞视频”
  • “查找有关编程的热门Bilibili视频”

个人数据洞察

  • “分析我的游戏习惯和偏好”
  • “我最喜欢看哪种类型的YouTube内容?”
  • “显示我的Bilibili收藏夹和喜欢的视频”

音乐和音频分析

  • “我最近在Spotify上听了哪些艺术家的歌?”
  • “显示我最近播放的音乐并查找模式”
  • “过去一个月我最喜欢的曲目是什么?”
  • “根据我的Spotify数据查找新的音乐推荐”

Reddit活动分析

  • “我在Reddit上最活跃的社区是什么?”
  • “显示我最近在Reddit上的帖子和评论”
  • “我在不同子版块的业力分解是什么?”
  • “查找我保存的Reddit内容并分析我的兴趣”

🚀 发展

运行服务器

如果使用conda:

conda activate personalhub
python server.py

如果使用紫外线:

uv run python server.py

如果在虚拟环境中使用pip:

source venv/bin/activate  # On Windows: venv\Scripts\activate
python server.py

测试配置

使用以下工具测试您的设置:

# Test individual platforms
test_steam_credentials()
test_youtube_credentials()
test_bilibili_credentials()
test_reddit_credentials()

# Check overall status
get_personalization_status()

添加新平台

  1. 创建新 platform_mcp.py 文件
  2. 使用以下工具实施特定于平台的工具 @mcp.tool() 装饰器
  3. 添加设置功能 server.py
  4. 更新配置文件和文档

🔒 隐私与安全

  • 本地存储:所有API密钥和令牌都存储在您的计算机本地
  • 无数据传输:您的个人数据永远不会传输给第三方
  • 直接API调用:所有API调用都是从您的计算机直接调用到相应的平台
  • 安全配置:使用环境变量或本地配置文件
  • 定期更新:为了安全起见,定期轮换API密钥和令牌

安全最佳实践

  1. 不要提交敏感文件:确保 config, .env, myinfo.json,以及 youtube_tokens.json 都在 .gitignore
  2. 定期更新Cookie:Bilibili Cookie过期,需要定期更新
  3. 使用环境变量:在生产中,使用系统环境变量
  4. 文件权限:确保配置文件仅供您阅读
  5. YouTube令牌安全:系统自动在本地文件中安全地管理OAuth2令牌
  6. 逐步配置:您可以增量配置平台-缺少凭据不会导致错误

🆘 故障排除

常见问题

Q: Bilibili饼干不起作用? A: Cookie定期过期。从浏览器中重新提取它们并更新配置。

Q: 蒸汽API速率限制? A: API蒸汽有速率限制。避免频繁通话,并实施合理的延迟。

Q: 超过YouTube API配额? A: YouTube API有每日配额。您可以请求增加配额或优化您的使用。

Q: YouTube OAuth2令牌已过期? A: 系统会自动刷新过期的令牌。如果需要手动刷新,请使用 refresh_youtube_token().

Q: 我可以只使用一些平台吗? A: 是的!您只能配置要使用的平台。缺少凭据不会导致错误。

Q: 如何验证我的配置? A: 使用测试工具或致电 get_personalization_status() 检查所有平台。

获取帮助

  1. 检查配置文件格式
  2. 验证API密钥和Cookie是否有效
  3. 查看MCP服务器日志
  4. 使用测试工具验证每个平台配置

🤝 贡献

欢迎投稿!以下是您可以提供帮助的方式:

  1. 复刻仓库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 进行更改 并在适用的情况下添加测试
  4. 提交您的更改: git commit -m 'Add amazing feature'
  5. 推到分支: git push origin feature/amazing-feature
  6. 打开拉取请求

添加新平台

想要添加对新平台的支持吗?请按照以下步骤操作:

  1. 创建新 platform_mcp.py 文件(例如。, spotify_mcp.py)
  2. 使用以下工具实施特定于平台的工具 @mcp.tool() 装饰器
  3. 添加设置功能并将其集成到 server.py
  4. 更新配置文件和文档
  5. 添加测试和示例

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

⭐ 星迹

如果你觉得这个项目有用,请考虑在GitHub上给它一颗星!

______________________________________________________________________

由...制作❤️ 将您的数字生活与人工智能连接起来

目录标签

目录标签

数据集成PythonClaude本地部署AI个性化多平台整合OAuth2管理智能推荐

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

75

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP