MCProxy logo

MCProxy

by LaurentAjdnik

MCProxy is a proxy between MCP Clients and MCP Servers, allowing new features in the workflow between them. It provides the building blocks for a proxy architecture, with basic features and plug-in modules for customization.

View on GitHub

Last updated: N/A

What is MCProxy?

MCProxy is a proxy server designed to sit between Model Context Protocol (MCP) Clients and MCP Servers. It enables the introduction of new functionalities and modifications to the communication flow between them.

How to use MCProxy?

MCProxy is configured using a configuration file similar to MCP Servers, specifying the addresses of the MCP Servers it connects to. MCP Clients then connect to the MCProxy instead of directly to the MCP Servers. Additional configuration is available for the MCProxy itself and its modules.

Key features of MCProxy

  • Logging

  • Capabilities aggregation

  • Capabilities blocking

  • Capabilities disambiguation

  • Content update

  • On-the-fly internationalization (i18n)

  • External module support

Use cases of MCProxy

  • Centralized logging of MCP traffic

  • Combining capabilities from multiple MCP Servers

  • Restricting access to certain MCP Server capabilities

  • Resolving naming conflicts between MCP Server capabilities

  • Modifying content exchanged between clients and servers

  • Adding internationalization support to MCP interactions

  • Extending functionality with custom modules

FAQ from MCProxy

What is the purpose of MCProxy?

MCProxy acts as an intermediary between MCP Clients and Servers, enabling new features and modifications to the communication flow.

How does MCProxy connect to MCP Servers?

MCProxy uses the same configuration file format as MCP Servers, specifying the addresses of the servers it connects to.

Can I add custom features to MCProxy?

Yes, MCProxy supports external modules that can provide extra features on top of the basic functionality.

How does MCProxy handle identifiers for resources, prompts, and tools?

By default, MCProxy exposes all resources with the same identifiers. However, it can be configured to rename identifiers for disambiguation.

What is the architecture of MCProxy?

MCProxy consists of a Server manager, Clients manager, Dispatcher, Internal features component, and Modules manager. The Dispatcher forwards messages and applies features.