rust-web-server 18.2.0

Single-binary web server and reverse proxy: automatic HTTPS (Let's Encrypt), HTTP/1.1, HTTP/2 and HTTP/3, load balancing, auth and rate limiting, configured in one TOML file. Also a Rust library: routing, middleware, MCP server, ORM, background jobs. No hyper, no Tower; HTTP/2 and HTTP/3 framing via h2 and quinn.
Documentation
name: MCP conformance

# The official MCP conformance suite against examples/mcp_conformance.rs
# (ci/e2e/mcp_conformance.sh). Known failures: ci/mcp-conformance-baseline.yml.
on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

jobs:
  server:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
        with:
          key: mcp-conformance
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: cargo build --example mcp_conformance
      - run: |
          baseline=ci/mcp-conformance-baseline.yml
          [ -f "$baseline" ] || baseline=""
          RESULTS_DIR="$RUNNER_TEMP/mcp-conformance" ci/e2e/mcp_conformance.sh target/debug/examples/mcp_conformance $baseline
      - name: Keep the results
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: mcp-conformance-results
          path: ${{ runner.temp }}/mcp-conformance