Connects to Facebook Ads API, allowing management and analysis of Facebook advertising campaigns
Enables interaction with Google Ads platform, providing tools for managing advertising campaigns on Google
MCP SSE Proxy
A Model Context Protocol (MCP) server that acts as a proxy, bridging STDIO-based MCP clients with SSE (Server-Sent Events) based MCP servers. This enables MCP clients that only support STDIO transport to connect to remote MCP servers that use SSE transport.
Overview
The MCP SSE Proxy creates a bridge between two different MCP transport protocols:
- STDIO Transport: Used by local MCP clients (like Claude Desktop)
- SSE Transport: Used by remote MCP servers accessible via HTTP/HTTPS
This proxy allows you to use remote MCP servers that expose SSE endpoints from applications that only support STDIO-based MCP connections.
Features
- Full MCP Protocol Support: Proxies all MCP capabilities including:
- Tools (listing and calling)
- Resources (listing and reading)
- Resource Templates (listing)
- Prompts (listing and getting)
- Authentication Support: Optional API key authentication for SSE endpoints
- Error Handling: Comprehensive error handling with detailed logging
- Graceful Shutdown: Proper cleanup on process termination
- Configurable: Flexible configuration via command line arguments or environment variables
Installation
Prerequisites
- Node.js >= 18.0.0
- npm or yarn
Setup
- Clone or download this repository
- Install dependencies:
Usage
Command Line Arguments
Parameters:
SERVER_NAME
: Display name for the MCP serverSSE_URL
: URL of the remote SSE MCP server endpointAPI_KEY
: (Optional) API key for authentication
Example:
Environment Variables
Alternatively, you can use environment variables:
Configuration
MCP Client Configuration
To use this proxy with an MCP client like Claude Desktop, add the following to your MCP configuration:
Authentication
The proxy supports Bearer token authentication. When an API key is provided, it will be sent as:
Authorization: Bearer <API_KEY>
header in HTTP requests- Authentication headers for EventSource connections
Creating a Desktop Extension (.dxt)
This MCP proxy can be packaged as a Desktop Extension for easy one-click installation in Claude Desktop and other MCP-enabled applications.
For the complete guide, see: Desktop Extensions: One-click MCP server installation for Claude Desktop
Prerequisites
Install dependencies
Install the DXT CLI tool:
Steps to Create DXT File
- Initialize DXT configuration (if needed):Note: This project already includes a
manifest.json
file, so initialization may not be necessary. - Validate the manifest:
- Package the extension:
- Test the extension:
- The command will generate a
.dxt
file - Drag the
.dxt
file into Claude Desktop's Settings window - Click "Install" to test the extension
- The command will generate a
Quick Installation (Alternative)
If you don't want to build the extension yourself, you can directly drag and drop the pre-built mcp-proxy-node.dxt
file into Claude Desktop's Settings window for immediate installation.
Screenshots
The MCP SSE Proxy extension as it appears in Claude Desktop after installation. Users can easily configure the server name, SSE URL, and API key through the intuitive interface.
Technical Details
Architecture
The proxy consists of two main components:
- MCP Server: Accepts STDIO connections from local MCP clients
- MCP Client: Connects to remote SSE MCP servers
Transport Protocols
- Input: STDIO transport (standard input/output)
- Output: SSE transport (Server-Sent Events over HTTP/HTTPS)
Error Handling
The proxy includes comprehensive error handling:
- Connection failures to remote SSE servers
- Invalid URL formats
- Authentication errors
- Request/response parsing errors
- Graceful degradation when remote capabilities are unavailable
Logging
Detailed logging is provided via console.error()
for debugging:
- Connection status
- Request/response details
- Error information with stack traces
- Performance metrics
API Reference
MCPSSEProxy Class
Constructor
sseUrl
(string): URL of the SSE MCP serverapiKey
(string, optional): API key for authenticationserverName
(string): Display name for the proxy server
Methods
initialize()
: Initialize client and server connectionsrun()
: Start the proxy serverclose()
: Gracefully shutdown the proxysetupProxyHandlers()
: Configure request handlers
Development
Project Structure
Dependencies
@modelcontextprotocol/sdk
: Official MCP SDK for Node.js
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Troubleshooting
Common Issues
- Connection Refused
- Verify the SSE URL is correct and accessible
- Check if the remote server is running
- Ensure firewall/network settings allow connections
- Authentication Errors
- Verify the API key is correct
- Check if the remote server expects authentication
- Ensure the API key format matches server expectations
- No Tools/Resources Available
- Check if the remote server actually provides tools/resources
- Verify the remote server is responding correctly
- Check proxy logs for error messages
- Performance Issues
- Monitor network latency to the remote server
- Check for rate limiting on the remote server
- Consider connection pooling for high-frequency usage
Debugging
Enable detailed logging by examining the console output. The proxy logs:
- Connection attempts and results
- Request/response details
- Error messages with stack traces
- Performance timing
Join our community for help and updates
👉 Slack Community - AI in Ads
Also checkout our other projects
👉 Facebook Ads MCP - Facebook Ads MCP 👉 Google Ads MCP - Google Ads MCP
License
MIT License - see LICENSE file for details
Support
For issues and questions:
- Check the troubleshooting section above
- Review the console logs for error details
- Ensure your Node.js version meets requirements (>= 18.0.0)
- Verify the remote SSE server is compatible with MCP protocol
Compatibility
- Node.js: >= 18.0.0
- MCP Protocol: Compatible with MCP SDK v1.13.2+
- Platforms: macOS, Windows, Linux
- Claude Desktop: >= 0.10.0
Made with ❤️ for the MCP community
This server cannot be installed
Bridges STDIO-based MCP clients with SSE-based MCP servers, allowing applications like Claude Desktop to connect to remote MCP servers that use SSE transport.
Related MCP Servers
- -securityAlicense-qualityMCP Server for the Gentoro services, enabling Claude to interact with Gentoro, which allows users to create and integrate tools into a common Bridge, defining all available capabilities.Last updated -612TypeScriptApache 2.0
- AsecurityAlicenseAqualityEnables interaction with remote MCP servers using SSE transport instead of STDIO for enhanced communication capabilities.Last updated -11,208PythonMIT License
- AsecurityAlicenseAqualityA simple MCP server that facilitates website fetching through a configurable server platform using stdio or SSE transport, allowing integration with tools like Cursor for streamlined access.Last updated -223PythonMIT License
- AsecurityFlicenseAqualityA bridge server that connects MCP clients (like Claude Desktop) to Google Apps Script, allowing execution of GAS scripts through natural language interfaces.Last updated -11JavaScript