Dynamic MCP proxy server with progressive discovery and lazy loading
Project description
MCP Dynamic Proxy
A dynamic MCP (Model Context Protocol) proxy server that provides progressive discovery and lazy loading of MCP servers, reducing initial context size from 20-300 tools to just 3 core tools.
How it works
Assistant (Cursor) -MCP-> MCP Dynamic Proxy -MCP-> MCP Servers (AWS, PostgreSQL, etc.)
The proxy exposes only 3 core tools that let you discover and interact with any number of configured MCP servers without loading them all upfront.
Tools
mcp_list_servers
List all configured MCP servers with their metadata (id, description, tags, principal tools).
Parameters: None
Returns: {count: int, servers: [...]}
mcp_list_tools
List all tools from a specific MCP server with their JSON schemas. Automatically loads the server if needed.
Parameters:
server_id(required): The MCP server ID (e.g.,"aws-knowledge-mcp-server")
Returns: {server_id: str, status: "loaded" | "error", tool_count: int, tools: [...], error?: str}
mcp_execute_tool
Execute a tool from a specific MCP server. Automatically loads the server if needed.
Parameters:
server_id(required): The MCP server IDtool_name(required): The tool name (e.g.,"aws___read_documentation")arguments(required): Dictionary matching the tool's JSON schema
Returns: {server_id: str, tool_name: str, status: "success" | "error", result?: any, error?: str}
Configuration
config/mcp.json
Create a config/mcp.json file with your MCP server configurations:
{
"version": "1.0",
"mcpServers": {
"aws-knowledge-mcp-server": {
"description": "AWS knowledge base with documentation, best practices, and service information",
"tags": ["aws", "documentation", "cloud", "knowledge"],
"tools": ["aws___read_documentation", "aws___search_documentation"],
"command": "uvx",
"args": ["fastmcp", "run", "https://knowledge-mcp.global.api.aws"]
},
"microsoft.docs.mcp": {
"description": "Microsoft Learn documentation and Azure documentation access",
"tags": ["microsoft", "azure", "documentation", "learn"],
"tools": ["microsoft_docs_search", "microsoft_code_sample_search", "microsoft_docs_fetch"],
"command": "uvx",
"args": ["fastmcp", "run", "https://learn.microsoft.com/api/mcp"]
}
}
}
Configuration fields:
description: Human-readable descriptiontags: List of tags for organizationtools: Optional list of principal tool names (not exhaustive)command: Command to start the MCP serverargs: Arguments for the commandenv: Optional environment variables (supports${VAR_NAME}expansion)
Cursor Configuration
Add to your Cursor MCP configuration:
{
"mcpServers": {
"mcp-dynamic-proxy": {
"command": "uvx",
"args": ["mcp-dynamic-proxy"],
"env": {
"MCP_CONFIG_PATH": "/path/to/config/mcp.json"
}
}
}
}
License
MIT
Project details
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_dynamic_proxy-0.1.6.tar.gz.
File metadata
- Download URL: mcp_dynamic_proxy-0.1.6.tar.gz
- Upload date:
- Size: 27.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f0e03e4eb8ef4926159d9cce7c3eecf8ff18ded6ae2fd6534b4db1317caa1d2
|
|
| MD5 |
3d2402bc2248e3b93ba9630ad8af2836
|
|
| BLAKE2b-256 |
15142cc0eca1ad64e7db6128987ba85e73be0d47c7cbbe26a02d7a0c87deae52
|
File details
Details for the file mcp_dynamic_proxy-0.1.6-py3-none-any.whl.
File metadata
- Download URL: mcp_dynamic_proxy-0.1.6-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1c25df829f8dc787edd3d7a8c7b27d2a43e3c0f8b8f096ac183f2331df04ad4
|
|
| MD5 |
6b06c13ae02be9bbc312e93a67cb7d52
|
|
| BLAKE2b-256 |
3ed9c80891c22ac5ed031c499b6c3e03284ef52aecedb73b4672bdeea5efa814
|