@kajidog/mcp-tts-voicevox 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +13 -13
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,8 +7,8 @@ const zod_1 = require("zod");
|
|
|
7
7
|
const index_js_1 = require("./voicevox/index.js");
|
|
8
8
|
const server = new mcp_js_1.McpServer({
|
|
9
9
|
name: "MCP TTS Voicevox",
|
|
10
|
-
version: "0.0.
|
|
11
|
-
description: "Voicevox
|
|
10
|
+
version: "0.0.4",
|
|
11
|
+
description: "A Voicevox server that converts text to speech for playback and saving.",
|
|
12
12
|
});
|
|
13
13
|
// VoicevoxClientを一度だけインスタンス化
|
|
14
14
|
const voicevoxClient = new index_js_1.VoicevoxClient({
|
|
@@ -24,9 +24,9 @@ const handleError = (error) => {
|
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
// テキストを音声に変換して再生
|
|
27
|
-
server.tool("speak", {
|
|
28
|
-
text: zod_1.z.string().describe("
|
|
29
|
-
speaker: zod_1.z.number().optional().describe("
|
|
27
|
+
server.tool("speak", "Convert text to speech and play it", {
|
|
28
|
+
text: zod_1.z.string().describe("Text to be spoken"),
|
|
29
|
+
speaker: zod_1.z.number().optional().describe("Speaker ID (optional)"),
|
|
30
30
|
}, async ({ text, speaker }) => {
|
|
31
31
|
try {
|
|
32
32
|
const result = await voicevoxClient.enqueueAudioGeneration(text, speaker);
|
|
@@ -39,9 +39,9 @@ server.tool("speak", {
|
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
// クエリ生成ツール
|
|
42
|
-
server.tool("generate_query", {
|
|
43
|
-
text: zod_1.z.string().describe("
|
|
44
|
-
speaker: zod_1.z.number().optional().describe("
|
|
42
|
+
server.tool("generate_query", "Generate a query for voice synthesis", {
|
|
43
|
+
text: zod_1.z.string().describe("Text for voice synthesis"),
|
|
44
|
+
speaker: zod_1.z.number().optional().describe("Speaker ID (optional)"),
|
|
45
45
|
}, async ({ text, speaker }) => {
|
|
46
46
|
try {
|
|
47
47
|
const query = await voicevoxClient.generateQuery(text, speaker);
|
|
@@ -54,14 +54,14 @@ server.tool("generate_query", {
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
// 音声ファイル生成ツール - クエリまたはテキストを受け付ける
|
|
57
|
-
server.tool("synthesize_file", {
|
|
57
|
+
server.tool("synthesize_file", "Generate an audio file and return its absolute path", {
|
|
58
58
|
text: zod_1.z
|
|
59
59
|
.string()
|
|
60
60
|
.optional()
|
|
61
|
-
.describe("
|
|
62
|
-
query: zod_1.z.any().optional().describe("
|
|
63
|
-
output: zod_1.z.string().describe("
|
|
64
|
-
speaker: zod_1.z.number().optional().describe("
|
|
61
|
+
.describe("Text for voice synthesis (if both query and text are provided, query takes precedence)"),
|
|
62
|
+
query: zod_1.z.any().optional().describe("Voice synthesis query"),
|
|
63
|
+
output: zod_1.z.string().describe("Output path for the audio file"),
|
|
64
|
+
speaker: zod_1.z.number().optional().describe("Speaker ID (optional)"),
|
|
65
65
|
}, async ({ text, query, output, speaker }) => {
|
|
66
66
|
try {
|
|
67
67
|
if (!query && !text) {
|