Metadata-Version: 2.4
Name: mcp-smart-proxy
Version: 0.1.1
Summary: Token-efficient MCP server gateway with semantic tool search
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: mcp>=1.0.0
Requires-Dist: httpx[asyncio]>=0.27.0
Requires-Dist: sentence-transformers>=3.0.0
Requires-Dist: chromadb>=0.5.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: click>=8.1.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: watchdog>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: black>=24.0.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Requires-Dist: flake8>=7.0.0; extra == "dev"
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == "openai"
Provides-Extra: qdrant
Requires-Dist: qdrant-client>=1.9.0; extra == "qdrant"
Provides-Extra: pgvector
Requires-Dist: asyncpg>=0.29.0; extra == "pgvector"
Requires-Dist: pgvector>=0.2.0; extra == "pgvector"

# mcp-smart-proxy

mcp-name: io.github.daedalus/mcp-smart-proxy


> Token-efficient MCP server gateway with semantic tool search

## Install

```bash
pip install -e .
```

## Usage

```python
from mcp_smart_proxy import MCPSmartProxyServer, load_config

config = load_config("proxy.yaml")
server = MCPSmartProxyServer(config)
```

## CLI

```bash
mcp-smart-proxy serve --config proxy.yaml
mcp-smart-proxy serve --config proxy.yaml --watch ./servers/
mcp-smart-proxy index --config proxy.yaml
mcp-smart-proxy status --config proxy.yaml
mcp-smart-proxy validate --config proxy.yaml
```

The `--watch` option monitors a directory for `.yaml`, `.yml`, or `.json` files containing
upstream server configurations. Add, modify, or remove files to dynamically update the
available servers at runtime.

## API

### Config

- `load_config(path)` - Load configuration from YAML or JSON file
- `validate_config(path)` - Validate configuration file

### Server

- `MCPSmartProxyServer` - Main server class

## Development

```bash
pip install -e ".[dev]"
pytest
ruff format src/ tests/
ruff check src/ tests/
mypy src/
```
