{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/header.png\" alt=\"Mixpeek MCP Server\" width=\"800\" />\n</p>\n\n<!-- mcp-name: io.github.mixpeek/mcp-server -->\n\n## Mixpeek MCP Server\n\nA lightweight, production-friendly Model Context Protocol (MCP) server for Mixpeek that:\n\n- Auto-loads Mixpeek's OpenAPI spec and exposes endpoints as MCP tools\n- Supports local and hosted use (bring-your-own API key)\n- Injects `Authorization` and `X-Namespace` headers\n- Includes rate limits, timeouts, and redacted logs\n- Ships with Docker and simple configuration\n\n### Quickstart\n\n1) Install\n\nPython (PyPI):\n```bash\n# global (recommended)\npipx install mixpeek-mcp\n\n# or in a venv\npython -m venv .venv && source .venv/bin/activate\npip install mixpeek-mcp\n```\n\nnpm (Node):\n```bash\n# run once\nnpx @mixpeek/mcp\n\n# or install globally\nnpm i -g @mixpeek/mcp\n```\n\nHomebrew (macOS):\n```bash\n# tap and install (once the tap is live)\nbrew tap mixpeek/tap https://github.com/mixpeek/homebrew-tap\nbrew install mixpeek-mcp\n\n# temporary local formula (dev/testing):\nbrew install --build-from-source Formula/mixpeek-mcp.rb\n```\n\n2) Configure (env or your MCP client secret store)\n\n```bash\ncp env.sample .env\n# edit as needed\n```\n\nEnv vars:\n\n- `MIXPEEK_API_KEY`: Your Mixpeek API key (optional if endpoints don't require auth)\n- `MIXPEEK_API_BASE`: Default `https://api.mixpeek.com`\n- `MIXPEEK_OPENAPI_URL`: Defaults to `<API_BASE>/openapi.json` (or `/docs/openapi.json`)\n- `MIXPEEK_NAMESPACE`: Optional namespace value to send via `X-Namespace`\n- `MCP_RATE_MAX_CALLS`: Default `20` per `MCP_RATE_PER_SECONDS`\n- `MCP_RATE_PER_SECONDS`: Default `10`\n- `MCP_CONNECT_TIMEOUT`: Default `5`\n- `MCP_READ_TIMEOUT`: Default `30`\n\n3) Run locally (stdio)\n\n```bash\n# PyPI\nmixpeek-mcp\n\n# from source\npython server.py\n\n# npm\nmixpeek-mcp\n```\n\nYour MCP client (e.g., Claude Desktop) can attach to this server via stdio.\n\n### Docker\n\n```bash\ndocker build -t mixpeek-mcp:latest .\ndocker run --rm -it \\\n  -e MIXPEEK_API_KEY=sk_... \\\n  -e MIXPEEK_NAMESPACE=your_namespace \\\n  mixpeek-mcp:latest\n```\n\nOr pull and run (once published):\n```bash\ndocker run --rm -it \\\n  -e MIXPEEK_API_KEY=sk_... \\\n  -e MIXPEEK_NAMESPACE=your_namespace \\\n  ghcr.io/mixpeek/mcp:latest\n```\n\n### Distribution\n\n- npm: `@mixpeek/mcp` → `https://www.npmjs.com/package/@mixpeek/mcp`\n- PyPI: `mixpeek-mcp` → `https://pypi.org/project/mixpeek-mcp/` (publish pending)\n- Docker Hub: `mixpeek/mcp` (pending push), GHCR: `ghcr.io/mixpeek/mcp` (pending push)\n- Homebrew: `mixpeek/tap/mixpeek-mcp` (tap repo to be created)\n\n### Submit to Docker MCP Registry\n\nWe prepared `registry.json` compatible with the [Official Docker MCP Registry](https://github.com/docker/mcp-registry/tree/main). To submit:\n\n1) Fork the registry and create a new entry under the appropriate directory per their CONTRIBUTING guide.\n2) Include our `registry.json` (update Docker image reference if you publish under a different org/tag).\n3) Open a PR. Upon approval, it will appear in the MCP catalog and Docker Desktop's MCP Toolkit.\n\n### Configuration\n\nRequired for write-protected endpoints:\n- `MIXPEEK_API_KEY`: `Authorization: Bearer <key>`\n\nOptional:\n- `MIXPEEK_NAMESPACE`: sets `X-Namespace` for isolation\n- `MIXPEEK_API_BASE`: defaults to `https://api.mixpeek.com`; testing: `https://server-xb24.onrender.com`\n- `MIXPEEK_OPENAPI_URL`: defaults to `<API_BASE>/openapi.json` (or `/docs/openapi.json`)\n- `MCP_RATE_MAX_CALLS` / `MCP_RATE_PER_SECONDS`: simple token bucket\n- `MCP_CONNECT_TIMEOUT` / `MCP_READ_TIMEOUT`: request timeouts\n\n### How it works\n\n- Loads OpenAPI spec and maps GET/POST JSON endpoints to tools using `operationId`\n- Tool arguments accept top-level query parameters or a `query`/`body` envelope\n- Forwards requests to Mixpeek with configured headers\n- Provides small allowlist (configurable) and redacts secrets in logs\n\n### Testing\n\nUnit tests:\n```bash\npip install -r requirements.txt\npytest -q\n```\n\nLive test (optional):\n```bash\nexport LIVE_MIXPEEK_API_KEY=sk_...\nexport LIVE_MIXPEEK_OPENAPI_URL=https://server-xb24.onrender.com/docs/openapi.json\nexport LIVE_MIXPEEK_API_BASE=https://server-xb24.onrender.com\npytest -q tests/test_live_integration.py\n```\n\n### Using with MCP clients\n\n- This server uses MCP stdio transport and the official server interface, compatible with common MCP clients.\n- Start the server, then point your MCP client to the stdio command (`mixpeek-mcp`).\n\n### References\n\n- Mixpeek docs: `https://docs.mixpeek.com/overview/introduction`\n- Mixpeek OpenAPI: `https://api.mixpeek.com/docs/openapi.json`\n - MCP overview: `https://modelcontextprotocol.io/docs/getting-started/intro`\n\n### Notes\n\n- For production hosting, front with HTTPS, add SSO/session issuance, per-tenant rate limits, and audit logs without bodies/headers. Keep local stdio as the default; hosted HTTP/SSE can be added later.\n\n\n",
  "bytes": 4818,
  "sha": "90cadaaec16e3a5a7946b8dc5c70a28274cfcbf3a321b19301e84266fe069b7f",
  "repo_slug": "mixpeek/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mixpeek_mcp_server_6c3e5b28/readme"
}