Skip to main content
Glama

play-sound-mcp-server

index.ts1.8 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import path from "path"; import { fileURLToPath } from "url"; import { exec } from "child_process"; // サウンドファイルの絶対パスを取得 const __dirname = path.dirname(fileURLToPath(import.meta.url)); // コマンドライン引数からファイル名を取得(デフォルト: sound.mp3) const soundFileName = process.argv[2] || "sound.mp3"; const soundFile = path.join(__dirname, "..", "sounds", soundFileName); const server = new McpServer({ name: "play-sound-mcp-server", version: "1.0.0", capabilities: { resources: {}, tools: {}, }, }); // サウンド再生ツールを登録 server.tool( "play-local-sound", `ローカルのサウンドファイル(${soundFileName})をafplayで再生します。`, {}, async () => { return new Promise((resolve) => { exec(`afplay "${soundFile}"`, (error) => { if (error) { resolve({ content: [ { type: "text", text: `サウンド再生に失敗しました: ${error}` }, ], }); } else { resolve({ content: [ { type: "text", text: `サウンド(${soundFileName})を再生しました。` }, ], }); } }); }); } ); console.log("[exp-mcp-server] 提供中のtool: play-local-sound (ローカルのサウンドファイルを再生)"); async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error("exp-mcp-server running on stdio"); } main().catch((error) => { console.error("Fatal error in main():", error); process.exit(1); });

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/PetitBaguette/play-sound-mcp-server'

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