Skip to main content
Glama
YangLiangwei

PersonalizationMCP

by YangLiangwei

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STEAM_API_KEYNoSteam API key
STEAM_USER_IDNoSteam user ID
BILIBILI_BUVID3NoBilibili buvid3 cookie
YOUTUBE_API_KEYNoYouTube API key
REDDIT_CLIENT_IDNoReddit client ID
BILIBILI_BILI_JCTNoBilibili bili_jct cookie
BILIBILI_SESSDATANoBilibili sessdata cookie
SPOTIFY_CLIENT_IDNoSpotify client ID
REDDIT_REDIRECT_URINoReddit redirect URI
REDDIT_CLIENT_SECRETNoReddit client secret
SPOTIFY_REDIRECT_URINoSpotify redirect URI
SPOTIFY_CLIENT_SECRETNoSpotify client secret

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
addA

Add two integers.

test_connectionA

Test if the MCP server is working.

get_personalization_statusB

Get overall personalization server status.

test_steam_credentialsB

Test Steam API credentials.

get_steam_libraryB

Get user's Steam game library with detailed statistics.

    Args:
        steamid: Optional Steam ID. If not provided, uses your own Steam ID.
    
get_steam_friendsB

Get user's Steam friends list.

    Args:
        steamid: Optional Steam ID. If not provided, uses your own Steam ID.
    
my_steam_recent_activityB

Get my recent Steam gaming activity.

get_steam_profileB

Get Steam profile information.

    Args:
        steamid: Optional Steam ID. If not provided, uses your own Steam ID.
    
get_steam_configB

Get Steam API configuration status.

get_steam_recent_activityB

Get user's recent Steam gaming activity.

    Args:
        steamid: Optional Steam ID. If not provided, uses your own Steam ID.
    
get_player_summaryC

Get detailed player profile information including status, avatar, and location.

    Args:
        steamids: Optional comma-separated list of Steam IDs. If not provided, uses your own Steam ID.
    
get_player_achievementsC

Get player achievements for a specific game.

get_user_game_statsC

Get detailed user statistics for a specific game.

get_friends_current_gamesA

Get what games your Steam friends are currently playing.

compare_games_with_friendA

Compare your game library with a friend's library to find common games.

    Args:
        friend_steamid: Steam ID of the friend to compare with.
    
get_friend_game_recommendationsB

Get game recommendations based on what a friend owns but you don't.

    Args:
        friend_steamid: Steam ID of the friend to get recommendations from.
    
test_youtube_credentialsB

Test YouTube API credentials.

refresh_youtube_tokenB

手动刷新YouTube访问令牌

auto_refresh_youtube_token_if_neededA

自动检查并刷新YouTube访问令牌(如果需要的话)

get_youtube_token_statusB

获取YouTube令牌状态信息

setup_youtube_oauthC
    设置YouTube OAuth2认证(首次认证)
    
    Args:
        client_id: Google OAuth2 Client ID
        client_secret: Google OAuth2 Client Secret
        
    Returns:
        包含认证状态和下一步操作的字典
    
complete_youtube_oauthB
    完成YouTube OAuth2认证(获取令牌)
    
    Args:
        client_id: Google OAuth2 Client ID
        client_secret: Google OAuth2 Client Secret  
        device_code: 从setup_youtube_oauth获得的设备代码
        
    Returns:
        认证完成状态
    
get_youtube_subscriptionsA

Get user's YouTube channel subscriptions (requires OAuth2 access token).

get_youtube_playlistsA

Get user's YouTube playlists (requires OAuth2 access token).

get_youtube_liked_videosA

Get user's liked YouTube videos (requires OAuth2 access token).

search_youtube_videosC

Search YouTube videos by query.

get_video_detailsC

Get detailed information about a specific YouTube video.

get_channel_infoC

Get information about a YouTube channel.

get_trending_videosB

Get trending YouTube videos for a specific region.

get_youtube_configB

Get YouTube API configuration status.

test_bilibili_credentialsB

Test Bilibili API credentials.

get_bilibili_configA

Get Bilibili API configuration status.

get_bilibili_user_infoC

Get Bilibili user profile information.

    Args:
        uid: Bilibili user ID (UID)
    
