Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/add-hono-peer-dep.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/brave-lions-glow.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/busy-weeks-hang.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/cyan-cycles-pump.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/expose-auth-server-discovery.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fix-task-session-isolation.md

This file was deleted.

15 changes: 0 additions & 15 deletions .changeset/fix-unknown-tool-protocol-error.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/funky-baths-attack.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/heavy-walls-swim.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/oauth-error-http200.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/quick-islands-occur.md

This file was deleted.

14 changes: 0 additions & 14 deletions .changeset/respect-capability-negotiation.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/rich-hounds-report.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/shy-times-learn.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/tender-snails-fold.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/twelve-dodos-taste.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/use-scopes-supported-in-dcr.md

This file was deleted.

13 changes: 8 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@
* @modelcontextprotocol/typescript-sdk

# Auth team owns all auth-related code
/src/server/auth/ @modelcontextprotocol/typescript-sdk-auth
/src/client/auth* @modelcontextprotocol/typescript-sdk-auth
/src/shared/auth* @modelcontextprotocol/typescript-sdk-auth
/src/examples/client/simpleOAuthClient.ts @modelcontextprotocol/typescript-sdk-auth
/src/examples/server/demoInMemoryOAuthProvider.ts @modelcontextprotocol/typescript-sdk-auth
/packages/client/src/client/auth* @modelcontextprotocol/typescript-sdk-auth
/packages/client/src/client/authExtensions* @modelcontextprotocol/typescript-sdk-auth
/packages/client/src/client/crossAppAccess* @modelcontextprotocol/typescript-sdk-auth
/packages/core/src/shared/auth* @modelcontextprotocol/typescript-sdk-auth
/packages/core/src/auth/ @modelcontextprotocol/typescript-sdk-auth
/examples/shared/src/auth* @modelcontextprotocol/typescript-sdk-auth
/examples/shared/src/authServer* @modelcontextprotocol/typescript-sdk-auth
/examples/client/src/simpleOAuthClient* @modelcontextprotocol/typescript-sdk-auth
101 changes: 101 additions & 0 deletions .github/agents/sdk-version-pin-agent.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
name: SDKVersionPinAgent
description: >-
Monitors upstream modelcontextprotocol/typescript-sdk for new releases.
Assesses breaking changes, generates a compatibility matrix, and coordinates
version bump PRs across all dependent MCP repos in the portfolio.
---

# SDK Version Pin Agent

## Role
You are an SDK dependency manager responsible for coordinated version upgrades
across a multi-repo MCP ecosystem. You ensure no dependent repository is left
running a stale or incompatible SDK version.

## Action
1. Detect a new release of `modelcontextprotocol/typescript-sdk`.
2. Compare the release notes and CHANGELOG against the current pinned version.
3. Categorize changes: BREAKING / FEATURE / BUGFIX / SECURITY.
4. Map each change to affected files across dependent repos.
5. Generate an ordered list of update PRs (SDK first, then consumers).
6. For BREAKING changes, produce a migration guide snippet.
7. Open a tracking GitHub issue in this repo listing all dependent update tasks.

## Scope
- This repository: `MrGDCrazy/typescript-sdk` (the SDK fork).
- Dependent repos to update in order:
1. `MrGDCrazy/fastmcp` (builds MCP servers on top of SDK)
2. `MrGDCrazy/playwright-mcp` (uses MCP client interfaces)
3. `MrGDCrazy/workers-mcp` (Cloudflare Worker MCP integration)
- Files to inspect per repo: `package.json`, `package-lock.json`,
TypeScript interface files that import from `@modelcontextprotocol/sdk`.

## Constraints
- Never auto-bump major versions — always flag for manual review.
- Never merge updates to dependent repos before the SDK fork is updated.
- Maintain strict dependency order: SDK → fastmcp → playwright-mcp → workers-mcp.
- For SECURITY releases, escalate priority to P0 and set 24-hour SLA.
- Always generate a rollback plan before opening update PRs.
- Do not update any repo that has unmerged open PRs without flagging the conflict.

## Examples

### Minor release (safe):
```
SDK v1.4.0 released.
Changes: FEATURE (new Server.onRequest hook), BUGFIX (transport race condition)
Breaking: NO
Action: Generate minor bump PRs for all 3 dependent repos.
Order: fastmcp PR → playwright-mcp PR → workers-mcp PR
Tracking issue: #42
```

### Major release (breaking):
```
SDK v2.0.0 released.
Changes: BREAKING (Server constructor signature changed)
Breaking: YES — requires adapter update in fastmcp and playwright-mcp
Action: Block auto-PRs. Generate migration guide. Assign manual review.
Tracking issue: #43 [BREAKING — MANUAL REVIEW REQUIRED]
```

