Skip to main content

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

Metadata

Release files for iflow-mcp-timsonner-external-recon 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp-timsonner-external-recon 0.1.0
File Size Uploaded
iflow_mcp_timsonner_external_recon-0.1.0.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp-timsonner-external-recon 0.1.0
File Interpreter ABI Platform
iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.1 kB

Release files / iflow_mcp_timsonner_external_recon-0.1.0.tar.gz

Download URL iflow_mcp_timsonner_external_recon-0.1.0.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
36f73406fccfe75893989823fad7ccf14597523a7f1d6c3b2c5abd623a3424fb
BLAKE2b-256 checksum
How to use checksums
6121e602d4e1ef3dd88d53301f76e21e8ed9f473db325d00b330e5a9fe2ef2e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl

Download URL iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d4f5e0e56afceb3c0d10befc61a1a44d0443180fc5be90e5eafe4177e1d039f
BLAKE2b-256 checksum
How to use checksums
d2348facf885ab784d7ff4e43343aece0b9186c16aea6c9da6fdd6ade6758793
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page