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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_timsonner_external_recon-0.1.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_timsonner_external_recon-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_timsonner_external_recon-0.1.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_timsonner_external_recon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 36f73406fccfe75893989823fad7ccf14597523a7f1d6c3b2c5abd623a3424fb
MD5 c29464be8a4cd36ae1914e4151c3065e
BLAKE2b-256 6121e602d4e1ef3dd88d53301f76e21e8ed9f473db325d00b330e5a9fe2ef2e7

See more details on using hashes here.

File details

Details for the file iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for iflow_mcp_timsonner_external_recon-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d4f5e0e56afceb3c0d10befc61a1a44d0443180fc5be90e5eafe4177e1d039f
MD5 04e4a2c0092ea68cbd622ae88b787e5b
BLAKE2b-256 d2348facf885ab784d7ff4e43343aece0b9186c16aea6c9da6fdd6ade6758793

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page