## Format
Output a release impact report:

```
## MCP SDK Release Impact Report
SDK Version: [new] (was [old])
Date: [ISO timestamp]

### Change Classification
| Type | Count | Highest Severity |
|---|---|---|
| Breaking | X | CRITICAL/HIGH/MED |
| Feature | X | - |
| Bugfix | X | - |
| Security | X | CRITICAL/HIGH/MED/LOW |

### Dependency Update Order
| Repo | Current Version | Target Version | Risk | PR Status |
|---|---|---|---|---|
| fastmcp | x.x.x | y.y.y | LOW/MED/HIGH | PENDING |
| playwright-mcp | x.x.x | y.y.y | LOW/MED/HIGH | BLOCKED |
| workers-mcp | x.x.x | y.y.y | LOW/MED/HIGH | PENDING |

### Migration Notes
[Only present if BREAKING changes exist]

### Rollback Plan
[Steps to revert if update causes failures]

Tracking Issue: #[number]
```

## Trigger
- On new release tag pushed to `modelcontextprotocol/typescript-sdk` upstream.
- Weekly scheduled check (Mondays 08:00 UTC).

## Success Metric
All dependent repos updated to new SDK release within 14 days.
Zero undetected breaking SDK changes across the MCP stack.
68 changes: 68 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: "CodeQL Advanced"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '35 19 * * 5'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
security-events: write
packages: read
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install pnpm
if: matrix.language == 'javascript-typescript'
uses: pnpm/action-setup@v4
with:
version: 10.26.1
run_install: false

- name: Setup Node.js
if: matrix.language == 'javascript-typescript'
uses: actions/setup-node@v4
with:
node-version: 20
# ⚠️ No cache: 'pnpm' here — pnpm/action-setup handles caching
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow currently doesn't configure dependency caching for pnpm (and the comment says pnpm/action-setup handles caching). If you want caching, add cache: pnpm (and cache-dependency-path) to actions/setup-node, or remove/adjust the comment to avoid implying caching is enabled when it isn't.

Suggested change
# ⚠️ No cache: 'pnpm' here — pnpm/action-setup handles caching
# Note: dependency caching is not configured here. To enable it, add cache: 'pnpm' and cache-dependency-path to actions/setup-node.

Copilot uses AI. Check for mistakes.

- name: Install dependencies
if: matrix.language == 'javascript-typescript'
run: pnpm install --frozen-lockfile

- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}

- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'Replace this with your manual build commands'
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
Comment on lines +31 to +68
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The steps: list items are not indented under steps, which makes this workflow invalid YAML (the - name: entries need to be nested under steps:). Please indent the step entries so they are children of steps:.

Suggested change
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
if: matrix.language == 'javascript-typescript'
uses: pnpm/action-setup@v4
with:
version: 10.26.1
run_install: false
- name: Setup Node.js
if: matrix.language == 'javascript-typescript'
uses: actions/setup-node@v4
with:
node-version: 20
# ⚠️ No cache: 'pnpm' here — pnpm/action-setup handles caching
- name: Install dependencies
if: matrix.language == 'javascript-typescript'
run: pnpm install --frozen-lockfile
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'Replace this with your manual build commands'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
if: matrix.language == 'javascript-typescript'
uses: pnpm/action-setup@v4
with:
version: 10.26.1
run_install: false
- name: Setup Node.js
if: matrix.language == 'javascript-typescript'
uses: actions/setup-node@v4
with:
node-version: 20
# ⚠️ No cache: 'pnpm' here — pnpm/action-setup handles caching
- name: Install dependencies
if: matrix.language == 'javascript-typescript'
run: pnpm install --frozen-lockfile
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'Replace this with your manual build commands'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"

Copilot uses AI. Check for mistakes.
4 changes: 2 additions & 2 deletions .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:
jobs:
client-conformance:
runs-on: ubuntu-latest
continue-on-error: true
continue-on-error: false
steps:
- uses: actions/checkout@v4
- name: Install pnpm
Expand All @@ -34,7 +34,7 @@ jobs:

server-conformance:
runs-on: ubuntu-latest
continue-on-error: true
continue-on-error: false
steps:
- uses: actions/checkout@v4
- name: Install pnpm
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,14 @@ jobs:
id-token: write

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
id: pnpm-install
with:
run_install: false
- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ jobs:
- name: Install dependencies
run: pnpm install

- name: Type-check and lint
run: pnpm run check:all

- name: Build packages
run: pnpm run build:all

Expand Down
Loading
Loading