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 fuzzforge-mcp nohup uv run python -m fuzzforge_mcp.server > server.log 2>&1 & echo $! > server.pid sleep 3 - name: Run MCP tool tests run: | cd fuzzforge-mcp uv run --extra tests pytest tests/test_resources.py -v - name: Stop MCP server if: always() run: | if [ -f fuzzforge-mcp/server.pid ]; then kill $(cat fuzzforge-mcp/server.pid) || true fi - name: Show server logs if: failure() run: cat fuzzforge-mcp/server.log || true