Skip to main content
Glama

Spotify Streamable MCP Server

by iceener
index.ts2.65 kB
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { SpotifyControlBatchOutput, SpotifyLibraryOutputObject, SpotifyPlaylistOutputObject, SpotifySearchBatchOutput, SpotifyStatusOutputObject, } from '../schemas/outputs.ts'; import { spotifyControlTool } from './spotify-control.tool.ts'; import { spotifyLibraryTool } from './spotify-library.tool.ts'; import { spotifyPlaylistTool } from './spotify-playlist.tool.ts'; import { spotifySearchTool } from './spotify-search.tool.ts'; import { spotifyStatusTool } from './spotify-status.tool.ts'; export function registerTools(server: McpServer): void { server.registerTool( spotifySearchTool.name, { description: spotifySearchTool.description, inputSchema: spotifySearchTool.inputSchema, outputSchema: SpotifySearchBatchOutput.shape, annotations: { title: spotifySearchTool.title, readOnlyHint: true, openWorldHint: true, }, }, (args) => spotifySearchTool.handler(args), ); server.registerTool( spotifyStatusTool.name, { description: spotifyStatusTool.description, inputSchema: spotifyStatusTool.inputSchema, outputSchema: SpotifyStatusOutputObject.shape, annotations: { title: spotifyStatusTool.title, readOnlyHint: true, openWorldHint: true, }, }, (args) => spotifyStatusTool.handler(args), ); server.registerTool( spotifyControlTool.name, { description: spotifyControlTool.description, inputSchema: spotifyControlTool.inputSchema, outputSchema: SpotifyControlBatchOutput.shape, annotations: { title: spotifyControlTool.title, readOnlyHint: false, openWorldHint: true, }, }, (args) => spotifyControlTool.handler(args), ); server.registerTool( spotifyPlaylistTool.name, { description: spotifyPlaylistTool.description, inputSchema: spotifyPlaylistTool.inputSchema, outputSchema: SpotifyPlaylistOutputObject.shape, annotations: { title: spotifyPlaylistTool.title, readOnlyHint: false, openWorldHint: true, }, }, (args) => spotifyPlaylistTool.handler(args), ); server.registerTool( spotifyLibraryTool.name, { description: spotifyLibraryTool.description, inputSchema: spotifyLibraryTool.inputSchema, outputSchema: SpotifyLibraryOutputObject.shape, annotations: { title: spotifyLibraryTool.title, readOnlyHint: false, openWorldHint: true, }, }, (args) => spotifyLibraryTool.handler(args), ); }

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/iceener/spotify-streamable-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server