README.mdā¢6.16 kB
# StreamerSongList MCP Server
[](https://smithery.ai/server/@vuvuvu/streamersonglist-mcp)
[](https://github.com/vuvuvu/streamersonglist-mcp/actions/workflows/test.yml)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
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:
```json
{
"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.
[](https://smithery.ai/server/@vuvuvu/streamersonglist-mcp)
Optional Smithery install (requires Smithery account):
```bash
# 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 claude
```
## Deploy to Smithery.ai
Want to test this MCP server instantly without any local setup? Click the Smithery badge above or visit:
**[š Deploy to Smithery.ai](https://smithery.ai/server/@vuvuvu/streamersonglist-mcp)**
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:
```bash
npx @modelcontextprotocol/inspector@latest -- npx streamersonglist-mcp
# or from a local clone
npx @modelcontextprotocol/inspector@latest -- node src/server.js
```
Alternative (raw stdio):
```bash
npm start
printf '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}\n' | node src/server.js
```
## Available 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](./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:
```json
// 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](./docs/API_TESTING_REPORT.md)
## Environment
Optionally set a default streamer used when `streamerName` is omitted:
```json
{
"mcpServers": {
"streamersonglist": {
"command": "npx",
"args": ["streamersonglist-mcp"],
"env": { "DEFAULT_STREAMER": "public_streamer" }
}
}
}
```
CLI override examples:
```bash
DEFAULT_STREAMER=public_streamer npx streamersonglist-mcp
npx streamersonglist-mcp --streamer public_streamer
```
Configuration options:
- `DEFAULT_STREAMER` ā default streamer when an argument is omitted
- `SSL_API_BASE` ā override API base (default `https://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 dependencies
- `npm start` ā run server on stdio
- `npm test` ā spawn server and verify tools/list
- `npm 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:
- https://www.streamersonglist.com
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