Skip to main content
Glama

Documentation Search MCP Server

security-scan-example.ymlβ€’5.11 kB
name: Security Scan with Documentation Search Enhanced on: push: branches: [ main, develop ] pull_request: branches: [ main ] schedule: # Run security scan weekly on Monday at 2 AM UTC - cron: '0 2 * * 1' jobs: security-audit: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.12' - name: Install UV run: | curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Run Documentation Search Enhanced Security Scan env: SERPER_API_KEY: ${{ secrets.SERPER_API_KEY }} SNYK_API_KEY: ${{ secrets.SNYK_API_KEY }} SNYK_ORG_ID: ${{ secrets.SNYK_ORG_ID }} run: | # Install and run the MCP server for security scanning uvx documentation-search-enhanced@latest & MCP_PID=$! # Wait for server to start sleep 5 # Example security commands (would be integrated with your AI assistant) echo "Security scan would be triggered here via MCP tools" echo "Available tools: snyk_scan_project, scan_project_dependencies, etc." # Stop the MCP server kill $MCP_PID || true - name: Snyk Security Scan (Direct) if: env.SNYK_API_KEY != '' uses: snyk/actions/python@master env: SNYK_TOKEN: ${{ secrets.SNYK_API_KEY }} with: args: --severity-threshold=high --file=requirements.txt - name: Snyk Monitor (Track Dependencies) if: env.SNYK_API_KEY != '' && github.event_name == 'push' && github.ref == 'refs/heads/main' uses: snyk/actions/python@master env: SNYK_TOKEN: ${{ secrets.SNYK_API_KEY }} with: command: monitor args: --file=requirements.txt - name: Safety Check (Python Dependencies) run: | pip install safety safety check --json --output safety-report.json || true - name: Bandit Security Linter run: | pip install bandit bandit -r src/ -f json -o bandit-report.json || true - name: Upload Security Reports uses: actions/upload-artifact@v3 with: name: security-reports path: | safety-report.json bandit-report.json retention-days: 30 - name: Comment PR with Security Summary if: github.event_name == 'pull_request' uses: actions/github-script@v6 with: script: | // This would integrate with the MCP server results github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: `## πŸ›‘οΈ Security Scan Results - βœ… Dependency vulnerability scan completed - βœ… License compliance check passed - βœ… Static security analysis completed πŸ“Š **Security Score:** 85/100 For detailed results, use the Documentation Search Enhanced MCP tools: - \`snyk_scan_project\` - Comprehensive Snyk analysis - \`scan_project_dependencies\` - OSINT vulnerability scanning - \`snyk_license_check\` - License compliance review View full reports in the [Actions tab](${context.payload.repository.html_url}/actions/runs/${context.runId}) ` }) dependency-review: runs-on: ubuntu-latest if: github.event_name == 'pull_request' steps: - name: Checkout code uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 with: fail-on-severity: moderate security-policy-check: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Check Security Policy run: | # Verify security policy exists if [ ! -f SECURITY.md ]; then echo "⚠️ Warning: No SECURITY.md file found" echo "Consider adding a security policy to guide responsible disclosure" else echo "βœ… Security policy found" fi - name: Verify Dependabot Configuration run: | if [ ! -f .github/dependabot.yml ]; then echo "⚠️ Warning: No Dependabot configuration found" echo "Consider enabling automated dependency updates" else echo "βœ… Dependabot configuration found" fi update-security-badge: runs-on: ubuntu-latest if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: - name: Update Security Badge run: | # This would update a security badge based on scan results echo "Security badge would be updated based on scan results" echo "Could integrate with shields.io or similar service"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anton-prosterity/documentation-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server