MCP server template for VS Code Agent - External reconnaissance tools
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36f73406fccfe75893989823fad7ccf14597523a7f1d6c3b2c5abd623a3424fb
|
|
| MD5 |
c29464be8a4cd36ae1914e4151c3065e
|
|
| BLAKE2b-256 |
6121e602d4e1ef3dd88d53301f76e21e8ed9f473db325d00b330e5a9fe2ef2e7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d4f5e0e56afceb3c0d10befc61a1a44d0443180fc5be90e5eafe4177e1d039f
|
|
| MD5 |
04e4a2c0092ea68cbd622ae88b787e5b
|
|
| BLAKE2b-256 |
d2348facf885ab784d7ff4e43343aece0b9186c16aea6c9da6fdd6ade6758793
|