<!-- https://avertgate.com/tr/docs/mcp-proxy · Entegrasyon -->

# MCP proxy

MCP proxy, ajan istemcisi ile gerçek MCP sunucusu arasında durur. İstemci AvertGate'e bağlanır; AvertGate her `tools/call` isteğini denetleyip upstream'e iletir.

## Tek upstream

<!-- terminal -->
```
UPSTREAM_COMMAND="npx" \
UPSTREAM_ARGS="-y @modelcontextprotocol/server-filesystem /data" \
npx @avertgate/cli start
```

## Birden çok upstream

`UPSTREAM_SERVERS` bir JSON dizisi, standart `mcpServers` sözlüğü ya da bir JSON dosyası yolu kabul eder:

<!-- .env -->
```
UPSTREAM_SERVERS='{
  "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/data"] },
  "github":     { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] }
}'
```

Araç adları çakışırsa ikincisi `sunucu__araç` biçiminde ad alanına alınır ve politikada bu adla anılır.

## İstemci yapılandırması

MCP istemcinizde gerçek sunucu yerine AvertGate'i komut olarak tanımlayın:

<!-- mcp.json -->
```json
{
  "mcpServers": {
    "governed": {
      "command": "npx",
      "args": ["@avertgate/cli", "start"],
      "env": { "UPSTREAM_COMMAND": "npx", "UPSTREAM_ARGS": "-y @modelcontextprotocol/server-filesystem /data" }
    }
  }
}
```

## Neler denetlenir?

- `tools/call`: tam istek/yanıt döngüsü.
- `resources`: politikadaki `resources` kuralları (`uri_pattern`).
