Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
Project description
MCP Proxy Adapter
Author: Vasiliy Zdanovskiy
Email: vasilyvz@gmail.com
Overview
MCP Proxy Adapter is a comprehensive framework for building JSON-RPC API servers with built-in security, SSL/TLS support, and proxy registration capabilities. It provides a unified interface for command execution, protocol management, and security enforcement.
Features
- JSON-RPC API: Full JSON-RPC 2.0 support with built-in commands
- Security Framework: Integrated authentication, authorization, and SSL/TLS
- Protocol Management: HTTP, HTTPS, and mTLS protocol support
- Proxy Registration: Automatic registration with proxy servers
- Command System: Extensible command registry with built-in commands
- Configuration Management: Comprehensive configuration with environment variable overrides
Quick Start
-
Installation:
pip install mcp-proxy-adapter
-
Basic Configuration:
# Use the comprehensive config with all options disabled by default python -m mcp_proxy_adapter --config config.json
-
Access the API:
- Health check:
GET http://localhost:8000/health - JSON-RPC:
POST http://localhost:8000/api/jsonrpc - REST API:
POST http://localhost:8000/cmd - Documentation:
http://localhost:8000/docs
- Health check:
Configuration
The adapter uses a comprehensive JSON configuration file (config.json) that includes all available options with sensible defaults. All features are disabled by default and can be enabled as needed:
- Server settings: Host, port, debug mode
- Security: Authentication methods, SSL/TLS, permissions
- Protocols: HTTP/HTTPS/mTLS configuration
- Proxy registration: Automatic server registration
- Logging: Comprehensive logging configuration
- Commands: Built-in and custom command management
See docs/EN/configuration.md for complete configuration documentation.
Built-in Commands
health- Server health checkecho- Echo test commandconfig- Configuration managementhelp- Command help and documentationreload- Configuration reloadsettings- Settings managementload/unload- Command loading/unloadingplugins- Plugin managementproxy_registration- Proxy registration controltransport_management- Transport protocol managementrole_test- Role-based access testing
Security Features
- Authentication: API keys, JWT tokens, certificate-based auth
- Authorization: Role-based permissions with wildcard support
- SSL/TLS: Full SSL/TLS and mTLS support
- Rate Limiting: Configurable request rate limiting
- Security Headers: Automatic security header injection
Examples
The mcp_proxy_adapter/examples/ directory contains comprehensive examples for different use cases:
- Basic Framework: Simple HTTP server setup
- Full Application: Complete application with custom commands and hooks
- Security Testing: Comprehensive security test suite
- Certificate Generation: SSL/TLS certificate management
Development
The project follows a modular architecture:
mcp_proxy_adapter/api/- FastAPI application and handlersmcp_proxy_adapter/commands/- Command system and built-in commandsmcp_proxy_adapter/core/- Core functionality and utilitiesmcp_proxy_adapter/config.py- Configuration management
License
This project is licensed under the MIT License.
Support
For issues and questions, please contact vasilyvz@gmail.com.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_proxy_adapter-6.4.28.tar.gz.
File metadata
- Download URL: mcp_proxy_adapter-6.4.28.tar.gz
- Upload date:
- Size: 252.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01558f59d61a7ee709099c89e3d1bf75fcc26fcb1da333b7440bf1eb3d850814
|
|
| MD5 |
12569cccbf12ffddf31c97f3bd8e695b
|
|
| BLAKE2b-256 |
c8361ad1f62e21d9a4b3c1197c5f42518ab709afdda51b2231780e120f58cd74
|
File details
Details for the file mcp_proxy_adapter-6.4.28-py3-none-any.whl.
File metadata
- Download URL: mcp_proxy_adapter-6.4.28-py3-none-any.whl
- Upload date:
- Size: 321.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ced66eb07a964351abc2c3e04f43b2e13679ea042a7fbc5f5afb0d844526731
|
|
| MD5 |
d6a1c789a194f31da1944be3e5f1e4e9
|
|
| BLAKE2b-256 |
f2059649f7030518829d4aafb64ebac849cd28e1a1bbfdd1a900ceea409566bb
|