get_my_bilibili_profileA

Get your own Bilibili profile information (requires login).

get_bilibili_following_listA

Get Bilibili user's following list.

    Args:
        uid: User ID. If not provided, gets your own following list (requires login)
        page: Page number (default: 1)
    
search_bilibili_videosB

Search Bilibili videos by keyword.

    Args:
        keyword: Search keyword
        page: Page number (default: 1)
        order: Sort order - totalrank, click, pubdate, dm, stow (default: totalrank)
    
get_bilibili_user_videosB

Get videos uploaded by a Bilibili user.

    Args:
        uid: User ID
        page: Page number (default: 1)
    
get_bilibili_video_infoB

Get detailed information about a Bilibili video.

    Args:
        bvid: Bilibili video ID (BVID)
    
get_bilibili_watch_historyB

Get your Bilibili watch history (requires login).

    Args:
        page: Page number (default: 1)
    
get_bilibili_favoritesA

Get Bilibili user's favorite folders and videos.

    Args:
        uid: User ID. If not provided, gets your own favorites (requires login)
        page: Page number (default: 1)
    
get_bilibili_toview_listA

Get your Bilibili 'to view' (稍后再看) list (requires login).

test_spotify_credentialsC

Test Spotify API credentials.

get_spotify_configA

Get Spotify API configuration status.

