Metadata-Version: 2.5
Name: kaleidoscope-mcp
Version: 0.1.0
Summary: Model Context Protocol server for Kaleidoscope: protect code and get a Scope-Score from any AI coding tool.
Project-URL: Homepage, https://kaleidoscopeprotects.com
Project-URL: Repository, https://github.com/ThatBenFella/kaleidoscope
Author: Kaleidoscope Protects Inc.
License: MIT
Keywords: code-protection,mcp,model-context-protocol,obfuscation,reverse-engineering,scope-score,security
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: mcp>=1.2.0
Description-Content-Type: text/markdown

# Kaleidoscope MCP server

Protect your code and get a **Scope-Score** without leaving your AI coding tool.

This is a [Model Context Protocol](https://modelcontextprotocol.io) server that
exposes Kaleidoscope as two tools:

- **`scope_score`** — score how exposed a project is to AI-assisted reverse
  engineering (0–100), no output written.
- **`protect_project`** — harden a project and write the protected build to a
  `.zip`, returning its Scope-Score.

It works in any MCP-capable client: Claude Code, the Claude desktop app, Cursor,
Windsurf, VS Code (GitHub Copilot), Continue, Cline, and others. The protection
runs server-side on your Kaleidoscope account — nothing proprietary is shipped to
the client; only your source is uploaded for protection.

## Prerequisites

- A Kaleidoscope API key (create one in your dashboard at
  https://kaleidoscopeprotects.com).
- Python 3.10+ with [`uv`](https://docs.astral.sh/uv/) (recommended) or `pipx`.

## Run it

Until it's published to PyPI, run from source:

```bash
cd integrations/mcp-server
uv run kaleidoscope-mcp      # or: pip install -e . && kaleidoscope-mcp
```

The server speaks over stdio; your client launches it for you using the config
below. Set `KALEIDOSCOPE_API_KEY` in that config (and, if self-hosting,
`KALEIDOSCOPE_API_URL`).

## Client configuration

### Claude Code

```bash
claude mcp add kaleidoscope \
  --env KALEIDOSCOPE_API_KEY=YOUR_KEY \
  -- uvx kaleidoscope-mcp
```

### Cursor — `.cursor/mcp.json`

```json
{
  "mcpServers": {
    "kaleidoscope": {
      "command": "uvx",
      "args": ["kaleidoscope-mcp"],
      "env": { "KALEIDOSCOPE_API_KEY": "YOUR_KEY" }
    }
  }
}
```

### VS Code — `.vscode/mcp.json`

```json
{
  "servers": {
    "kaleidoscope": {
      "command": "uvx",
      "args": ["kaleidoscope-mcp"],
      "env": { "KALEIDOSCOPE_API_KEY": "YOUR_KEY" }
    }
  }
}
```

### Windsurf / Continue / Cline

Use the same shape as Cursor (an `mcpServers` entry with `command`, `args`,
`env`) in that tool's MCP config file.

> Running from source instead of a published package? Replace
> `"command": "uvx", "args": ["kaleidoscope-mcp"]` with
> `"command": "uv", "args": ["--directory", "/path/to/integrations/mcp-server", "run", "kaleidoscope-mcp"]`.

## Try it

In your coding tool, ask:

> "What's the Scope-Score of this project?"  → calls `scope_score`
> "Protect this project before I ship it."    → calls `protect_project`
