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 selector for element to click

puppeteer_evaluate

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

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

    JavaScript code to execute

puppeteer_fill

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

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

    CSS selector for input field

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

    Value to fill

puppeteer_hover

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

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

    CSS selector for element to hover

puppeteer_navigate

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

Параметры
  • allowDangerousboolean

    Allow dangerous LaunchOptions that reduce security. When false, dangerous args like --no-sandbox will throw errors. Default false.

  • launchOptionsobject

    PuppeteerJS LaunchOptions. Default null. If changed and not null, browser restarts. Example: { headless: true, args: ['--no-sandbox'] }

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

    URL to navigate to

puppeteer_screenshot

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

Параметры
  • encodedboolean

    If true, capture the screenshot as a base64-encoded data URI (as text) instead of binary image content. Default false.

  • heightnumber

    Height in pixels (default: 600)

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

    Name for the screenshot

  • selectorstring

    CSS selector for element to screenshot

  • widthnumber

    Width in pixels (default: 800)

puppeteer_select

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

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

    CSS selector for element to select

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

    Value to select

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

hyperbrowserai/mcp

hyperbrowserai/mcp

MCP сервер Hyperbrowser для скрапинга, краулинга и извлечения структурированных данных. Включает браузерные агенты OpenAI CUA и Claude. Для веб-автоматизации и сбора данных LLM.

TypeScript789
Playwright MCP

Playwright MCP

официальный

MCP сервер для браузерной автоматизации на основе Playwright. Использует structured accessibility snapshots вместо скриншотов, что делает его быстрым и LLM-friendly. Подходит для агентов, тестирования и автономных сценариев без vision-моделей.

TypeScript36983
Supabase MCP

Supabase MCP

официальный

Этот MCP сервер подключает проекты Supabase к AI-ассистентам, например Cursor и Claude. Он позволяет управлять таблицами, выполнять SQL, работать с Edge Functions и конфигурацией прямо из чата. Пол...

TypeScript2901
freema/openclaw-mcp

freema/openclaw-mcp

MCP-сервер для интеграции ИИ-ассистента OpenClaw с Claude.ai. Позволяет делегировать задачи из чата боту Claw, который может запускать Claude Code и другие инструменты. Подходит для оркестрации нес...

TypeScript184
mzxrai/mcp-webresearch

mzxrai/mcp-webresearch

MCP-сервер для веб-исследований, подключающий Claude к интернету: поиск в Google, извлечение содержимого страниц, создание скриншотов и трекинг сессии. Полезен, чтобы получать актуальную информацию...

JavaScript300
dan1d/cobroya

dan1d/cobroya

CobroYa — MCP-сервер для интеграции Mercado Pago в AI-агенты и чат-боты. Создавайте ссылки, ищите транзакции, возвращайте платежи через Telegram, WhatsApp или API. Подходит для автоматизации учета ...

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

Лука Никитин