StreamerSongList MCP Server
This MCP server provides comprehensive access to StreamerSongList data, enabling LLMs like Claude to interact with live streamer song libraries, queues, and streaming statistics.
Core Capabilities:
Streamer Information - Fetch detailed streamer configuration and comprehensive statistics
Queue Management - View current queues with pagination, monitor real-time changes with configurable intervals, and access queue statistics (total songs, duration, popular tracks)
Song Library & Discovery - Search songs by title, artist, or genre with advanced filtering, and retrieve detailed metadata for specific songs
Song Attributes - Get, add, remove, or list tags and attributes for better organization
Song Requests - Create, update, and delete song requests with optional messages and requester information
Play History - Access performance history with date filtering and pagination
Statistics & Analytics - Get comprehensive streaming analytics over various time periods (day/week/month/year/all)
Overlay Data - Retrieve overlay configuration and display data for queue, now playing, history, or stats
Key Features: Real StreamerSongList API data (no mocking), no authentication required for public endpoints, optional default streamer configuration, pagination support for large datasets, and real-time monitoring capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@StreamerSongList MCP Servershow me the current song queue for belleune"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
StreamerSongList MCP Server
MCP server exposing read-only StreamerSongList tools. Use LLM's to interface with a Live Streamers Song list. Claude Desktop and any MCP client.
Quick Start
Node.js 18+ required
Claude Desktop recommended for daily use
Add to Claude Desktop via npx:
{
"mcpServers": {
"streamersonglist": {
"command": "npx",
"args": ["streamersonglist-mcp"]
}
}
}See claude-desktop-config.with-default-streamer.json for an example with DEFAULT_STREAMER configured.
Click on the smithery badge to test out the mcp server or deploy your own.
Optional Smithery install (requires Smithery account):
# First login to Smithery (one-time setup)
npx -y @smithery/cli login
# Then install the MCP server
npx -y @smithery/cli install @vuvuvu/streamersonglist-mcp --client claudeRelated MCP server: Spotify MCP Server
Deploy to Smithery.ai
Want to test this MCP server instantly without any local setup? Click the Smithery badge above or visit:
Smithery.ai provides a hosted environment where you can:
Test all StreamerSongList tools immediately in your browser
No installation or configuration required
Perfect for trying out the server before local setup
Great for sharing with others or quick demonstrations
Simply click the badge at the top of this README or the link above to get started instantly!
Inspect / Debug (Recommended)
Use the MCP Inspector to explore tools and run requests interactively:
npx @modelcontextprotocol/inspector@latest -- npx streamersonglist-mcp
# or from a local clone
npx @modelcontextprotocol/inspector@latest -- node src/server.jsAlternative (raw stdio):
npm start
printf '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}\n' | node src/server.jsAvailable Tools (6 Total)
✅ All Real API Data (6 tools)
getStreamerByName — Fetch comprehensive streamer configuration
getQueue — List current song queue with pagination
getSongs — Fetch complete song list with pagination
searchSongs — Search songs by title or artist
getSongDetails — Get detailed information about a specific song
monitorQueue — Monitor queue changes using real data
Usage Examples
For comprehensive examples of how to use these tools, see docs/USAGE_EXAMPLES.md including:
🎵 Music discovery and analysis
📊 Content creator tools and stream planning
🤖 AI assistant integration and smart recommendations
📈 Data analysis and insights
🎪 Event planning and collaboration tools
🛠️ Technical applications and automation
Quick examples:
// Search for songs
{"tool": "searchSongs", "arguments": {"streamerName": "belleune", "query": "Frank Sinatra"}}
// Get most popular songs
{"tool": "getSongs", "arguments": {"streamerName": "belleune", "limit": 20}}
// Compare streamer libraries
{"tool": "getSongs", "arguments": {"streamerName": "vu_vu", "limit": 50}}API Status
Working Endpoints: All 6 tools use real API data
Streamer information, queue management, and full song library access
No authentication required for public endpoints
All features fully functional with real StreamerSongList API data
#Please be considerate when using streamersonglists api. It's a shared but limitted resource, be mindful when using LLM's to access it, Please don't ruin it for everyone!
For detailed API testing results, see docs/API_TESTING_REPORT.md
Environment
Optionally set a default streamer used when streamerName is omitted:
{
"mcpServers": {
"streamersonglist": {
"command": "npx",
"args": ["streamersonglist-mcp"],
"env": { "DEFAULT_STREAMER": "public_streamer" }
}
}
}CLI override examples:
DEFAULT_STREAMER=public_streamer npx streamersonglist-mcp
npx streamersonglist-mcp --streamer public_streamerConfiguration options:
DEFAULT_STREAMER— default streamer when an argument is omittedSSL_API_BASE— override API base (defaulthttps://api.streamersonglist.com/v1)
Version info: The server reports its version from package.json, matching the published package.
Security tip: use only public streamer names; the server calls public read-only endpoints.
Scripts
npm install— install dependenciesnpm start— run server on stdionpm test— spawn server and verify tools/listnpm run setup— generate Claude Desktop entries
License
MIT — see LICENSE.
Contributing
Contributions are welcome via pull requests. Due to limitations of the public StreamerSongList API, scope for major new features is intentionally modest — helpful contributions include:
Bug fixes, error handling, and robustness improvements
Documentation updates and examples
Small tooling or DX enhancements (tests, CI, config)
Please open an issue to discuss larger ideas before starting work, and run npm test before submitting PRs.
Credits
This project builds on the excellent StreamerSonglist service. All data and API functionality are provided by StreamerSonglist:
I am not affiliated with or endorsed by StreamerSonglist so please don't bother them with any issues you find in my code. Thankyou Streamersonglist for providing such a useful service to the streamer community. Very POG
Available Tools
6 toolsgetQueueB
View current song queues with pagination support
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer whose queue to fetch | |
| limit | No | Maximum number of songs to return (default: 50) | |
| offset | No | Number of songs to skip for pagination (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It indicates read-only behavior ('view') and pagination support, but does not mention side effects, authentication needs, rate limits, or error conditions. More detail is needed for a complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. Every word earns its place, clearly stating the action, resource, and a key feature (pagination).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 fully documented parameters and no output schema, the description adequately covers the purpose and pagination. However, it lacks guidance on usage context (e.g., per-streamer) and could hint at the return format. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter fully described. The description adds 'with pagination support', which contextualizes limit/offset but does not add meaning beyond the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'view' and the resource 'current song queues', and mentions pagination. It distinguishes from siblings like 'getSongDetails' (specific song) and 'monitorQueue' (monitoring). However, it could be more specific that the queue is per streamer, as indicated by the parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'monitorQueue' or 'getSongs'. The description does not mention prerequisites, limitations, or exclude other contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSongDetailsC
Get detailed information about a specific song by ID
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer who owns the song | |
| songId | Yes | The ID of the song to fetch details for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only implies a read operation with 'get', but omits details like whether authentication is required, rate limits, what happens if the song doesn't exist, or if there are side effects. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no waste. It is appropriately front-loaded but could add more value without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does not explain what 'detailed information' contains (e.g., fields, format). Also missing error handling info (e.g., song not found). Incomplete for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters with descriptions, achieving 100% coverage. The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'get detailed information about a specific song by ID', which specifies the verb and resource. It distinguishes itself from siblings like getQueue (queue) or searchSongs (search), but 'detailed information' remains somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., getSongs, searchSongs). No prerequisites or exclusions are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getSongsA
Fetch the complete song list for a streamer with pagination support
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer whose song list to fetch | |
| limit | No | Maximum number of songs to return (default: 100) | |
| offset | No | Number of songs to skip for pagination (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only discloses that the tool 'fetches' (implied read-only) and supports pagination, but omits details on ordering, filtering, rate limits, or authentication. This is minimal transparency for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no excess words. It conveys the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 optional parameters, no output schema, and no annotations, the description provides adequate context for a basic list fetch. However, it lacks details on default behavior, ordering, and when to choose this over sibling tools, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds no new parameter-specific information beyond the schema, but the phrase 'complete song list with pagination support' reinforces the utility of limit/offset. Baseline 3 applies as description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch'), the resource ('complete song list'), and the target ('for a streamer'), with pagination support. It effectively distinguishes from sibling tools like getQueue (queue), getSongDetails (details), and searchSongs (search) by emphasizing 'complete' list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving all songs with pagination, but does not explicitly state when to use this tool over alternatives like searchSongs or getSongDetails. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getStreamerByNameB
Fetch detailed information about a specific streamer
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states 'Fetch detailed information' but does not specify what 'detailed information' includes, any limitations, or that it is a read-only operation. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise, but it lacks detail. It is appropriately sized for the complexity but could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description should clarify the output format or scope. It does not, leaving ambiguity about what 'detailed information' entails. Moderately complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with parameter 'streamerName' described as 'The name of the streamer'. The description adds no extra meaning beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch detailed information about a specific streamer', which is a specific verb+resource. However, it does not differentiate from sibling tools like getQueue or getSongDetails, but the tool name itself is already quite specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no mentions of prerequisites, context, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitorQueueB
Monitor queue changes with configurable polling intervals
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer whose queue to monitor | |
| interval | No | Polling interval in seconds (default: 30) | |
| duration | No | How long to monitor in seconds (default: 300) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It only says 'monitor queue changes' without explaining polling behavior, blocking nature, how results are returned, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the key action, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a monitoring tool with no output schema and no annotations, the description lacks information on return format, termination behavior, and error handling. It is incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides descriptions for all parameters (100% coverage). The description adds minimal value by repeating 'configurable polling intervals' but does not clarify parameter specifics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (monitor), resource (queue changes), and configurable polling intervals. It distinguishes from siblings like getQueue which likely returns a static snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like getQueue. No mention of prerequisites or situations where monitoring is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSongsB
Search within a streamer's song list by title or artist
| Name | Required | Description | Default |
|---|---|---|---|
| streamerName | No | The name of the streamer whose songs to search | |
| query | Yes | Search query to match against song titles and artists | |
| limit | No | Maximum number of results to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full responsibility. It only states basic action; missing behavioral traits like case sensitivity, partial match behavior, what happens on no results, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 10 words, no redundancy. Efficiently conveyed purpose without extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and low complexity, description could have stated expected return format or example usage. It lacks enough context for an agent to fully understand invocation consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. Description adds 'by title or artist' which reiterates schema description for query. No additional semantic value beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Search', resource 'streamer's song list', and criteria 'by title or artist'. It distinguishes from sibling tools like getSongs by implying filtering, so purpose is specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. For example, it doesn't clarify that getSongs might be better for listing all songs, or that searchSongs is for targeted lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
12 tool updates
v1.0.0- Removed
getOverlayData - Removed
getPlayHistory - Changed
getQueue1 field changed- changed
Input schema / requiredPrevious value: -[ - "streamerName" -]New value: +[]
- Removed
getQueueStats - Changed
getSongDetails3 fields changed- changed
Input schema / properties / songId / descriptionPrevious value: -"The unique identifier of the song"New value: +"The ID of the song to fetch details for" - changed
Input schema / properties / songId / typePrevious value: -"string"New value: +"number" - added
Input schema / properties / streamerNameAdded value: +{ + "description": "The name of the streamer who owns the song", + "type": "string" +}
- Added
getSongs - Changed
getStreamerByName1 field changed- changed
Input schema / requiredPrevious value: -[ - "streamerName" -]New value: +[]
- Removed
getStreamStats - Removed
manageSongAttributes - Removed
manageSongRequest - Changed
monitorQueue1 field changed- changed
Input schema / requiredPrevious value: -[ - "streamerName" -]New value: +[]
- Changed
searchSongs8 fields changed- removed
Input schema / properties / artistRemoved value: -{ - "description": "Filter by specific artist name", - "type": "string" -} - removed
Input schema / properties / genreRemoved value: -{ - "description": "Filter by music genre", - "type": "string" -} - changed
Input schema / properties / limit / defaultPrevious value: -50New value: +20 - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of songs to return (default: 50)"New value: +"Maximum number of results to return (default: 20)" - removed
Input schema / properties / offsetRemoved value: -{ - "default": 0, - "description": "Number of songs to skip for pagination (default: 0)", - "type": "number" -} - changed
Input schema / properties / query / descriptionPrevious value: -"Search query for song title or artist"New value: +"Search query to match against song titles and artists" - added
Input schema / properties / streamerNameAdded value: +{ + "description": "The name of the streamer whose songs to search", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[]New value: +[ + "query" +]
11 tool updates
- First observed
getOverlayData - First observed
getPlayHistory - First observed
getQueue - First observed
getQueueStats - First observed
getSongDetails - First observed
getStreamerByName - First observed
getStreamStats - First observed
manageSongAttributes - First observed
manageSongRequest - First observed
monitorQueue - First observed
searchSongs
TDQS
Each tool targets a distinct operation: queue viewing, song details, song list, streamer info, queue monitoring, and song search. No overlap exists.
All tools use camelCase with a verb_noun pattern (getQueue, getSongDetails, etc.), and the verbs are consistent (get, monitor, search).
Six tools cover the core functionalities of a song queue server without being excessive or insufficient.
The tool set fully covers the read-only domain: queue, song details, full list, search, streamer info, and monitoring. No obvious gaps for its purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A Model Context Protocol server for Wix AI tools
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
Related MCP Servers
- FlicenseBqualityDmaintenanceA lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.22444-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.1-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.1-
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables AI assistants like Claude to generate lyrics, songs, and background music through Mureka's APIs.112MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vuvuvu/streamersonglist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server