{"_id":"@daewook/openai-tts-mcp-server","_rev":"4-299b89f566ba4fd66d6bbf78f0429b70","name":"@daewook/openai-tts-mcp-server","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@daewook/openai-tts-mcp-server","version":"1.0.0","keywords":["mcp","openai","tts","text-to-speech"],"author":"","license":"MIT","_id":"@daewook/openai-tts-mcp-server@1.0.0","maintainers":[{"name":"daewook","email":"eodnr9221@gmail.com"}],"bin":{"openai-tts-mcp":"src/mcp-client.js"},"dist":{"shasum":"3f8d1ed00247562bb1f596ad831232c97db029e1","tarball":"https://registry.npmjs.org/@daewook/openai-tts-mcp-server/-/openai-tts-mcp-server-1.0.0.tgz","fileCount":4,"integrity":"sha512-ca3UpUHG8Ml22R31t1doqQ8DAIF6d1ThCRiVT9fzv6iyd1IW/qjsFYHzP5WmA+igsZPtHH8RXDlfnUVCyfLtvw==","signatures":[{"sig":"MEUCIQDDBMrCbqCzjVp1dxNISh1v13vQp0i0JsMXuH/Vfxw/mAIgAp3M9PDqFOOb1aSNnCeLowwOevTa6A/leRjXYRrXpH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16959},"main":"src/index.js","type":"module","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js","mcp-client":"node src/mcp-client.js","http-server":"node src/http-server.js"},"_npmUser":{"name":"daewook","email":"eodnr9221@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for OpenAI Text-to-Speech API","directories":{},"_nodeVersion":"20.19.4","dependencies":{"fs":"^0.0.1-security","cors":"^2.8.5","path":"^0.12.7","axios":"^1.11.0","dotenv":"^17.2.1","openai":"^4.67.3","express":"^4.21.2","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-tts-mcp-server_1.0.0_1755499368083_0.056533657568251794","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@daewook/openai-tts-mcp-server","version":"1.0.1","keywords":["mcp","openai","tts","text-to-speech"],"author":"","license":"MIT","_id":"@daewook/openai-tts-mcp-server@1.0.1","maintainers":[{"name":"daewook","email":"eodnr9221@gmail.com"}],"bin":{"openai-tts-mcp":"src/standalone-mcp.js"},"dist":{"shasum":"e47ee8bb1de19d8e80d991e156c7f1260526b00f","tarball":"https://registry.npmjs.org/@daewook/openai-tts-mcp-server/-/openai-tts-mcp-server-1.0.1.tgz","fileCount":4,"integrity":"sha512-XdqbnTw8eq8AuyiDUpw+LPsLscLcf1n10jiH70rV9taewuRRTl3nb3ctWjqSsOpZSY0zpTqkDsoSZEfHq0K0Uw==","signatures":[{"sig":"MEQCIFHtc1SmcnGUA+D6rDH9q64euUrjWidvMx5QcbK1uc2GAiBX/Kp3P6LEhclbQD7JH/Tn2B+v5RtNAXiLZXmqVhngww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18838},"main":"src/index.js","type":"module","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js","mcp-client":"node src/mcp-client.js","http-server":"node src/http-server.js"},"_npmUser":{"name":"daewook","email":"eodnr9221@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for OpenAI Text-to-Speech API","directories":{},"_nodeVersion":"20.19.4","dependencies":{"fs":"^0.0.1-security","cors":"^2.8.5","path":"^0.12.7","axios":"^1.11.0","dotenv":"^17.2.1","openai":"^4.67.3","express":"^4.21.2","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-tts-mcp-server_1.0.1_1755499773364_0.7104376490214079","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@daewook/openai-tts-mcp-server","version":"1.0.2","keywords":["mcp","openai","tts","text-to-speech"],"author":"","license":"MIT","_id":"@daewook/openai-tts-mcp-server@1.0.2","maintainers":[{"name":"daewook","email":"eodnr9221@gmail.com"}],"bin":{"openai-tts-mcp":"src/mcp-client.js"},"dist":{"shasum":"d5cd607ca6088794fa5216ac85929005ca52487b","tarball":"https://registry.npmjs.org/@daewook/openai-tts-mcp-server/-/openai-tts-mcp-server-1.0.2.tgz","fileCount":3,"integrity":"sha512-ucEKWvUx89X6rXBv3FLihgxr3Zs/66sh22Za5opixE5iUAD9B+m0oAZHHBA8/mo7q7yt0R9xj4gI6eLC6Qv0+A==","signatures":[{"sig":"MEYCIQCa8MWkWW6QIw7nAaUNDt8MpcpNd4ogYfQvBKOvmYU+GgIhAKhWCXvdvPzh3c2VDERtNbuJuYGg27xgutV7wn+nTZP0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9576},"main":"src/mcp-client.js","type":"module","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js","mcp-client":"node src/mcp-client.js","http-server":"node src/http-server.js"},"_npmUser":{"name":"daewook","email":"eodnr9221@gmail.com"},"_npmVersion":"10.8.2","description":"MCP client for remote OpenAI Text-to-Speech API server","directories":{},"_nodeVersion":"20.19.4","dependencies":{"fs":"^0.0.1-security","cors":"^2.8.5","path":"^0.12.7","axios":"^1.11.0","dotenv":"^17.2.1","openai":"^4.67.3","express":"^4.21.2","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-tts-mcp-server_1.0.2_1755500745784_0.5515112253697427","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@daewook/openai-tts-mcp-server","version":"1.0.3","description":"MCP server for OpenAI Text-to-Speech API","main":"src/index.js","type":"module","bin":{"openai-tts-mcp":"src/standalone-mcp.js"},"scripts":{"start":"node src/index.js","dev":"node --watch src/index.js","http-server":"node src/http-server.js","mcp-client":"node src/mcp-client.js"},"dependencies":{"@modelcontextprotocol/sdk":"^0.5.0","axios":"^1.11.0","cors":"^2.8.5","dotenv":"^17.2.1","express":"^4.21.2","fs":"^0.0.1-security","node-fetch":"^3.3.2","openai":"^4.67.3","path":"^0.12.7"},"keywords":["mcp","openai","tts","text-to-speech"],"author":"","license":"MIT","_id":"@daewook/openai-tts-mcp-server@1.0.3","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-066tPavlmLWlNBZs8taWcNg9oRzspblZhv8Lo3YMzzVk5nSUSb2ZNHhdfe2IPhMLWRhICkGkHun2R6hG7uyvwQ==","shasum":"652831142b2e4f401eabb461c20100eaf242a837","tarball":"https://registry.npmjs.org/@daewook/openai-tts-mcp-server/-/openai-tts-mcp-server-1.0.3.tgz","fileCount":4,"unpackedSize":18837,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD9Hfg5kr+4cBpEGnYt1gLt3pqXtrNLm350zli2coob3wIgR/OyZN6xv1Nwgo79vb2zZXvbIJUig65KHJTMwdoaVFM="}]},"_npmUser":{"name":"daewook","email":"eodnr9221@gmail.com"},"directories":{},"maintainers":[{"name":"daewook","email":"eodnr9221@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openai-tts-mcp-server_1.0.3_1755571834859_0.7704806389471217"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-18T06:42:47.990Z","modified":"2025-08-19T02:50:35.236Z","1.0.0":"2025-08-18T06:42:48.244Z","1.0.1":"2025-08-18T06:49:33.569Z","1.0.2":"2025-08-18T07:05:45.982Z","1.0.3":"2025-08-19T02:50:35.054Z"},"license":"MIT","keywords":["mcp","openai","tts","text-to-speech"],"description":"MCP server for OpenAI Text-to-Speech API","maintainers":[{"name":"daewook","email":"eodnr9221@gmail.com"}],"readme":"# OpenAI TTS MCP 서버\n\nOpenAI의 Text-to-Speech API를 사용하여 텍스트를 음성으로 변환하는 MCP (Model Context Protocol) 서버입니다.\n\n## 기능\n\n- **텍스트 음성 변환**: OpenAI TTS API를 사용하여 텍스트를 고품질 음성으로 변환\n- **다양한 음성 옵션**: 6가지 음성 (alloy, echo, fable, onyx, nova, shimmer) 지원\n- **모델 선택**: tts-1 (빠름) 또는 tts-1-hd (고품질) 모델 선택 가능\n- **속도 조절**: 0.25x ~ 4.0x 속도 조절 가능\n- **다양한 형식**: MP3, OPUS, AAC, FLAC 형식 지원\n- **파일 관리**: 생성된 오디오 파일 목록 조회 및 삭제 기능\n\n## 설치 및 설정\n\n### 1. 의존성 설치\n\n```bash\nnpm install\n```\n\n### 2. OpenAI API 키 설정\n\n환경변수로 OpenAI API 키를 설정해주세요:\n\n```bash\nexport OPENAI_API_KEY=\"your-openai-api-key-here\"\n```\n\n### 3. 서버 실행\n\n```bash\nnpm start\n```\n\n개발 모드 (파일 변경 시 자동 재시작):\n\n```bash\nnpm run dev\n```\n\n## Claude Desktop에서 사용하기\n\nClaude Desktop의 설정 파일에 다음과 같이 MCP 서버를 추가하세요:\n\n### macOS\n`~/Library/Application Support/Claude/claude_desktop_config.json`\n\n### Windows\n`%APPDATA%\\Claude\\claude_desktop_config.json`\n\n### Linux\n`~/.config/claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"openai-tts\": {\n      \"command\": \"node\",\n      \"args\": [\"/home/ubuntu/daewook/openai-tts-mcp-server/src/index.js\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n## 사용 가능한 도구\n\n### 1. text_to_speech\n텍스트를 음성으로 변환합니다.\n\n**매개변수:**\n- `text` (필수): 음성으로 변환할 텍스트\n- `voice` (선택): 음성 종류 (alloy, echo, fable, onyx, nova, shimmer)\n- `model` (선택): TTS 모델 (tts-1, tts-1-hd)\n- `speed` (선택): 음성 속도 (0.25 ~ 4.0)\n- `format` (선택): 오디오 형식 (mp3, opus, aac, flac)\n\n### 2. list_audio_files\n생성된 오디오 파일 목록을 조회합니다.\n\n### 3. delete_audio_file\n지정된 오디오 파일을 삭제합니다.\n\n**매개변수:**\n- `filename` (필수): 삭제할 파일명\n\n## 사용 예시\n\nClaude에서 다음과 같이 사용할 수 있습니다:\n\n```\n안녕하세요를 음성으로 변환해주세요.\n```\n\n```\n\"Hello, this is a test message\"를 nova 음성으로 1.2배 속도로 변환해주세요.\n```\n\n```\n생성된 오디오 파일 목록을 보여주세요.\n```\n\n## 주의사항\n\n- OpenAI API 키가 필요합니다\n- 생성된 오디오 파일은 `generated_audio` 디렉토리에 저장됩니다\n- API 사용량에 따라 요금이 부과될 수 있습니다\n\n## 라이선스\n\nMIT License ","readmeFilename":"README.md"}