Skip to content

growthspace-engineering/gs-mcp-proxy-pii-redactor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

GrowthSpace Logo

@growthspace-engineering/gs-mcp-proxy-pii-redactor

All Contributors

MCP Proxy with PII Redaction


An MCP proxy that aggregates multiple MCP servers behind a single HTTP entrypoint, with built-in PII redaction capabilities.

Features

  • Proxy multiple MCP servers: Aggregate tools, prompts, and resources from many servers through a single HTTP endpoint
  • Multiple transport types: Support for stdio, sse, and streamable-http client transports
  • Server transport options: Serve via Server-Sent Events (SSE) or streamable HTTP
  • PII redaction: Automatic redaction of PII using GCS-backed dictionaries and generic pattern matching
  • Tool filtering: Allow or block specific tools per server configuration
  • Authentication: Bearer token authentication with per-server or global configuration
  • Audit logging: Optional verbose audit logging for redaction operations
  • Flexible configuration: JSON configuration with environment variable interpolation

Documentation

  • Configuration - Configuration reference and examples
  • Usage - CLI options, endpoints, authentication, and tool filtering
  • PII Redaction - Redaction setup and configuration
  • Deployment - Docker and production deployment

Quick Start

Prerequisites

  • Node.js >= 22.14.0
  • npm

Installation

git clone https://github.com/growthspace-engineering/gs-mcp-proxy-pii-redactor.git
cd gs-mcp-pii-redactor
npm install

Running

# Development mode with watch
npm run start:dev

# Production build
npm run build
npm run start:prod

# With custom config file
npm run start:prod -- --config /path/to/config.json

# With remote config URL
npm run start:prod -- --config https://example.com/config.json

Minimal Configuration

{
  "mcpProxy": {
    "baseURL": "http://localhost:8083",
    "addr": ":8083",
    "name": "MCP Proxy with PII Redaction",
    "version": "1.0.0",
    "type": "streamable-http"
  },
  "mcpServers": {
    "github": {
      "transportType": "streamable-http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${GITHUB_TOKEN}"
      }
    }
  }
}

See Configuration for full configuration reference and examples.

Testing

# Unit tests
npm test

# E2E tests (requires GITHUB_TOKEN)
export GITHUB_TOKEN=your_token_here
npm run test:e2e

Note: All E2E tests require a valid GITHUB_TOKEN environment variable. The test suite validates both SSE and Streamable HTTP transport options.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

This project follows the all-contributors specification. Contributions of any kind welcome!

Code of Conduct

This project adheres to a Code of Conduct. Please read CODE_OF_CONDUCT.md before contributing.

Contributors

Thanks goes to these wonderful people (emoji key):

Neil Kalman
Neil Kalman

πŸ’» πŸ“– ⚠️ πŸš‡ πŸ”§ 🚧
Romario Nijim
Romario Nijim

πŸ€” 🚧 πŸ”¬

How It Works

When you merge a pull request, our GitHub Actions workflow automatically:

  • Adds the contributor to the .all-contributorsrc configuration
  • Updates the Contributors section in this README
  • Creates a commit with the changes

You can also manually add contributors using:

npm run contributors:add -- <username> <contribution-type>

Contribution types include: code, doc, test, bug, ideas, review, and more.

Acknowledgments

  • This project was inspired by the TBXark/mcp-proxy project, a Go-based MCP proxy server that aggregates multiple MCP servers through a single HTTP endpoint.

License

MIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5