modelcontextprotocol / modelcontextprotocol/servers

Add CI workflow for testing on Windows runners

Open
#1,149 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
90.5k
Forks
11.7k
Avg merge
2d 2h
Merged PRs (30d)
5

Description

Is your feature request related to a problem? Please describe.

Many Windows-specific issues are hard to catch early since the current CI workflows only run on Ubuntu runners. This makes it difficult to verify Windows compatibility until issues are reported by users, leading to a slower feedback loop for Windows-related bugs.

Describe the solution you'd like

Add Windows runners to the CI workflow by creating a new dedicated testing workflow that:

  1. Runs tests on both Ubuntu and Windows using GitHub's hosted runners
  2. Uses a matrix strategy to test both TypeScript and Python packages
  3. Runs in parallel with existing build workflows
  4. Provides early feedback on Windows compatibility for all PRs

Example workflow configuration:

name: Cross-Platform Tests

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test-typescript:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        node-version: [22]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: npm
      - run: npm ci
      - run: npm test

Disclaimer: This ^^ is a quickly edited Claude suggestion so it may contain syntax errors.

Describe alternatives you've considered
  1. Modify existing workflows: Add Windows runners to typescript.yml and python.yml

    • Pro: Keeps CI config in fewer files
    • Con: Makes existing workflows more complex
  2. Separate Windows-only workflows

    • Pro: Simpler to maintain
    • Con: Duplicates config between OS-specific workflows
Additional context
  • Implementation can be done incrementally:
    1. Add Windows testing for TypeScript packages
    2. Extend to Python packages once TypeScript integration is verified

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing typescript.yml and python.yml workflows to understand their package setup and test commands. Add or organize a dedicated workflow that tests the TypeScript and Python packages on Ubuntu and Windows using a matrix, then verify that it runs for pushes and pull requests and provides passing results on both operating systems.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python, typescript
Domain
ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.