3choff/mcp-chatbot

3choff/mcp-chatbot

от 3choff
CLI-чатбот подключает инструменты через MCP серверы, совместим с любым LLM (OpenAI API). Автоматически находит инструменты в конфигурации и добавляет в промпт. Для изучения MCP и создания чат-ботов.

MCP Chatbot

This chatbot example demonstrates how to integrate the Model Context Protocol (MCP) into a simple CLI chatbot. The implementation showcases MCP's flexibility by supporting multiple tools through MCP servers and is compatible with any LLM provider that follows OpenAI API standards.

If you find this project helpful, don’t forget to ⭐ star the repository or buy me a ☕ coffee.

Key Features

  • LLM Provider Flexibility: Works with any LLM that follows OpenAI API standards (tested with Llama 3.2 90b on Groq and GPT-4o mini on GitHub Marketplace).
  • Dynamic Tool Integration: Tools are declared in the system prompt, ensuring maximum compatibility across different LLMs.
  • Server Configuration: Supports multiple MCP servers through a simple JSON configuration file like the Claude Desktop App.

Requirements

  • Python 3.10
  • python-dotenv
  • requests
  • mcp
  • uvicorn

Installation

  1. Clone the repository:

    git clone https://github.com/3choff/mcp-chatbot.git
    cd mcp-chatbot
    
  2. Install the dependencies:

    pip install -r requirements.txt
    
  3. Set up environment variables:

    Create a .env file in the root directory and add your API key:

    LLM_API_KEY=your_api_key_here
    
  4. Configure servers:

    The servers_config.json follows the same structure as Claude Desktop, allowing for easy integration of multiple servers. Here's an example:

    {
      "mcpServers": {
        "sqlite": {
          "command": "uvx",
          "args": ["mcp-server-sqlite", "--db-path", "./test.db"]
        },
        "puppeteer": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
        }
      }
    }
    

    Environment variables are supported as well. Pass them as you would with the Claude Desktop App.

    Example:

    {
      "mcpServers": {
        "server_name": {
          "command": "uvx",
          "args": ["mcp-server-name", "--additional-args"],
          "env": {
            "API_KEY": "your_api_key_here"
          }
        }
      }
    }
    

Часто задаваемые вопросы

Инструменты были проиндексированы:
puppeteer_click

Кликает элемент на странице.

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, который нужно кликнуть

puppeteer_evaluate

Выполняет JavaScript в консоли браузера.

Параметры
  • scriptstringобязательный

    Что именно должен делать JavaScript-код? Опишите задачу подробнее: например, работа с DOM, обработка данных, взаимодействие с API, вычисления, анимации или что-то другое. Также уточните окружение (браузер или Node.js), чтобы я дал корректный код.

puppeteer_fill

Заполняет поле ввода.

Параметры
  • selectorstringобязательный

    CSS-селектор для поля ввода

  • valuestringобязательный

    Заполняемое значение

puppeteer_hover

Наводит курсор на элемент на странице.

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, на который нужно навести курсор

puppeteer_navigate

Переходит по URL.

Параметры
  • allowDangerousboolean

    Разрешает опасные параметры запуска, снижающие безопасность. Если значение false, опасные аргументы, такие как --no-sandbox, будут вызывать ошибки. По умолчанию false.

  • launchOptionsobject

    PuppeteerJS LaunchOptions. По умолчанию null. Если изменить и задать не null, браузер перезапускается. Пример: { headless: true, args: ['--no-sandbox'] }

  • urlstringобязательный

    URL для перехода

puppeteer_screenshot

Делает снимок экрана текущей страницы или конкретного элемента.

Параметры
  • encodedboolean

    Если true, сохраняйте скриншот как data URI в кодировке base64 (в виде текста) вместо двоичных данных изображения. По умолчанию false.

  • heightnumber

    Высота в пикселях (по умолчанию 100)

  • namestringобязательный

    Название для скриншота

  • selectorstring

    CSS-селектор для элемента для скриншота

  • widthnumber

    Ширина в пикселях (по умолчанию 100)

puppeteer_select

Выбирает элемент на странице с тегом Select.

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, который нужно выбрать

  • valuestringобязательный

    Значение для выбора

2025.5.12основная
2025.4.7
0.6.2
0.5.1
0.5.0
0.3.0
0.2.0
0.1.0

Выберите клиент, чтобы установить 3choff/mcp-chatbot:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "3choff-mcp-chatbot-3wm7": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"3choff-mcp-chatbot-3wm7\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-puppeteer\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add 3choff-mcp-chatbot-3wm7 -- npx -y @modelcontextprotocol/server-puppeteer

Либо через JSON-конфиг:

claude mcp add-json 3choff-mcp-chatbot-3wm7 "{\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-puppeteer\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add 3choff-mcp-chatbot-3wm7 -- npx -y @modelcontextprotocol/server-puppeteer

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.3choff-mcp-chatbot-3wm7]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-puppeteer"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите 3choff/mcp-chatbot, а в поле команды запуска — строку ниже:
npx -y @modelcontextprotocol/server-puppeteer

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например 3choff-mcp-chatbot-3wm7.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: 3choff-mcp-chatbot-3wm7
    command: npx
    args:
      - "-y"
      - "@modelcontextprotocol/server-puppeteer"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "3choff-mcp-chatbot-3wm7": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Похожие MCP-сервера

Робокасса MCP

Робокасса MCP

от theyahia

MCP сервер для Robokassa: создает платежные счета с MD5 подписью и проверяет статус через XML-интерфейс. Полезен разработчикам, интегрирующим оплату в ИИ-агентов или чат-ботов. Включает два инструмента: create_invoice и check_invoice.

TypeScript⭐ 1
cameronrye/openzim-mcp

cameronrye/openzim-mcp

от cameronrye

MCP сервер для офлайн-доступа AI к ZIM-архивам (Wikipedia, Stack Exchange). Предоставляет структурированный поиск, навигацию по разделам и извлечение ссылок с проверкой целостности. Полезен для исследовательских ассистентов и чат-ботов, работающих с офлайн-знаниями.

Python⭐ 145
hugoles/langfuse-mcp

hugoles/langfuse-mcp

от hugoles

Сервер MCP, открывающий Langfuse API для ИИ-ассистентов. Позволяет запрашивать трассировки, оценки, промпты и метрики, не покидая чат. Подходит для отладки ошибок LLM и мониторинга затрат.

TypeScript⭐ 1
hyunjae-labs/lore

hyunjae-labs/lore

от hyunjae-labs

MCP-сервер для семантического поиска по диалогам Claude Code и OpenAI Codex CLI. Находит обсуждения архитектуры, отладки и решений среди сотен сессий — полностью локально, без API-ключей.

TypeScript⭐ 11
nihalxkumar/arch-mcp

nihalxkumar/arch-mcp

от nihalxkumar

MCP сервер для интеграции AI-ассистентов с Arch Linux. Предоставляет доступ к Arch Wiki, AUR и официальным репозиториям, а также инструменты для управления пакетами и мониторинга системы. Полезен для безопасной установки пакетов и изучения Arch.

Python⭐ 61
musepy/genable

musepy/genable

от musepy

Genable — MCP сервер, превращающий текстовый запрос в редактируемые слои Figma: авто-макет, переменные цветов и шрифтов, светлая и темная темы. Полезен дизайнерам и разработчикам для агентных инструментов (Claude Code, Cursor). Совместим с Gemini, Claude, OpenAI.

Astro⭐ 3
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин