name: MCP Server Smoke Test on: push: branches: [main, dev] pull_request: branches: [main, dev] workflow_dispatch: jobs: mcp-server: name: MCP Server Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: version: "latest" - name: Set up Python run: uv python install 3.14 - name: Install dependencies run: uv sync --all-extras - name: Start MCP server in background run: | cd secpipe-mcp nohup uv run uvicorn secpipe_mcp.application:app --host 127.0.0.1 --port 8000 > server.log 2>&1 & echo $! > server.pid sleep 3 - name: Run MCP tool tests run: | cd secpipe-mcp uv run --extra tests pytest tests/test_resources.py -v - name: Stop MCP server if: always() run: | if [ -f secpipe-mcp/server.pid ]; then kill $(cat secpipe-mcp/server.pid) || true fi - name: Show server logs if: failure() run: cat secpipe-mcp/server.log || true