lastfm-mcp (rianvdm/lastfm-mcp) is an MCP server listed on the M8ven Trust Index. It scores 68 out of 100, grade C. It declares 21 tools. No publisher has claimed this listing.

C
Caution
68/100

lastfm-mcp

A Model Context Protocol (MCP) server for Last.fm. Gives AI assistants access to your listening history, music discovery, and detailed track/artist/album information.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

rianvdm

Source: Glama · also listed on github_code

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical, 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
// tools this server exposes21 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

lastfm_auth_status

Check if user is authenticated with Last.fm - Use this to verify login status before accessing personal music data

get_recent_tracks

Get user's recent Last.fm listening history - REQUIRES AUTHENTICATION. Use lastfm_auth_status first to check login status.

get_top_artists

Get user's most listened to artists from Last.fm - REQUIRES AUTHENTICATION. Specify time period like '7day', '1month', '6month', 'overall'.

get_top_albums

Get user's most listened to albums from Last.fm - REQUIRES AUTHENTICATION. Specify time period like '7day', '1month', '6month', 'overall'.

get_top_tracks

Get user's most listened to tracks from Last.fm - REQUIRES AUTHENTICATION. Specify time period like '7day', '1month', '6month', 'overall'.

get_loved_tracks

Get user's loved/favorite tracks from Last.fm - REQUIRES AUTHENTICATION. Shows tracks the user has marked as favorites.

get_user_info

Get Last.fm user profile information and listening statistics - REQUIRES AUTHENTICATION for private profiles

get_listening_stats

Get comprehensive Last.fm listening statistics and analytics - REQUIRES AUTHENTICATION. Shows detailed insights about music habits.

get_music_recommendations

Get personalized music recommendations from Last.fm based on listening history - REQUIRES AUTHENTICATION

get_weekly_chart_list

Get available weekly chart date ranges for user's listening history - REQUIRES AUTHENTICATION. Use this to find historical time periods for temporal queries like "when did I start listening to X".

get_weekly_artist_chart

Get artist listening data for a specific time period - REQUIRES AUTHENTICATION. Perfect for temporal queries like "what artists was I into in 2023".

get_weekly_track_chart

Get track listening data for a specific time period - REQUIRES AUTHENTICATION. Perfect for temporal queries like "what songs was I obsessed with in summer 2023".

ping

Test Last.fm MCP server connectivity - Use this to verify the server is working

server_info

Get Last.fm MCP server information and available capabilities

get_track_info

Get detailed Last.fm information about any track (artist, album, play count, tags, similar tracks) - No authentication required

get_artist_info

Get detailed Last.fm information about any artist (biography, tags, similar artists, top tracks) - No authentication required

get_album_info

Get detailed Last.fm information about any album (track listing, tags, play counts) - No authentication required

get_artist_top_tracks

Get an artist's globally most-played tracks on Last.fm (not user-specific) - No authentication required. Useful for finding canonical / signature songs by an artist.

get_artist_top_albums

Get an artist's globally most-played albums on Last.fm (not user-specific) - No authentication required. Useful for finding the canonical record by an artist.

get_similar_artists

Find artists similar to any artist using Last.fm data - No authentication required

get_similar_tracks

Find tracks similar to any track using Last.fm data - No authentication required

// known CVEs in dependencies1 critical3 high3 medium

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@3.0.7GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

high@modelcontextprotocol/sdk@1.24.3GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.24.3GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

highwrangler@4.19.1GHSA-36p8-mvp6-cv38

Wrangler affected by OS Command Injection in `wrangler pages deploy`

mediumagents@0.2.31GHSA-cvhv-6xm6-c3v4

Cloudflare Agents is Vulnerable to Reflected Cross-Site Scripting in the AI Playground's OAuth callback handler

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configSERVER_URL
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

21/21 tools missing one or more hints — lastfm_auth_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_recent_tracks (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_top_artists (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +18 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

19/21 tool handlers declare input schemas (90%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

18/21 tool handlers wrap calls in try/catch (86%)

Wrap each tool handler body in try/catch and return a structured error response.

Tool test coverage

Only 2/21 tools referenced in tests (10%)

Write tests that reference each tool by name so every tool has at least one test.

Production dependencies are patched

0 critical, 2 high severity in production deps — @modelcontextprotocol/sdk@1.24.3 (high), @modelcontextprotocol/sdk@1.24.3 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dev dependencies

2 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/rianvdm/lastfm-mcp?variant=verified)](https://m8ven.ai/mcp/rianvdm/lastfm-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 60f97c8ffee18abeeede0c98d2bc032d47e96b27
code hash: dadecc2f3bbdf6ae0f07e9e763d6186333c6c2f3ffb28328cd8a563638f371cd
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client