
timsonner/mcp-vscode-template
Developer toolsMCP server template for VS Code
Overview
Install uv however you like. May options available. https://docs.astral.sh/uv/getting-started/installation/ Project setup is heavily based off of Renae Schilg's work. I didn't even bother to change the project name as an homage although I did deviate on a few things, namely not using Claude Desktop, but also modified external-recon.py fairly heavily. https://nae-bo.medium.com/building-your-first-offensive-security-mcp-server-dd655e258d5f I had to modify the python versions in .python-version to 3.11 or something above 3.8 or 3.10 I also had to modify the line requires-python = ">=3.11" in pyroject.toml to something above 3.8 or 3.10 Mileage will vary... It may not be necessary. The VS Code settings.json should be modified. Use which uv to find the path to uv. The "/path/to/project/external-recon" should refer to the project path, where the MCP server .py file is located (use absoulte path). One of the main differences between Renae's work and mine is I used @mcp.
README
mcp-vscode-template
MCP server template for VS Code Agent
Setup
Install uv however you like. May options available.
https://docs.astral.sh/uv/getting-started/installation/
Project setup is heavily based off of Renae Schilg’s work. I didn’t even bother to change the project name as an homage although I did deviate on a few things, namely not using Claude Desktop, but also modified external-recon.py fairly heavily.
https://nae-bo.medium.com/building-your-first-offensive-security-mcp-server-dd655e258d5f
# Initialize project
uv init external-recon
cd external-recon
I had to modify the python versions in .python-version to 3.11 or something above 3.8 or 3.10
I also had to modify the line requires-python = ">=3.11" in pyroject.toml to something above 3.8 or 3.10
Mileage will vary… It may not be necessary.
# Create virtual environment and activate it
uv venv --python 3.11
source .venv/bin/activate
# Install mcp
uv add "mcp[cli]"
# Install dnspython (dependency for external-recon.py, not necessary for all projects, but for this one yes)
uv pip install dnspython
# Create MCP server external-recon.py file or empty and rename main.py
touch external-recon.py
The VS Code settings.json should be modified.
Use which uv to find the path to uv.
The "/path/to/project/external-recon" should refer to the project path, where the MCP server .py file is located (use absoulte path).
settings.json
"mcp": {
"servers": {
"external-recon": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/project/external-recon",
"run",
"external-recon.py"
]
}
}
},
One of the main differences between Renae’s work and mine is I used @mcp.tool() instead of @mcp.prompt() in external-recon.py
Start the server
From the venv of the project, start the server with uv run external-recon.py
Example:
(external-recon) user@workstation external-recon % uv run external-recon.py
Install
This server does not publish a one-line install command.
Open the repository installation guide New to MCP? Start with the mcpskill.org guide →