Skip to main content
Glama
sarptandoven

Generalized MCP Server

by sarptandoven
README.md
# Generalized MCP Server

This project implements a generalized **Model Control Plane (MCP)** server that dynamically exposes the full surface area of arbitrary Python SDKs via an agent‐friendly gRPC interface.

Current reference adapters:

1. **Kubernetes** – `kubernetes-client/python`
2. **GitHub** – `PyGithub`
3. **Azure** – selected services from `azure-sdk-for-python`

## Quick Start

```bash
# Clone & enter repo
git clone <repo-url> generalized_mcp && cd generalized_mcp

# Create virtualenv
python -m venv .venv && source .venv/bin/activate

# Install deps
pip install -r requirements.txt

# Generate gRPC stubs (once per proto change)
make proto

# Run MCP server (listens on :50051 by default)
python -m src.server
```

## Environment Variables

| Variable | Description |
|----------|-------------|
| `OPENAI_API_KEY` | API key for calling OpenAI models |
| `OPENAI_MODEL` | (optional) Model name, defaults to `gpt-3.5-turbo-1106` |
| `KUBECONFIG` | Path to kubeconfig for Kubernetes adapter |
| `GITHUB_TOKEN` | PAT for GitHub adapter |
| `AZURE_CLIENT_ID` / `AZURE_TENANT_ID` / `AZURE_CLIENT_SECRET` | Credentials for Azure SDK |

## Roadmap

- [ ] Reflective adapter loading for arbitrary SDKs
- [ ] Streaming function call extraction via LLM
- [ ] Full MCP compliance tests