#
tokens: 948/50000 6/6 files
lines: on (toggle) GitHub
raw markdown copy reset
# Directory Structure

```
├── .cursor
│   └── rules
│       └── general.mdc
├── .env_example
├── .gitignore
├── docker-compose.yml
├── Dockerfile
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
├── src
│   ├── index.ts
│   └── tools
│       └── VoicevoxTool.ts
├── tmp
│   └── .placehold
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------

```
1 | node_modules
2 | logs
3 | dist
4 | *.wav
```

--------------------------------------------------------------------------------
/.env_example:
--------------------------------------------------------------------------------

```
1 | VOICEVOX_API_URL=http://localhost:50031
2 | VOICEVOX_SPEAKER_ID=919692871
```

--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------

```yaml
1 | services:
2 |   voicevox-mcp-python:
3 |     build: .
4 |     environment:
5 |       - PULSE_SERVER=/mnt/wslg/PulseServer
6 |       - VOICEVOX_API_URL=http://host.docker.internal:50031
7 |       - VOICEVOX_SPEAKER_ID=919692871
8 |     volumes:
9 |       - /mnt/wslg:/mnt/wslg
```

--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { MCPServer } from "mcp-framework";
 2 | 
 3 | if (process.platform != "win32") {
 4 |   const server = new MCPServer();
 5 |   server.start();
 6 | } else {
 7 |   const server = new MCPServer({
 8 |     transport: {
 9 |       type: "sse",
10 |       options: {
11 |         port: 10100,
12 |         endpoint: "/sse",
13 |       },
14 |     },
15 |   });
16 |   server.start();
17 | }
18 | 
```

--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "compilerOptions": {
 3 |     "target": "ESNext",
 4 |     "module": "ESNext",
 5 |     "moduleResolution": "node",
 6 |     "outDir": "./dist",
 7 |     "rootDir": "./src",
 8 |     "strict": true,
 9 |     "esModuleInterop": true,
10 |     "skipLibCheck": true,
11 |     "forceConsistentCasingInFileNames": true
12 |   },
13 |   "include": [
14 |     "src/**/*"
15 |   ],
16 |   "exclude": [
17 |     "node_modules"
18 |   ]
19 | }
```

--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "name": "voicevox-mcp-server",
 3 |   "description": "",
 4 |   "license": "MIT",
 5 |   "author": "Dosugamea",
 6 |   "version": "1.0.0",
 7 |   "type": "module",
 8 |   "bin": {
 9 |     "voicevox-mcp-server": "./dist/index.js"
10 |   },
11 |   "scripts": {
12 |     "build": "tsc && mcp-build",
13 |     "watch": "tsc --watch",
14 |     "start": "node dist/index.js"
15 |   },
16 |   "files": [
17 |     "dist"
18 |   ],
19 |   "keywords": [
20 |     "voicevox",
21 |     "mcp",
22 |     "server"
23 |   ],
24 |   "devDependencies": {
25 |     "typescript": "^5.8.2",
26 |     "vite": "^6.2.2"
27 |   },
28 |   "dependencies": {
29 |     "axios": "^1.8.4",
30 |     "child_process": "^1.0.2",
31 |     "mcp-framework": "^0.1.29",
32 |     "zod": "^3.24.2"
33 |   }
34 | }
35 | 
```