NOTE: THIS IS PRE-RELEASE; CORE VOICE PROTOCOL FUNCTIONAL AS OF 6/2/2025
MCP server for voice interaction with coding assistants. Currently built for use with Cline, but may extend later.
restless_coder is for those of you who always need a podcast or audiobook to keep your mind occupied while doing the dishes or walking the dog. It's not quite ready for that kind of hands-off interaction, but eventually it will be!
This server provides a tool (process_voice_command
) that enables users to interact with Cline using voice commands. It aims to make the development workflow more natural by allowing voice input for commands and potentially voice-based approval for code changes or actions.
Note: for use with Cline, you need to set your auto-approve rules to encompass every command you expect to activate by voice. You can keep your auto-approve limited if you don't mind physically clicking approve. I would recommend allowing auto-approval of restless_coder actions, however, as the interaction loop will automatically call restless_coder after every action, until the user tells it to stop the tool/protocol.
process_voice_command
:- Accepts audio input (either as a file path or base64 encoded string).
- Transcribes the audio using a specified speech recognition service (pluggable).
- Sends the transcribed command to a specified coding assistant (pluggable).
- Returns the assistant's response, either as text or synthesized audio.
- Input Schema:
audio_input_type
(string, enum:"file_path"
,"base64_encoded"
): How audio data is provided.audio_data
(string): The audio data.speech_service_id
(string): Identifier for the speech recognition service (e.g.,"webspeech"
,"whisper_local"
).coding_assistant_id
(string): Identifier for the coding assistant (e.g.,"cline"
,"github_copilot"
).output_format
(string, enum:"text"
,"audio"
, default:"text"
): Desired output format.
Prerequisites:
- Node.js and npm
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild on file changes:
npm run watch
Follow these step-by-step instructions to install the Restless Coder MCP server and integrate it with Cline in VS Code.
Step 1: Prerequisites - Node.js and npm
This server requires Node.js and npm (Node Package Manager). npm usually comes with Node.js.
- Check if Node.js and npm are installed:
Open your terminal (Command Prompt, PowerShell, Terminal, or Git Bash) and type:
If these commands show version numbers (e.g.,
node -v npm -v
v18.12.1
and8.19.2
), you're good to go. - Install Node.js and npm if missing: If you don't have them, download Node.js from nodejs.org (we recommend the LTS version). Installing Node.js will also install npm.
Step 2: Get the Restless Coder Server Code
You need to download the server's code to your computer.
- Option A: Using Git (Recommended if you know Git)
- Open your terminal.
- Navigate to the directory where you want to store the project (e.g.,
cd Documents/Projects
). - Clone the repository (replace
your-username/restless_coder.git
with the actual URL if different):git clone https://github.com/your-username/restless_coder.git
- Option B: Downloading a ZIP File
- Go to the GitHub page for Restless Coder (e.g.,
https://github.com/your-username/restless_coder
). - Click the green "Code" button.
- Select "Download ZIP".
- Save the ZIP file to your computer and then extract it to a folder (e.g., in
Documents/Projects
). You'll have a folder named something likerestless_coder-main
. You can rename it torestless_coder
for simplicity.
- Go to the GitHub page for Restless Coder (e.g.,
Step 3: Navigate to the Project Directory
- In your terminal, change to the directory where you cloned or extracted Restless Coder:
(e.g.,
cd path/to/restless_coder
cd Documents/Projects/restless_coder
)
Step 4: Install Dependencies
The server has some software "dependencies" it needs to run.
- While inside the
restless_coder
directory in your terminal, run:This command reads thenpm install
package.json
file and downloads the necessary packages into anode_modules
folder.
Step 5: Build the Server
The server code is written in TypeScript and needs to be "built" (compiled) into JavaScript.
- In the same terminal, still inside the
restless_coder
directory, run:This command will create anpm run build
build
folder insiderestless_coder
, and insidebuild
, you'll find anindex.js
file. Thisbuild/index.js
is the main file Cline will run.
Step 6: Find the Absolute Path to build/index.js
Cline needs the full, complete "absolute" path to the build/index.js
file.
-
Make sure you are still in the
restless_coder
directory in your terminal. -
For macOS or Linux: Type
pwd
in your terminal. It will print the current directory's full path (e.g.,/Users/yourname/Documents/Projects/restless_coder
). Your absolute path toindex.js
will be this path +/build/index.js
. Example:/Users/yourname/Documents/Projects/restless_coder/build/index.js
-
For Windows:
- Using Command Prompt or PowerShell:
Type
cd
(in Command Prompt) orGet-Location
(in PowerShell). This shows the current path. Your absolute path will be this path +\build\index.js
. Example:C:\Users\yourname\Documents\Projects\restless_coder\build\index.js
- Using Git Bash (if installed):
Type
pwd
. It will print a path like/c/Users/yourname/Documents/Projects/restless_coder
. Your absolute path will be this path +/build/index.js
. Example:/c/Users/yourname/Documents/Projects/restless_coder/build/index.js
- Using File Explorer:
Navigate to the
restless_coder
folder, then into thebuild
folder. Right-click onindex.js
and look for an option like "Copy as path" or check its Properties for the "Location".
Important for Windows paths in JSON: When you use this path in the JSON settings file (next step), you must either replace single backslashes
\
with double backslashes\\
(e.g.,C:\\Users\\yourname\\...
) or use forward slashes/
(e.g.,C:/Users/yourname/...
). - Using Command Prompt or PowerShell:
Type
Step 7: Configure Cline to Use the Server
Now, you'll tell Cline where to find and how to run your Restless Coder server.
-
Locate Cline's MCP settings file (
cline_mcp_settings.json
): This file is usually found in these locations:- Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
(You can paste%APPDATA%
into your File Explorer address bar to go to the Roaming AppData folder). - macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
(In Finder, click "Go" in the menu bar, hold Option, then click "Library". Then navigate to Application Support -> Code -> ...). - Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
(Hidden files might need to be shown in your file manager).
- Windows:
-
Open
cline_mcp_settings.json
in a text editor (like VS Code itself). It's a JSON file. Be careful with syntax (commas, curly braces, square brackets). -
Add the Restless Coder server configuration: Look for an
mcpServers
object. If it doesn't exist, you might need to create it (see Cline documentation if unsure). InsidemcpServers
, add an entry forrestless_coder
:{ // ... other settings if they exist ... "mcpServers": { // ... other servers if they exist, make sure there's a comma after the previous one ... "restless_coder": { "command": "node", "args": ["YOUR_ABSOLUTE_PATH_TO_BUILD_INDEX_JS_HERE"], "env": {}, "disabled": false, "autoApprove": [] } // ... if this is the last server, no comma after this closing brace ... } // ... other settings if they exist ... }
CRITICAL: Replace
"YOUR_ABSOLUTE_PATH_TO_BUILD_INDEX_JS_HERE"
with the actual absolute path you found in Step 6.- Example for macOS/Linux:
"args": ["/Users/yourname/Documents/Projects/restless_coder/build/index.js"]
- Example for Windows (using double backslashes):
"args": ["C:\\Users\\yourname\\Documents\\Projects\\restless_coder\\build\\index.js"]
- Example for Windows (using forward slashes):
"args": ["C:/Users/yourname/Documents/Projects/restless_coder/build/index.js"]
Ensure your JSON is valid. If you add this entry and there were other servers before it, make sure the previous server entry ends with a comma. If this is the only server, or the last one, its closing
}
should not have a comma after it. - Example for macOS/Linux:
Step 8: Restart VS Code or Reload Cline
For Cline to pick up the new server configuration, you might need to:
- Restart VS Code completely.
- Or, use a command in VS Code to reload Cline or its MCP servers if available (check Cline's documentation).
Step 9: Verify Installation (Optional)
- After restarting, open Cline.
- Try asking Cline if it has access to an MCP server named
restless_coder
or a tool namedprocess_voice_command
. - If configured correctly, Cline should be able to find and use the server. The server itself will start running in the background when Cline tries to use it. You can check your system's process list for a
node
process running theindex.js
script.
You should now be able to use the Restless Coder server with Cline! The server provides a UI for voice input at http://localhost:6543
(or http://YOUR_COMPUTER_IP:6543
from other devices on your local network, once the server is started by Cline attempting to use it).
MCP servers communicate over stdio. For easier debugging, you can use the MCP Inspector:
npm run inspector
This will provide a URL to access debugging tools in your browser.