google / google/mcp-security

[secops-soar] setup.py is missing python-dotenv dependency from install_requires

Open Beginner friendly
#294 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
528
Forks
141
Avg merge
3d 2h
Merged PRs (30d)
6

Description

### Description

`server/secops-soar/setup.py` is out of sync with `server/secops-soar/pyproject.toml` and is missing the `python-dotenv` dependency.

### Root Cause
PR #259 added `"python-dotenv>=1.0.0"` to `server/secops-soar/pyproject.toml` to support `import dotenv` in `secops_soar_mcp.bindings`.

However, [`server/secops-soar/setup.py` (lines 24-27)](https://github.com/google/mcp-security/blob/main/server/secops-soar/setup.py#L24-L27) was not synchronized:

```python
setup(
name="secops-soar-mcp",
version="0.1.2",
packages=setuptools.find_packages(),
install_requires=[
"aiohttp>=3.11.15",
"mcp[cli]>=1.4.1,<2.0",
], # Missing python-dotenv>=1.0.0
...
)
```

Legacy packaging workflows, source distribution builds, or environments installing via `setup.py` will not pull in `python-dotenv`, leading to runtime `ModuleNotFoundError: No module named 'dotenv'` upon startup.

### Proposed Fix

Synchronize `server/secops-soar/setup.py` by adding `"python-dotenv>=1.0.0"` to `install_requires`:

```python
install_requires=[
"aiohttp>=3.11.15",
"mcp[cli]>=1.4.1,<2.0",
"python-dotenv>=1.0.0",
],
```

Contributor guide

Open the contributing guide

Research direction

Start with server/secops-soar/setup.py lines 24-27 and compare its install_requires list with server/secops-soar/pyproject.toml. Add the missing python-dotenv>=1.0.0 dependency so setup.py installs the package required by secops_soar_mcp.bindings; done means the two dependency declarations are synchronized.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
92/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.