setup_spotify_oauthA
    Setup Spotify OAuth2 authentication (initial authentication)
    
    Args:
        client_id: Spotify Client ID
        client_secret: Spotify Client Secret
        redirect_uri: Optional redirect URI (defaults to environment variable or http://localhost:8888/callback)
        
    Returns:
        Dictionary containing authentication status and next steps
    
complete_spotify_oauthB
    Complete Spotify OAuth2 authentication (get tokens)
    
    Args:
        client_id: Spotify Client ID
        client_secret: Spotify Client Secret
        authorization_code: Authorization code from Spotify callback
        redirect_uri: Optional redirect URI (should match the one used in setup_spotify_oauth)
        
    Returns:
        Authentication completion status
    
refresh_spotify_tokenA

Manually refresh Spotify access token

auto_refresh_spotify_token_if_neededB

Auto check and refresh Spotify access token if needed

get_spotify_token_statusB

Get Spotify token status information

get_current_user_profileC

Get current user's Spotify profile information.

get_user_profileB

Get a specific user's public Spotify profile information.

get_user_top_itemsB

Get user's top artists or tracks.

    Args:
        item_type: "artists" or "tracks"
        time_range: "short_term" (4 weeks), "medium_term" (6 months), "long_term" (years)
        limit: Number of items to return (1-50, default 50)
    
get_followed_artistsC

Get user's followed artists.

follow_artists_or_usersB

Follow artists or users.

    Args:
        ids: Comma-separated list of artist or user IDs
        follow_type: "artist" or "user"
    
unfollow_artists_or_usersC

Unfollow artists or users.

    Args:
        ids: Comma-separated list of artist or user IDs
        follow_type: "artist" or "user"
    
follow_playlistB

Follow a playlist.

    Args:
        playlist_id: Spotify playlist ID
        public: Whether the playlist will be included in user's public playlists
    
unfollow_playlistC

Unfollow a playlist.

    Args:
        playlist_id: Spotify playlist ID
    
get_user_saved_tracksD

Get user's saved tracks.

get_user_saved_albumsC

Get user's saved albums.

get_user_saved_showsD

Get user's saved podcast shows.

get_user_saved_episodesC

Get user's saved podcast episodes.

get_user_saved_audiobooksC

Get user's saved audiobooks.

get_current_user_playlistsC

Get current user's playlists.

get_user_playlistsC

Get a user's public playlists.

get_playlist_itemsC

Get items (tracks/episodes) in a playlist.

get_user_recently_playedC

Get user's recently played tracks.

    Args:
        limit: Number of tracks to return (1-50, default 50)
    
test_reddit_credentialsC

Test Reddit API credentials.

get_reddit_configC

Get Reddit API configuration status.

setup_reddit_oauthB
    Setup Reddit OAuth2 authentication (initial authentication).
    
    Args:
        client_id: Reddit Client ID
        client_secret: Reddit Client Secret
        redirect_uri: Optional redirect URI (defaults to environment variable or http://localhost:8888/callback)
    
complete_reddit_oauthB
    Complete Reddit OAuth2 authentication (get tokens).
    
    Args:
        client_id: Reddit Client ID
        client_secret: Reddit Client Secret
        authorization_code: Authorization code from Reddit callback
        redirect_uri: Optional redirect URI (should match the one used in setup_reddit_oauth)
    
refresh_reddit_tokenC

Manually refresh Reddit access token.

auto_refresh_reddit_token_if_neededC

Auto check and refresh Reddit access token if needed.

get_reddit_token_statusD

Get Reddit token status information.

get_user_subredditsB
    Get user's subscribed subreddits.
    
    Args:
        access_token: Optional access token
        limit: Number of subreddits to return (1-100, default 100)
    
get_user_trophiesA

Get current user's Reddit trophies and achievements.

get_user_preferencesC

Get current user's Reddit preferences and settings.

get_user_karma_breakdownC

Get user's karma breakdown by subreddit.

get_moderated_subredditsB
    Get subreddits where user is a moderator.
    
    Args:
        access_token: Optional access token
        limit: Number of subreddits to return (1-100, default 100)
    
get_contributor_subredditsB
    Get subreddits where user has contributor permissions.
    
    Args:
        access_token: Optional access token
        limit: Number of subreddits to return (1-100, default 100)
    
get_user_submitted_postsA
    Get user's submitted posts.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of posts to return (1-100, default 100)
        sort: Sort order (new, hot, top, default: new)
    
get_user_commentsB
    Get user's comments.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of comments to return (1-100, default 100)
        sort: Sort order (new, hot, top, default: new)
    
get_user_overviewA
    Get user's posts and comments overview (mixed timeline).
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of items to return (1-100, default 100)
        sort: Sort order (new, hot, top, default: new)
    
get_saved_contentA
    Get user's saved posts and comments.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of items to return (1-100, default 100)
    
get_hidden_postsB
    Get user's hidden posts.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of items to return (1-100, default 100)
    
get_upvoted_contentB
    Get user's upvoted posts.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of items to return (1-100, default 100)
    
get_downvoted_contentA
    Get user's downvoted posts.
    
    Args:
        username: Username (optional, defaults to current user)
        access_token: Optional access token
        limit: Number of items to return (1-100, default 100)
    
get_inbox_messagesB
    Get user's inbox messages (requires privatemessages scope).
    
    Args:
        access_token: Optional access token
        limit: Number of messages to return (1-100, default 100)
    
get_unread_messagesB
    Get user's unread messages (requires privatemessages scope).
    
    Args:
        access_token: Optional access token
        limit: Number of messages to return (1-100, default 100)
    
get_sent_messagesA
    Get user's sent messages (requires privatemessages scope).
    
    Args:
        access_token: Optional access token
        limit: Number of messages to return (1-100, default 100)
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.7/5.0

Scored across 88 tools

Disambiguation4/5

Most tools are clearly distinct due to platform prefixes (e.g., get_steam_library vs get_spotify_user_saved_tracks), but there are minor confusions between test_*_credentials, get_*_config, and generic status tools like test_connection and get_personalization_status. The unrelated 'add' tool also creates ambiguity.

Naming Consistency3/5

The majority follow a get_verb_noun pattern, but there are deviations like 'add', 'test_connection', and 'my_steam_recent_activity' (instead of get_my_...). The inconsistent use of 'my_' vs 'get_my_' and a few long auto-refresh names slightly reduce predictability.

Tool Count1/5

With 88 tools, this is an extreme mismatch even for a multi-platform personalization server. The calibration indicates 50+ tools as extreme, and this server has nearly double that, making it overwhelming for agents to navigate.

Completeness4/5

Each platform has a broad set of read operations and some actions (follow/unfollow, OAuth setup). Missing write operations like posting or creating playlists are notable, but for a personalization-focused server the coverage is substantial, with only minor gaps in content creation.

Maintenance

ActivityInactive
ResponsivenessUnresponsive