Metadata-Version: 2.4
Name: mcparmory-query
Version: 1.0.0
Summary: MCP server for Query API
Project-URL: Homepage, https://mcparmory.com
Project-URL: Repository, https://github.com/mcparmory/registry
License-Expression: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: fastmcp>=3.1.0
Requires-Dist: httpx<1.0.0,>=0.27.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
Description-Content-Type: text/markdown

# Query API MCP Server

Base URL: https://mixpanel.com/api/query
## API Info
- **API License:** MIT — [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)

---

## Install

### Quick Start (recommended)

```bash
BASIC_AUTH_USERNAME=YOUR_BASIC_AUTH_USERNAME \
BASIC_AUTH_PASSWORD=YOUR_BASIC_AUTH_PASSWORD \
uvx mcparmory-query
```

### With pip

```bash
pip install mcparmory-query
BASIC_AUTH_USERNAME=YOUR_BASIC_AUTH_USERNAME \
BASIC_AUTH_PASSWORD=YOUR_BASIC_AUTH_PASSWORD \
mcparmory-query
```

### MCP Client Configuration

Add to your MCP client config (e.g. Claude Desktop, Cursor, Codex):

```json
{
  "mcpServers": {
    "query": {
      "command": "uvx",
      "args": ["mcparmory-query"],
      "env": {
        "BASIC_AUTH_USERNAME": "YOUR_BASIC_AUTH_USERNAME",
        "BASIC_AUTH_PASSWORD": "YOUR_BASIC_AUTH_PASSWORD"
      }
    }
  }
}
```

---

## Credentials

Set the following environment variables (via MCP client `env` config, shell export, or `.env` file):

- `BASIC_AUTH_USERNAME` — Username
- `BASIC_AUTH_PASSWORD` — Password
Do not commit credentials to version control.

---

## Run Locally

**First**, configure your credentials in `.env` (see [Credentials](#credentials) above).

```bash
pip install -r requirements.txt
python server.py
```

## Connect MCP Client

Edit `.mcp.json` and replace `<SERVER_DIR>` with the absolute path to this directory, then add to your MCP client configuration.

Example (if server is at `/home/user/mcp-servers/query`):
```json
{
  "mcpServers": {
    "query": {
      "command": "python",
      "args": ["/home/user/mcp-servers/query/server.py"]
    }
  }
}
```

---

## Docker

**First**, configure your credentials in `.env` (see [Credentials](#credentials) above).

```bash
docker build -t query .
docker run -p 8000:8000 --env-file .env query
```

**Before running**, make sure ports 8000 are free.For Docker, use SSE transport in your MCP client config:
```json
{
  "mcpServers": {
    "query": {
      "type": "sse",
      "url": "http://localhost:8000/sse"
    }
  }
}
```

---

## Files

- `.env` - Credentials and server configuration
- `.mcp.json` - MCP client config template
- `Dockerfile` - Container build
- `LICENSE` - MIT license for this generated code
- `requirements.txt` - Python dependencies
- `README.md` - This file
- `server.py` - MCP server entry point
- `_auth.py` - Authentication handlers
- `_models.py` - Request/response models
- `_validators.py` - Input validation

**Note:** Files starting with `.` are hidden by default on macOS/Linux. Use `ls -a` in terminal or enable "Show hidden files" in your file manager to see `.env` and `.mcp.json`.

---

<p align="center">
  <a href="https://mcpblacksmith.com"><img src="https://wjxawmrpsfuivlicnepc.supabase.co/storage/v1/object/public/newsletter/logo-blacksmith.png" alt="MCP Blacksmith" height="48"></a>
  <br>
  <sub>Generated by <a href="https://mcpblacksmith.com">MCP Blacksmith</a> · <a href="https://docs.mcpblacksmith.com/quickstart">Quickstart docs</a> · <a href="mailto:contact@mcpblacksmith.com">Report a bug</a></sub>
</p>
