{"_id":"@astra-group/fect-mcp-server","_rev":"10-2721a367f81e92279192a24431796eea","name":"@astra-group/fect-mcp-server","dist-tags":{"latest":"1.8.0"},"versions":{"1.0.0":{"name":"@astra-group/fect-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.0.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js"},"dist":{"shasum":"8a605e48dcf971ce128aa22c52bf5413cba30454","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.0.0.tgz","fileCount":179,"integrity":"sha512-5dNrNfBHecYxSlODdM0MVuWj5V+kYeDWYvJzo0N2tpxFJ1J+viDEt6Mji7FPKyPEk51cJ7wyfzZcZeyAt2GxHA==","signatures":[{"sig":"MEQCIFO8PYw8NpCYSZDN6Q4Ros0Bsh1WKDRJmRP0mIwrilEPAiBDhIcPh3rA64RZPRVfpfWzK8gjrPd9eJ5fVkr8UxSycg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499878},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"735406460e1cd2b44d44fd3b3db2fd2e8f6c3b93","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.0.0_1772781959008_0.21569123962858483","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@astra-group/fect-mcp-server","version":"1.1.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.1.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js"},"dist":{"shasum":"97ab43304abc227afbae527b158b27ce97bfc7de","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.1.0.tgz","fileCount":178,"integrity":"sha512-QBx7Irhv3pFYPO476E9jBDQAqcLgEZVfBROqfhJyCbRbbjyWl6V/sp4J+/zmOzBsNSSKjfDsdk8Sw3oerRkwNQ==","signatures":[{"sig":"MEUCIFPWttfkm6nZYgF5ZlZ7cLIdr0DYDdzSX37OUoD7jzD/AiEAl9wS00zlFan0Rx833rh27w+knyKEYhfw4UKUZx1tdZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":539973},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a3ce23bd3fcf20394ae5294ac4853cda831bb618","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.1.0_1772850817359_0.8277438261614098","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@astra-group/fect-mcp-server","version":"1.1.1","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.1.1","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js"},"dist":{"shasum":"ef9f853bd1b5f966dd760316c1aa1e8827c4879d","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.1.1.tgz","fileCount":178,"integrity":"sha512-WI9J/OqcFX2/NXOpY9A8/02I1c83y0WLY0B7ZQ51+17YTCVORKt/t8VjVUCgX3spmBPpy+nK88kztL+DqD5eUg==","signatures":[{"sig":"MEQCIFjskLO3wMiZiOtNsiv5YsbQjedkZMO1JxVbSvC78oBMAiA3I1TzPLw/NEViiVLaZI0ZRPRwFgItS7MfYvO791Ch8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544970},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"96623725345c63b8a82ad0ca21ae13f85653f7b5","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.1.1_1772863594180_0.9473934267317112","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@astra-group/fect-mcp-server","version":"1.1.2","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.1.2","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js"},"dist":{"shasum":"b3af1992812b1ff664af851de2f3eb4a9973b791","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.1.2.tgz","fileCount":178,"integrity":"sha512-IhKJ7eZCZbmAU57vbY6axFp2+K9B1scLYGlTgPi1myfKpKRrc/FwzRW+cNIi21KZuP9tPsJBo/HcFrFtqC10yg==","signatures":[{"sig":"MEUCIDm/+xleJuLeVTZ3aiaX2Szi7kh9HW4tUqwndz+9DAP9AiEAupsSqyQSL4VDsMivNl4Ld2Vh8YF+KMeoCgX650KfjBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544974},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5c191fff909925a08f4878c0372931cd0d37f0a5","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.1.2_1772863826777_0.7912759486393377","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@astra-group/fect-mcp-server","version":"1.2.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.2.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-gpt-image":"dist/gpt-image/index.js"},"dist":{"shasum":"b4cf887bd25229b2a3e741d6bd894bc24970595b","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.2.0.tgz","fileCount":198,"integrity":"sha512-nPnm397Qo+J0UN0OVyDtLnOSD13K4vDck5g3VbvgiU3Azx5nANpQxHVGMZUOCIsf8bKvtU0XxQ+4lpfhlLuQtA==","signatures":[{"sig":"MEUCIQC76Ul1Ld0FMC/efHJ0IJ5yKczxwxoYNt7kqj5cho0n+QIgRLbEgX4unTYXp0YFBmJy1yZ2EtsDir9hF9XSXNIil18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591918},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e3188ee83aafd3dc6903a9144531b6dface707af","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","dev:gpt-image":"tsx watch src/gpt-image/index.ts","prepublishOnly":"npm run build","start:gpt-image":"node dist/gpt-image/index.js"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","openai":"^4.104.0","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.2.0_1778731518022_0.7810817617945123","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@astra-group/fect-mcp-server","version":"1.4.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.4.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-gpt-image":"dist/gpt-image/index.js"},"dist":{"shasum":"cdd6c15b6fa109c64059b3a0794cd439a5b490c0","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.4.0.tgz","fileCount":230,"integrity":"sha512-mzeCBSxWffArb7HDkexJxhxn+3wnTj2GPSeC0vLLmCEjBYkO/xMwMtAu1Lk7/1pK7TOn/fLKCuthiQLVs7Mthg==","signatures":[{"sig":"MEYCIQDYjsFalMfirRRRw4iQjiqwxFzD7z7ehxJAlDalMru+4QIhAJyqsKRwJcyDYEAmb4yBP2cx7yluVSd32XKBa5Dpwa8N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680270},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9d1558edf0e6be396606cec741daf588ab847c55","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","dev:gpt-image":"tsx watch src/gpt-image/index.ts","prepublishOnly":"npm run build","start:gpt-image":"node dist/gpt-image/index.js","dev:persona-community":"tsx watch src/persona-community/index.ts","start:persona-community":"node dist/persona-community/index.js"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","openai":"^6.46.0","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.4.0_1784045685988_0.29395954068502417","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@astra-group/fect-mcp-server","version":"1.5.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.5.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-gpt-image":"dist/gpt-image/index.js"},"dist":{"shasum":"342127a98b04686bebbd6ada620525abb08b4cfe","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.5.0.tgz","fileCount":230,"integrity":"sha512-QP84wr2lmaj2avGDHP9EOByVxpR7Eanc+SOcoONWmt5pQtgDQeQ+eUlNpOcvgPnCc2FWh84mtcxeKS3YGMyqtg==","signatures":[{"sig":"MEUCIGEfrOtydsBAww5n3iff/bBZgjyecLfCAPLiybXrQjaaAiEAsUo0FmltmrhGamSOa4ppIWfmHAo1Lx2z36XBylg2ilk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719667},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"937c2f286bb645f0a58b245681d14ee1239488fa","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","dev:gpt-image":"tsx watch src/gpt-image/index.ts","prepublishOnly":"npm run build","start:gpt-image":"node dist/gpt-image/index.js","dev:persona-community":"tsx watch src/persona-community/index.ts","start:persona-community":"node dist/persona-community/index.js"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","openai":"^6.46.0","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.5.0_1784693297848_0.28461706076089954","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@astra-group/fect-mcp-server","version":"1.6.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.6.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-gpt-image":"dist/gpt-image/index.js"},"dist":{"shasum":"e5b9b0fa4b6ca289e32c13c89e84a21652cc188a","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.6.0.tgz","fileCount":230,"integrity":"sha512-8pi+lBOWYZhCpa83ZRUAUPtNXUAxaQ5ePuviCC3aSgNYEiR9BrM3EFot8QLAeFkzAoqz2hh8PUF7MIQHdTlnBw==","signatures":[{"sig":"MEUCICl0HkL+gSq5o/RZw2E/ER8LtHEkZHhk1qVp/yk9cbMfAiEApT6PtyEvSZTgoeBi3bNLLPHsqaAd6Xbkac/2TGRgO/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":722968},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"46b7c2008d84b511477825ee5950a4f09f8bacc8","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","dev:gpt-image":"tsx watch src/gpt-image/index.ts","prepublishOnly":"npm run build","start:gpt-image":"node dist/gpt-image/index.js","dev:persona-community":"tsx watch src/persona-community/index.ts","start:persona-community":"node dist/persona-community/index.js"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","openai":"^6.46.0","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.6.0_1784698584481_0.9692830748013905","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@astra-group/fect-mcp-server","version":"1.7.0","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo"],"author":{"name":"FECT Team"},"license":"MIT","_id":"@astra-group/fect-mcp-server@1.7.0","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"bin":{"fect-mcp":"dist/combined-stdio.js","fect-tts":"dist/tts/index.js","fect-excel":"dist/excel/index.js","fect-image":"dist/image/index.js","fect-music":"dist/music/index.js","fect-setup":"dist/setup-cli.js","fect-slack":"dist/slack/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-gpt-image":"dist/gpt-image/index.js"},"dist":{"shasum":"732502e5314bf3816b1674583e7a30b0e38fd87a","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.7.0.tgz","fileCount":230,"integrity":"sha512-jyd5ckR2zFvA3rGIqcfai09SZrJxakM66h7j3PFHEA8jUZvQ5/pmWJyxkUrj41N8RsUOuDIF4WEVRtSOopO49Q==","signatures":[{"sig":"MEQCIB4DuXQaz+YXqyIMCoLVgKvgONllfdRbQi+EYAOrrxGPAiBhQMIo8q/4L7i6j19ClwyYcYScBabMzE6th1zv92bxgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":752283},"main":"dist/combined-stdio.js","type":"module","types":"./dist/combined-stdio.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8fb18dc47596dd82d56b1da736e8dd743624b482","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","scripts":{"test":"jest","build":"tsc","setup":"node dist/setup-cli.js","start":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","dev:tts":"tsx watch src/tts/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:image":"tsx watch src/image/index.ts","dev:music":"tsx watch src/music/index.ts","dev:slack":"tsx watch src/slack/index.ts","dev:video":"tsx watch src/video/index.ts","start:all":"node dist/combined-stdio.js","start:tts":"node dist/tts/index.js","dev:vision":"tsx watch src/vision/index.ts","start:excel":"node dist/excel/index.js","start:image":"node dist/image/index.js","start:music":"node dist/music/index.js","start:slack":"node dist/slack/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","dev:gpt-image":"tsx watch src/gpt-image/index.ts","prepublishOnly":"npm run build","start:gpt-image":"node dist/gpt-image/index.js","dev:persona-community":"tsx watch src/persona-community/index.ts","start:persona-community":"node dist/persona-community/index.js"},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"repository":{"url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, and Excel","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^3.23.8","xlsx":"^0.18.5","axios":"^1.7.2","openai":"^6.46.0","@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","jest":"^29.7.0","ts-jest":"^29.4.6","typescript":"^5.9.2","@types/jest":"^29.5.12","@types/node":"^22.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fect-mcp-server_1.7.0_1784991946967_0.7960899805685726","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@astra-group/fect-mcp-server","version":"1.8.0","mcpName":"io.github.astra-technology-company-limited/fect-mcp-server","description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, Web/Naver Search, and Excel","main":"dist/combined-stdio.js","type":"module","bin":{"fect-slack":"dist/slack/index.js","fect-image":"dist/image/index.js","fect-gpt-image":"dist/gpt-image/index.js","fect-video":"dist/video/index.js","fect-vision":"dist/vision/index.js","fect-tts":"dist/tts/index.js","fect-music":"dist/music/index.js","fect-excel":"dist/excel/index.js","fect-serp":"dist/serp/index.js","fect-naver":"dist/naver/index.js","fect-mcp":"dist/combined-stdio.js","fect-setup":"dist/setup-cli.js"},"scripts":{"start":"node dist/combined-stdio.js","build":"tsc","prepublishOnly":"npm run build","start:slack":"node dist/slack/index.js","start:image":"node dist/image/index.js","start:gpt-image":"node dist/gpt-image/index.js","start:video":"node dist/video/index.js","start:vision":"node dist/vision/index.js","start:tts":"node dist/tts/index.js","start:music":"node dist/music/index.js","start:excel":"node dist/excel/index.js","start:serp":"node dist/serp/index.js","start:naver":"node dist/naver/index.js","start:persona-community":"node dist/persona-community/index.js","dev:slack":"tsx watch src/slack/index.ts","dev:image":"tsx watch src/image/index.ts","dev:gpt-image":"tsx watch src/gpt-image/index.ts","dev:video":"tsx watch src/video/index.ts","dev:vision":"tsx watch src/vision/index.ts","dev:tts":"tsx watch src/tts/index.ts","dev:music":"tsx watch src/music/index.ts","dev:excel":"tsx watch src/excel/index.ts","dev:serp":"tsx watch src/serp/index.ts","dev:naver":"tsx watch src/naver/index.ts","dev:persona-community":"tsx watch src/persona-community/index.ts","start:all":"node dist/combined-stdio.js","dev:all":"tsx watch src/combined-stdio.ts","test":"jest","setup":"node dist/setup-cli.js"},"keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo","search","serpapi","naver"],"author":{"name":"FECT Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git"},"bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"engines":{"node":">=18.0.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.2.0"},"dependencies":{"@google/genai":"^1.38.0","@modelcontextprotocol/sdk":"^1.0.0","axios":"^1.7.2","openai":"^6.46.0","xlsx":"^0.18.5","zod":"^3.23.8"},"devDependencies":{"@types/jest":"^29.5.12","@types/node":"^22.0.0","jest":"^29.7.0","ts-jest":"^29.4.6","tsx":"^4.16.2","typescript":"^5.9.2"},"gitHead":"d0c342a7279d72741251831e6c725a894d6231ab","types":"./dist/combined-stdio.d.ts","_id":"@astra-group/fect-mcp-server@1.8.0","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-S/3gS7X08lw99Pff877VKmSBkRlHvi5xzKa3/wS197ywlcA/RVKAheL07nf1pDpOQN+L+5YUUViWlIW61c2XMA==","shasum":"3834d64beef9de01e53a98ddb083c0466b584e3a","tarball":"https://registry.npmjs.org/@astra-group/fect-mcp-server/-/fect-mcp-server-1.8.0.tgz","fileCount":270,"unpackedSize":899557,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGwh4QUYWOwlJT+QSLJ/Xka0N1n2SFt6/OU29sNgc8MyAiAFpolLnO5NilzTHCwi3sj0I+QfrZlt7gq5La4c4VE2Ug=="}]},"_npmUser":{"name":"astra-vision","email":"devops@astravision.co.kr"},"directories":{},"maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fect-mcp-server_1.8.0_1786335482783_0.4991015944674422"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-06T07:25:58.924Z","modified":"2026-08-10T04:18:03.186Z","1.0.0":"2026-03-06T07:25:59.155Z","1.1.0":"2026-03-07T02:33:37.584Z","1.1.1":"2026-03-07T06:06:34.325Z","1.1.2":"2026-03-07T06:10:26.923Z","1.2.0":"2026-05-14T04:05:18.181Z","1.4.0":"2026-07-14T16:14:46.203Z","1.5.0":"2026-07-22T04:08:18.027Z","1.6.0":"2026-07-22T05:36:24.642Z","1.7.0":"2026-07-25T15:05:47.117Z","1.8.0":"2026-08-10T04:18:02.921Z"},"bugs":{"url":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues"},"author":{"name":"FECT Team"},"license":"MIT","homepage":"https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server#readme","keywords":["mcp","model-context-protocol","slack","messaging","ai","llm","image-generation","video-generation","vision","ocr","tts","text-to-speech","music-generation","lyria","gemini","veo","search","serpapi","naver"],"repository":{"type":"git","url":"git+https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git"},"description":"MCP Servers for Slack Integration, Image Generation, Video Generation, Vision Analysis, TTS, Music Generation, Web/Naver Search, and Excel","maintainers":[{"name":"astra-vision","email":"devops@astravision.co.kr"}],"readme":"# FECT MCP Servers\n\n[![npm version](https://img.shields.io/npm/v/@astra-group/fect-mcp-server)](https://www.npmjs.com/package/@astra-group/fect-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nModel Context Protocol (MCP) servers for Slack integration, Image Generation, Video Generation, Vision Analysis, Text-to-Speech, Music Generation, Web Search, and Excel parsing.\n\nAll servers use **stdio transport** for communication with MCP clients like Claude Code, Claude Desktop, and Cursor.\n\n## Modules\n\n| Module | Description | Required Env |\n|--------|-------------|--------------|\n| **Slack** | Slack workspace messaging & channel management | `SLACK_BOT_TOKEN` |\n| **Image** | Image generation via Google Gemini 3.1 Flash Image (Nano Banana 2) / 3 Pro Image (Nano Banana Pro) | `GOOGLE_API_KEY` |\n| **GPT-Image** | Image generation/edit via OpenAI gpt-image-2 / gpt-image-1 | `OPENAI_API_KEY` |\n| **Video** | Video generation via Google Veo 3.1 | `GOOGLE_API_KEY` |\n| **Vision** | Image analysis & OCR via Google Gemini 3 Flash | `GOOGLE_API_KEY` |\n| **TTS** | Text-to-speech via Google Gemini TTS (2.5 Flash / 2.5 Pro / 3.1 Flash) | `GOOGLE_API_KEY` |\n| **Music** | Music generation via Google Lyria — RealTime is instrumental-only, Lyria 3 clips may include vocals | `GOOGLE_API_KEY` |\n| **Serp** | Web / news / Naver search via SerpApi | `SERPAPI_API_KEY` |\n| **Naver** | Korean blog / news / café / 지식iN / web / local search via the Naver Open API | `NAVER_CLIENT_ID` + `NAVER_CLIENT_SECRET` |\n| **Excel** | Excel file parsing | (none) |\n\n## Quick Start\n\n### Install via npx (Recommended)\n\nNo installation required — just configure your MCP client.\n\n**Combined server (all modules in one process):**\n\n```bash\nclaude mcp add fect-mcp -- npx -y @astra-group/fect-mcp-server\n```\n\n**Individual servers:**\n\n```bash\nclaude mcp add fect-slack -- npx -y -p @astra-group/fect-mcp-server fect-slack\nclaude mcp add fect-image -- npx -y -p @astra-group/fect-mcp-server fect-image\nclaude mcp add fect-gpt-image -- npx -y -p @astra-group/fect-mcp-server fect-gpt-image\nclaude mcp add fect-video -- npx -y -p @astra-group/fect-mcp-server fect-video\nclaude mcp add fect-vision -- npx -y -p @astra-group/fect-mcp-server fect-vision\nclaude mcp add fect-tts -- npx -y -p @astra-group/fect-mcp-server fect-tts\nclaude mcp add fect-music -- npx -y -p @astra-group/fect-mcp-server fect-music\nclaude mcp add fect-serp -- npx -y -p @astra-group/fect-mcp-server fect-serp\nclaude mcp add fect-naver -- npx -y -p @astra-group/fect-mcp-server fect-naver\nclaude mcp add fect-excel -- npx -y -p @astra-group/fect-mcp-server fect-excel\n```\n\n### Configure Environment Variables\n\nAPI keys are passed via environment variables. Add them to `~/.zshrc` (or `~/.bashrc`):\n\n```bash\n# For Slack module\nexport SLACK_BOT_TOKEN=xoxb-your-token-here\n\n# For Image/Video/Vision/TTS/Music modules\nexport GOOGLE_API_KEY=your-google-api-key\n\n# For GPT-Image module (OpenAI gpt-image-2 / gpt-image-1)\nexport OPENAI_API_KEY=sk-your-openai-key\n\n# For Serp module (web/news/Naver search)\nexport SERPAPI_API_KEY=your-serpapi-key\n\n# For Naver module (both are required)\nexport NAVER_CLIENT_ID=your-naver-client-id\nexport NAVER_CLIENT_SECRET=your-naver-client-secret\n```\n\nOr configure directly in your MCP client settings file (`~/.claude.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"fect-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@astra-group/fect-mcp-server\"],\n      \"env\": {\n        \"SLACK_BOT_TOKEN\": \"xoxb-your-token-here\",\n        \"GOOGLE_API_KEY\": \"your-google-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop Configuration\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"fect-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@astra-group/fect-mcp-server\"],\n      \"env\": {\n        \"SLACK_BOT_TOKEN\": \"xoxb-your-token-here\",\n        \"GOOGLE_API_KEY\": \"your-google-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Cursor Configuration\n\nAdd to `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"fect-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@astra-group/fect-mcp-server\"],\n      \"env\": {\n        \"SLACK_BOT_TOKEN\": \"xoxb-your-token-here\",\n        \"GOOGLE_API_KEY\": \"your-google-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Verify Installation\n\n```bash\nclaude mcp list\n```\n\n## Credential Setup (Interactive)\n\nRun the setup CLI to interactively configure and store credentials:\n\n```bash\nnpx -y @astra-group/fect-mcp-server fect-setup\n```\n\nThis stores credentials in your system keychain (macOS Keychain / Windows Credential Manager / Linux Secret Service).\n\n## Combined Server\n\nThe combined server (`fect-mcp`) loads modules conditionally based on available environment variables:\n\n- **Always loaded**: Excel\n- **Requires `SLACK_BOT_TOKEN`**: Slack\n- **Requires `GOOGLE_API_KEY`**: Image, Video, Vision, TTS, Music\n- **Requires `OPENAI_API_KEY`**: GPT-Image\n- **Requires `SERPAPI_API_KEY`**: Serp\n- **Requires `NAVER_CLIENT_ID` and `NAVER_CLIENT_SECRET`**: Naver (both, or the module is skipped)\n\nModules without required credentials are silently skipped.\n\n### Tool Surface Environment Variables\n\n| Variable | Value | Default | Scope |\n|----------|-------|---------|-------|\n| `FECT_MCP_DISABLE` | Comma-separated module groups to skip: `slack`, `image`, `gpt-image`, `video`, `vision`, `tts`, `music`, `excel`, `serp`, `naver` | (unset = all enabled) | Combined server only |\n| `FECT_MCP_MAX_RESPONSE_CHARS` | Positive integer — per-response character budget. Over-budget responses are truncated with a `[TRUNCATED: ...]` notice | `96000` | All modules |\n\nExample — disable image/video groups when another MCP server already provides them:\n\n```json\n{\n  \"mcpServers\": {\n    \"fect-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@astra-group/fect-mcp-server\"],\n      \"env\": {\n        \"GOOGLE_API_KEY\": \"your-google-api-key\",\n        \"FECT_MCP_DISABLE\": \"image,video\"\n      }\n    }\n  }\n}\n```\n\nUnknown group names in `FECT_MCP_DISABLE` emit a warning to stderr and are ignored — the server still starts normally.\n\n### excel_read Pagination\n\n`excel_read` returns up to `limit` rows (default 100) starting at `offset` (default 0). The response header states the window and total (`Sheet 'Data': rows 1-100 of 150 — more rows exist; call again with offset=100 or use excel_read_range`). `excel_read_range` and `excel_read_cell` are unchanged.\n\n---\n\n## Tools Reference\n\n### Slack Tools\n\n| Tool | Description |\n|------|-------------|\n| `slack_list_channels` | List all channels in the workspace |\n| `slack_post_message` | Send a message to a channel or thread |\n| `slack_get_history` | Retrieve message history from a channel |\n| `slack_get_user_info` | Get detailed user information |\n| `slack_add_reaction` | Add an emoji reaction to a message |\n| `slack_search_channels` | Search for channels by name |\n\n**Getting a Slack Bot Token:**\n1. Go to https://api.slack.com/apps\n2. Create a new app or select an existing one\n3. Navigate to \"OAuth & Permissions\"\n4. Add Bot Token Scopes: `channels:read`, `channels:history`, `chat:write`, `groups:read`, `groups:history`, `users:read`, `reactions:write`\n5. Install the app to your workspace\n6. Copy the \"Bot User OAuth Token\" (starts with `xoxb-`)\n\n### Image Generation Tools (Google Nano Banana)\n\n| Tool | Description |\n|------|-------------|\n| `nanobanana_text2img` | Generate image from text prompt via Google Gemini Nano Banana (returns base64) |\n| `nanobanana_img2img` | Edit existing image with text prompt (returns base64) |\n\n**Models:** `gemini-3.1-flash-image` (default), `gemini-3-pro-image`, `gemini-3.1-flash-lite-image`, `gemini-2.5-flash-image` (deprecated, EOL 2026-10-02)\n**Aspect ratios:** `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `4:5`, `5:4`, `2:3`, `3:2`, `21:9` + `1:4`/`4:1`/`1:8`/`8:1` (3.1 Flash only)\n**Sizes:** `512px` (3.1 Flash only) / `1K` (default) / `2K` / `4K` (model-dependent)\n\n> Legacy names `image_text2img` / `image_img2img` (≤ v1.5.x) still work as hidden call aliases.\n\n### GPT-Image (OpenAI) Tools\n\n| Tool | Description |\n|------|-------------|\n| `gpt_image_text2img` | Generate image via OpenAI GPT Image models |\n| `gpt_image_img2img` | Edit / compose images with up to 16 references + optional mask |\n\n**Models:** `gpt-image-2` (default), `gpt-image-1.5` (EOL 2026-12-01), `gpt-image-1` (EOL 2026-10-23), `gpt-image-1-mini` (EOL 2026-12-01)\n**Sizes:** presets `1024x1024` / `1536x1024` / `1024x1536` / `auto`, plus custom `WIDTHxHEIGHT` (gpt-image-2 only)\n**Quality:** `low` / `medium` / `high` / `auto`\n**Background:** `opaque` (default) / `transparent` (not supported by gpt-image-2) / `auto`\n**Output format:** `png` / `jpeg` / `webp` (both tools)\n\nReturns base64-encoded images. Pass `savePath` to additionally write the output to disk.\n\n### Video Generation Tools (Google Veo)\n\n| Tool | Description |\n|------|-------------|\n| `veo_text2video` | Generate video with native audio from text prompt |\n| `veo_img2video` | Generate video from image (first frame, optional last frame) |\n| `veo_extension` | Extend a Veo-generated video by +7 seconds per call (input ≤ 141s) |\n| `veo_reference` | Generate video guided by 1-3 reference images (subject consistency) |\n\n**Specs:** 4/6/8 seconds, 720p/1080p/4k, 16:9 or 9:16, ~1-6 min generation time\n\n**Model defaults (cost-first):** `veo_text2video` / `veo_img2video` default to **Lite** (1/8 cost); `veo_extension` / `veo_reference` default to **Fast** (1/4 cost) because Lite does not support them. Full Veo 3.1 is used only when passed explicitly via `model`. Note Lite has no 4k — requesting `resolution: \"4k\"` without also setting `model` is rejected.\n\n> Legacy names `video_text2video` / `video_img2video` / `video_extension` / `video_reference` (≤ v1.5.x) still work as hidden call aliases.\n\nOptional: `VIDEO_OUTPUT_PATH` env var for default output directory.\n\n### Vision Analysis Tools\n\n| Tool | Description |\n|------|-------------|\n| `vision_analyze` | Analyze local image file |\n| `vision_analyze_url` | Analyze image from URL |\n| `vision_compare` | Compare two images |\n| `vision_ocr` | Extract text from image (OCR) |\n\n**Supported Languages:** Korean (ko), English (en), Vietnamese (vi), Japanese (ja), Chinese (zh)\n**Supported Image Formats:** PNG, JPEG, GIF, WebP, BMP\n\n### TTS Tools\n\n| Tool | Description |\n|------|-------------|\n| `tts_generate` | Convert text to single-speaker speech |\n| `tts_multi_speaker` | Convert conversation script to multi-speaker audio (max 2) |\n| `tts_list_voices` | List available 30 voices |\n\n**Specs:** 30 voices, 103 languages (auto-detected from the input text), WAV output (16-bit PCM, 24kHz), max 16,000 input characters\n\n**Models:** `gemini-2.5-flash-preview-tts` (default — cheapest, free tier) / `gemini-2.5-pro-preview-tts` (higher quality, no free tier) / `gemini-3.1-flash-tts-preview` (newest, streaming-capable, 2x price)\n\n`temperature` defaults to `0.4` for take-to-take voice consistency (use `0.6`–`0.7` for expressive storytelling).\n\nOptional: `TTS_OUTPUT_PATH` env var for default output directory.\n\n<details>\n<summary>Available Voices (30)</summary>\n\n| Voice | Characteristic | Voice | Characteristic |\n|-------|----------------|-------|----------------|\n| Zephyr | Bright | Puck | Upbeat |\n| Charon | Informative | Kore | Firm |\n| Fenrir | Excitable | Leda | Youthful |\n| Orus | Firm | Aoede | Breezy |\n| Callirrhoe | Easygoing | Autonoe | Bright |\n| Enceladus | Breathy | Iapetus | Clear |\n| Umbriel | Easygoing | Algieba | Smooth |\n| Despina | Smooth | Erinome | Clear |\n| Algenib | Gravelly | Rasalgethi | Informative |\n| Laomedeia | Upbeat | Achernar | Soft |\n| Alnilam | Firm | Schedar | Even |\n| Gacrux | Mature | Pulcherrima | Forward |\n| Achird | Friendly | Zubenelgenubi | Casual |\n| Vindemiatrix | Gentle | Sadachbia | Lively |\n| Sadaltager | Knowledgeable | Sulafat | Warm |\n\n**Recommendations:**\n- Professional/Business: Kore, Charon, Rasalgethi, Alnilam\n- Friendly/Casual: Achird, Puck, Zubenelgenubi, Sulafat\n- Calm/Gentle: Achernar, Vindemiatrix, Umbriel\n- Energetic/Lively: Fenrir, Sadachbia, Laomedeia\n- Clear Narration: Iapetus, Erinome, Schedar\n\n</details>\n\n<details>\n<summary>Language support</summary>\n\nThere is no `languageCode` parameter — the model detects the language from the input text itself, across 103 languages including Korean, English, Japanese, Vietnamese, Chinese (Simplified), German, French, Spanish, Portuguese, Italian, Russian, Thai, Indonesian, Hindi and Arabic.\n\n**Not supported:** Traditional Chinese (`zh-TW`).\n\nTo force a specific language for ambiguous input, state it in `stylePrompt` (e.g., `\"Read this in Korean\"`).\n\n</details>\n\n### Music Generation Tools\n\n| Tool | Description |\n|------|-------------|\n| `music_generate_clip` | Generate a fixed 30-second clip from a natural-language prompt (default for short-form BGM) |\n| `music_generate` | Generate music of a chosen duration from text prompt with genre/mood/instruments/BPM |\n| `music_generate_advanced` | Generate music with weighted prompts and fine-grained control |\n| `music_list_options` | List suggested genres, moods, and instruments |\n\n**Specs:**\n\n| | `music_generate_clip` | `music_generate` / `music_generate_advanced` |\n|---|---|---|\n| Model | Lyria 3 (batch) | Lyria RealTime (streaming) |\n| Output | MP3, 44.1kHz stereo | WAV, 48kHz stereo 16-bit PCM |\n| Duration | exactly 30s | 5–300s |\n| Vocals | possible (add `instrumental only` to exclude) | instrumental only |\n| Reproducible | no | yes, via `seed` (advanced) |\n| Cost | ~$0.04/clip | per-second streaming |\n\nGenre/mood/instrument values are **free text** — `music_list_options` returns suggestions, not a closed list. Lyria 3 output carries a SynthID audio watermark.\n\nOptional: `MUSIC_OUTPUT_PATH` env var for default output directory.\n\n<details>\n<summary>Suggested Genres, Moods & Instruments</summary>\n\n**Genres (32):** Acid Jazz, Afrobeat, Ambient, Blues, Bossa Nova, Breakbeat, Classical, Country, Disco, Drum and Bass, Dub, Dubstep, EDM, Electronic, Funk, Gospel, Hip Hop, House, Jazz, Latin, Lo-Fi, Metal, Minimal Techno, Pop, R&B, Reggae, Rock, Soul, Synthwave, Techno, Trance, World Music\n\n**Moods (25):** Ambient, Atmospheric, Calm, Cheerful, Cinematic, Dark, Dreamy, Emotional, Energetic, Epic, Experimental, Happy, Hopeful, Intense, Melancholic, Mysterious, Nostalgic, Peaceful, Playful, Powerful, Relaxing, Romantic, Sad, Suspenseful, Uplifting\n\n**Instruments (22):** 303 Acid Bass, Acoustic Guitar, Bass Guitar, Cello, Drums, Electric Guitar, Flute, Harp, Keyboard, Orchestra, Organ, Percussion, Piano, Saxophone, Strings, Synth, Synth Bass, Synth Lead, Synth Pad, Trumpet, Violin, Vocal Chops\n\n**Advanced Parameters:**\n\n| Parameter | Range | Default | Description |\n|-----------|-------|---------|-------------|\n| guidance | 0.0-6.0 | 4.0 | Prompt adherence |\n| bpm | 60-200 | - | Beats per minute |\n| density | 0.0-1.0 | - | Note density |\n| brightness | 0.0-1.0 | - | Tonal brightness |\n| temperature | 0.0-3.0 | 1.1 | Creativity level |\n| muteBass | boolean | false | Reduce bass |\n| muteDrums | boolean | false | Reduce drums |\n\n</details>\n\n### Search Tools (SerpApi)\n\n| Tool | Description |\n|------|-------------|\n| `serp_search_web` | Google web search — facts, sources, fact-checking |\n| `serp_search_news` | Google News search — articles with publisher and date |\n| `serp_search_naver` | Naver search — Korean web documents or press |\n\n<details>\n<summary>Shared parameters</summary>\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| query | string | (required) | Search query; Google/Naver operators supported |\n| country | string | - | Two-letter country code (`vn`, `kr`, `us`) — web/news only |\n| language | string | - | Two-letter language code (`ko`, `en`, `vi`) — web/news only |\n| recency | string | - | `hour` / `day` / `week` / `month` / `year` — web/Naver only |\n| page | number | 1 | Result page 1-10 — web/Naver only (Google News does not paginate) |\n| max_results | number | 10 | 1-20; Google returns about 10 per page |\n| response_format | string | concise | `concise` (results only) or `detailed` (+ answer box, knowledge graph, related questions) |\n\nEach call consumes one paid SerpApi search. Cached repeats (identical parameters within 1 hour), errors, and no-result searches are not billed.\n\n</details>\n\n### Naver Search Tools (Naver Open API)\n\n| Tool | Description |\n|------|-------------|\n| `naver_search_blog` | Blog posts — reviews, how-tos, first-hand experience |\n| `naver_search_news` | Korean press coverage |\n| `naver_search_cafe` | Café posts — community opinion |\n| `naver_search_kin` | 지식iN questions — pain points and FAQs |\n| `naver_search_web` | Korean web documents — official and institutional pages |\n| `naver_search_local` | Businesses and institutions with addresses (max 5 results) |\n\n<details>\n<summary>Shared parameters and endpoint quirks</summary>\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| query | string | (required) | Search query, normally in Korean |\n| max_results | number | 10 | 1-30 (local: 1-5) |\n| page | number | 1 | 1-10; not available on `naver_search_local` |\n| sort_by | string | relevance | `relevance` / `date`; `rating` on 지식iN only, `review_count` on local only. Not available on `naver_search_web` |\n| response_format | string | concise | `concise` or `detailed` (adds total match count and extra per-item fields) |\n\nAll six tools share one daily quota of 25,000 calls. Results have Naver's `<b>` highlight tags and HTML entities stripped.\n\nThe shopping (`shop`), book (`book`), and academic (`doc`) endpoints are still in Naver's documentation but return `404 SE05` in practice (measured 2026-08-10), so no tools are exposed for them.\n\n</details>\n\n### Excel Tools\n\n| Tool | Description |\n|------|-------------|\n| `excel_read` | Parse and read Excel files (.xlsx, .xls) |\n\n---\n\n## Development\n\n### Prerequisites\n\n- Node.js 18+\n\n### Setup\n\n```bash\ngit clone https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server.git\ncd fect-mcp-server\nnpm install\nnpm run build\n```\n\n### Scripts\n\n```bash\nnpm start                # Combined server (all modules)\nnpm run start:<module>   # Individual server (slack, image, gpt-image, video, vision, tts, music, excel, serp, naver)\nnpm run dev:<module>     # Development mode with watch\nnpm test                 # Run tests\nnpm run setup            # Interactive credential setup\n```\n\n### Project Structure\n\n```\nsrc/\n├── combined-stdio.ts       # Combined entry point (all modules)\n├── shared/\n│   ├── base-server.ts      # MCP server factory\n│   ├── error-utils.ts      # Response helpers\n│   ├── credential-*.ts     # Credential management\n│   └── path-utils.ts       # File path utilities\n├── slack/                  # Each module follows 5-file pattern:\n├── image/                  #   index.ts, client.ts, handlers.ts,\n├── gpt-image/              #   tools.ts, types.ts\n├── video/\n├── vision/\n├── tts/\n├── music/\n├── excel/\n├── serp/\n└── naver/\n```\n\n## Publishing\n\n```bash\n# Update version\nnpm version patch  # or minor, major\n\n# Publish to npm (build runs automatically)\nnpm publish\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Commit Convention\n\n[Conventional Commits](https://www.conventionalcommits.org/): `feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`\n\n## License\n\nMIT\n\n## Support\n\n- **Issues**: https://github.com/ASTRA-TECHNOLOGY-COMPANY-LIMITED/fect-mcp-server/issues\n- **MCP Protocol**: https://modelcontextprotocol.io\n","readmeFilename":"README.md"}