Initial project structure for MCP interceptors (#3)

Establishes a multi-language monorepo structure for MCP interceptors
with Python and TypeScript SDKs alongside the existing Go
implementation. Implements an efficient CI/CD system that only tests
what changes.


#### 🏗️ SDK Scaffolding
- **Python SDK** (`python/sdk/`): Modern Python package using
`pyproject.toml`, aligned with official MCP Python SDK patterns
- **TypeScript SDK** (`typescript/sdk/`): ESM-based package structure,
compatible with official MCP TypeScript SDK
- **Monorepo structure**: Consistent `{language}/sdk/` pattern across
all implementations
  
 #### 🚀 CI/CD Pipeline
- **Path-based workflow triggering**: Only runs CI for languages that
actually changed
    - Change Python → only Python CI runs
    - Change multiple languages → only those CIs run
- **Status check workflow**: Single required check that dynamically
validates based on changes
- **Comment triggers**: Maintainers can run all checks with `/test all`
PR comment
This commit is contained in:
Kurt Degiorgio 2026-01-26 17:54:37 +00:00 • committed by GitHub
commit 20974b6fa0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 900 additions and 3 deletions

3
go/sdk/README.md Normal file
View file

@ -0,0 +1,3 @@
# MCP Interceptors - Go Implementation
This will contain the Go implementation of the MCP Interceptors based on [SEP-1763](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1763).

0
go/sdk/examples/.gitkeep Normal file
View file

4
go/sdk/go.mod Normal file
View file

@ -0,0 +1,4 @@
module github.com/modelcontextprotocol/ext-interceptors/go/sdk
go 1.23.0

View file

@ -0,0 +1,6 @@
// Copyright 2025 The MCP Interceptors Authors. All rights reserved.
// Use of this source code is governed by a Apache-2.0
// license that can be found in the LICENSE file.
// Package interceptors implements MCP Interceptors based on [SEP-1763](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1763).
package interceptors

View file

@ -0,0 +1,14 @@
// Copyright 2025 The MCP Interceptors Authors. All rights reserved.
// Use of this source code is governed by a Apache-2.0
// license that can be found in the LICENSE file.
package interceptors
import "testing"
func TestPlaceholder(t *testing.T) {
// Placeholder test to ensure go test runs successfully
if false {
t.Error("This should not happen")
}
}

0
go/sdk/internal/.gitkeep Normal file
View file