{
  "markdown": "<!-- mcp-name: io.github.fgasparetto/chipsai-mcp -->\n\n# ChipsAI MCP Server\n\nMCP (Model Context Protocol) server for [ChipsBot](https://bot.chipsbuilder.com) — manage chatbots, conversations, documents, bot-to-bot routing, RAG configuration, and AI models from Claude Code, Claude Desktop, or any MCP client.\n\n## Requirements\n\n- Python 3.11+\n- [uv](https://docs.astral.sh/uv/) (recommended) or pip\n- A ChipsBot account ([sign up](https://bot.chipsbuilder.com))\n\n## Quick Start\n\nNo installation needed with `uv`:\n\n```bash\nuv run --script server.py\n```\n\nOr install manually:\n\n```bash\npip install \"mcp[cli]\" httpx\npython server.py\n```\n\n## Configuration\n\nThe server uses environment variables for authentication. **API key is the recommended method** — generate one from your [ChipsBot dashboard](https://bot.chipsbuilder.com/dashboard/settings/).\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `CHIPSAI_API_KEY` | Your ChipsAI API key (recommended) | — |\n| `CHIPSAI_API_URL` | API base URL | `https://ai.chipsbuilder.com` |\n\n<details>\n<summary>Legacy: username/password authentication</summary>\n\nIf you don't have an API key, you can use username/password instead:\n\n| Variable | Description |\n|----------|-------------|\n| `CHIPSAI_USERNAME` | Your ChipsAI username |\n| `CHIPSAI_PASSWORD` | Your ChipsAI password |\n\n</details>\n\n### Claude Code\n\nAdd to your project's `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"chipsai\": {\n      \"command\": \"uvx\",\n      \"args\": [\"chipsai-mcp\"],\n      \"env\": {\n        \"CHIPSAI_API_KEY\": \"chipsai_your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"chipsai\": {\n      \"command\": \"uvx\",\n      \"args\": [\"chipsai-mcp\"],\n      \"env\": {\n        \"CHIPSAI_API_KEY\": \"chipsai_your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Chatbot Management\n\n| Tool | Description |\n|------|-------------|\n| `list_chatbots` | List all chatbots for the authenticated user |\n| `get_chatbot` | Get full chatbot details (prompt, model, colors, etc.) |\n| `create_chatbot` | Create a new chatbot (returns embed script tag) |\n| `update_chatbot` | Update chatbot fields (name, prompt, model, theme, colors, etc.) |\n| `delete_chatbot` | Soft-delete (deactivate) a chatbot |\n| `get_chatbot_config` | Get public widget configuration |\n| `get_chatbot_analytics` | Get analytics: messages, sessions, daily stats, devices, countries |\n\n### Documents (RAG)\n\n| Tool | Description |\n|------|-------------|\n| `upload_document` | Upload PDF/DOC/DOCX to a chatbot's knowledge base (LlamaParse) |\n\n### Conversations\n\n| Tool | Description |\n|------|-------------|\n| `list_conversations` | List conversations, optionally filtered by chatbot |\n| `create_conversation` | Create a new conversation |\n| `get_conversation` | Get conversation details |\n| `update_conversation` | Update conversation title |\n| `delete_conversation` | Delete a conversation and all messages |\n| `get_conversation_messages` | Get all messages from a conversation |\n\n### Widget History\n\n| Tool | Description |\n|------|-------------|\n| `list_conversation_history` | List widget conversation sessions (paginated, filter by chatbot) |\n| `get_session_messages` | Get all messages from a widget conversation session |\n\n### Chat\n\n| Tool | Description |\n|------|-------------|\n| `send_message` | Send a message and get AI response (auto-creates conversation) |\n\n### Bot-to-Bot Connections\n\n| Tool | Description |\n|------|-------------|\n| `connect_bot` | Connect a specialist bot to an orchestrator bot (role-based routing) |\n| `list_bot_connections` | List all specialist bots connected to an orchestrator |\n| `update_bot_connection` | Update role, label, description, or active status of a connection |\n| `disconnect_bot` | Remove a bot-to-bot connection |\n\n### RAG Configuration\n\n| Tool | Description |\n|------|-------------|\n| `get_rag_config` | Get RAG config: threshold, chunk settings, HyDE, L2, reranker, system instructions |\n| `update_rag_config` | Update RAG config (threshold, chunk_size, chunk_strategy, HyDE, L2, reranker, etc.) |\n\n### User & Models\n\n| Tool | Description |\n|------|-------------|\n| `get_user_plan` | Get credit balance, unlimited status, usage stats |\n| `list_ai_models` | List available AI models by provider with credit costs |\n\n## RAG Pipeline\n\nChipsBot supports a full Retrieval-Augmented Generation pipeline configurable per-bot:\n\n- **Semantic routing (L1):** pgvector + Jina Embeddings v3 — routes queries to the best specialist based on cosine similarity (HNSW index)\n- **HyDE:** for sparse/short queries, generates a hypothetical answer with Haiku and re-embeds it for better retrieval\n- **Chunk injection (L2):** at response time, injects only the top-K relevant KB chunks instead of the full prompt — reduces token usage, improves quality\n- **Reranking:** optional Jina cross-encoder reranker (`jina-reranker-v2-base-multilingual`) applied after cosine retrieval\n- **Chunking strategies:** `char` (fixed size), `paragraph` (semantic `\\n\\n` split), `sentence` (`.!?` split)\n- **Document upload:** PDF/DOC/DOCX parsed via LlamaParse, extracted text stored as KB\n\nUse `get_rag_config` / `update_rag_config` to tune all parameters per-bot.\n\n## Bot-to-Bot Routing\n\nAn orchestrator bot can route questions to specialist bots based on role/description. The orchestrator detects `[ROUTE:uuid]` tags in its own response and delegates to the matching specialist, passing recent chat history as context.\n\nUse `connect_bot` to link specialists to an orchestrator, `list_bot_connections` to inspect the routing table, and `update_bot_connection` to adjust roles or toggle connections on/off.\n\n## Credit System\n\nChipsAI uses a credit-based pricing model:\n\n| Tier | Credits/msg | Models |\n|------|-------------|--------|\n| **Free** | 0 | Llama 4 Scout, Llama 3.3 70B, Llama 3.1 8B (Groq) |\n| **Economy** | 0.5 | Mistral Nemo, DeepSeek Chat |\n| **Standard** | 1.0 | GPT-4o-mini, Gemini 2.5 Flash, Mistral Small, Claude Haiku 4.5 |\n| **Premium** | 2.0 | GPT-4o, Mistral Large, DeepSeek Reasoner |\n| **Top** | 3.0 | GPT-4.1, Claude Sonnet 4.6, Gemini 2.5 Pro |\n\nCredit packages: **150 credits for €5** | **700 for €20** | **2000 for €50**. Credits never expire. Bring your own API key to use any model for free (no credits consumed).\n\n## Usage Examples\n\nOnce configured, use natural language in Claude:\n\n- *\"List my chatbots\"*\n- *\"Create a chatbot called Support Bot\"*\n- *\"Upload the product catalog PDF to my chatbot\"*\n- *\"Send a test message to my chatbot\"*\n- *\"Show analytics for the last 7 days\"*\n- *\"Change the chatbot model to Claude Sonnet 4.6\"*\n- *\"What's my credit balance?\"*\n- *\"What AI models are available?\"*\n- *\"Connect the billing bot as a specialist of my main orchestrator\"*\n- *\"List all specialist bots connected to my orchestrator\"*\n- *\"Show the RAG config for my chatbot\"*\n- *\"Set the RAG threshold to 0.5 and enable reranking\"*\n- *\"Enable L2 chunk injection with top_k=5\"*\n\n## Authentication\n\n**API Key (recommended):** Set `CHIPSAI_API_KEY` with a key generated from your dashboard. The key is sent as a Bearer token — no token management needed.\n\n**JWT (legacy):** If using username/password, tokens are obtained via JWT and refreshed transparently.\n\n## License\n\nMIT\n",
  "bytes": 7292,
  "sha": "e77e4415ee61b75ec4a7535eaab8b28952f3bedb3ab28702978d8a6c92c04ec4",
  "repo_slug": "fgasparetto/chipsai-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_fgasparetto_chipsai_mcp_1f1a7443/readme"
}