Skip to content

fix(secops-soar): resolve marketplace imports and synchronize setup.py (#151, #293, #294) - #295

Open
dandye wants to merge 1 commit into
mainfrom
fix/soar-client-errors
Open

dandye wants to merge 1 commit into
mainfrom
fix/soar-client-errors

Conversation

@dandye

@dandye dandye commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR addresses marketplace module import resolution and packaging synchronization across server/secops-soar:

  1. Dynamic Marketplace Module Import Resolution (Fixes documentation update/request for SOAR MCP Marketplace Integrations #151, Fixes [secops-soar] Dynamic marketplace tool import fails with ModuleNotFoundError when running installed package #293):

    • Updates secops_soar_mcp/server.py to resolve marketplace integration tools via qualified package path secops_soar_mcp.marketplace.{module_stem} with fallback to marketplace.{module_stem}.
    • Prevents ModuleNotFoundError: No module named 'marketplace' when secops-soar-mcp is installed as a package or executed from arbitrary working directories, resolving the issue where marketplace tools are not recognized by MCP clients (e.g. Gemini CLI, Claude).
  2. Synchronize python-dotenv in setup.py (Fixes [secops-soar] setup.py is missing python-dotenv dependency from install_requires #294):

    • Adds "python-dotenv>=1.0.0" to install_requires in server/secops-soar/setup.py to match pyproject.toml.
    • Ensures pip installations via setup.py pull in python-dotenv required by secops_soar_mcp.bindings.
  3. Hermetic Unit Tests:

    • Adds server/secops-soar/tests/unit/test_marketplace_and_packaging.py testing qualified and fallback module imports, tool registration, and setup.py dependency declaration.

(Note: Prior commits addressing SOAR TLS/certifi startup diagnostics for #191 were superseded by merged PR #308 and were removed during rebase onto main.)

Fixes #151
Fixes #293
Fixes #294

Tests Run

  • uv run --with "mcp<2" --with pytest --with pytest-asyncio --with aiohttp --with python-dotenv pytest server/secops-soar/tests/unit/ -v (8 passed)
  • uv run --with ruff ruff check server/secops-soar/tests/unit/test_marketplace_and_packaging.py (All checks passed)

@dandye
dandye requested a review from a team August 29, 2026 23:40
@dandye
dandye force-pushed the fix/soar-client-errors branch from d900bb6 to 9142e93 Compare September 7, 2026 15:13
@dandye dandye changed the title fix(secops-soar): improve error handling, marketplace imports, and packaging sync fix(secops-soar): resolve marketplace imports and synchronize setup.py (#293, #294) Sep 7, 2026
…y dependencies (#293, #294)

- Update dynamic tool registration to import via secops_soar_mcp.marketplace.{stem} with fallback to marketplace.{stem} (Fixes #293)
- Add python-dotenv>=1.0.0 to setup.py install_requires to match pyproject.toml (Fixes #294)
- Add unit tests in tests/unit/test_marketplace_and_packaging.py verifying import resolution and dependency synchronization
@dandye
dandye force-pushed the fix/soar-client-errors branch from 9142e93 to aa9e817 Compare September 7, 2026 15:22
@dandye dandye changed the title fix(secops-soar): resolve marketplace imports and synchronize setup.py (#293, #294) fix(secops-soar): resolve marketplace imports and synchronize setup.py (#151, #293, #294) Sep 9, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant