VS Code External Reconnaissance
STDIOTemplate for creating MCP servers in VS Code with setup instructions.
Template for creating MCP servers in VS Code with setup instructions.
MCP server template for VS Code Agent
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
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