Skip to main content
Glama
LENA-EE
by LENA-EE

MCP DROSPR Server

MCP-сервер для анализа Perl кода с помощью Perl::Critic.

Инструменты

DROSPR_JARVIS

Тестовый инструмент - возвращает приветственное сообщение.

{"method": "tools/call", "params": {"name": "DROSPR_JARVIS", "arguments": {}}}

Результат: "Привет от MCP ДРОСПР! :)"

perlcritic_analyze

Анализирует Perl код и возвращает структурированный отчёт.

Параметры:

Параметр

Тип

Описание

code

string

ОБЯЗАТЕЛЬНО - Perl код для анализа

filename

string

Имя файла (для отчёта)

severity

int

Уровень строгости 1-5 (по умолчанию 1)

Пример использования:

{
  "method": "tools/call",
  "params": {
    "name": "perlcritic_analyze",
    "arguments": {
      "code": "use strict;\nopen FILE, 'test.txt';",
      "severity": 1
    }
  }
}

⚠️ Важно: Почему только code параметр

MCP всегда работает удалённо! Сервер запущен в Docker на другом компьютере.

┌─────────────────┐         ┌─────────────────┐
│   Компьютер      │         │   MCP Сервер    │
│   разработчика  │   HTTP   │   (Docker)      │
│                 │  ──────> │                 │
│   Файл:         │          │   Нет доступа   │
│   C:\project\    │          │   к файловой    │
│   script.pl     │          │   системе!      │
└─────────────────┘          └─────────────────┘

Проблема:

  • LLM получает путь C:\project\script.pl

  • LLM "эмулирует" чтение файла

  • Запускает MCP с target: "C:\project\script.pl"

  • MCP не видит этот файл! Он на другом компьютере.

Решение: LLM должен:

  1. Прочитать файл реально

  2. Отправить содержимое через параметр code

Правильный флоу для LLM:

Пользователь: "Проверь C:\project\script.pl"
     ↓
LLM: Читаю файл C:\project\script.pl...
     ↓
LLM: Отправляю в MCP:
     {
       "code": "use strict;\nuse warnings;\n...",
       "filename": "script.pl"
     }

Настройка LLM (Kiloterm/Cline)

Добавь в system prompt:

ПРОВЕРКА PERL КОДА:
1. Всегда читай файл ПОЛНОСТЬЮ перед анализом
2. Используй ТОЛЬКО параметр 'code' для perlcritic_analyze
3. НИКОГДА не используй параметр 'target' - он не работает для удалённого MCP

Запуск

Docker (рекомендуется)

# Скачать образ
docker pull lenchik8/simple_mcp:latest

# Запустить
docker run -d --name mcp-DROSPR_JARVIS -p 8000:8000 lenchik8/simple_mcp:latest

Локальная сборка

docker build -t mcp-DROSPR_JARVIS .
docker run -p 8000:8000 mcp-DROSPR_JARVIS

Из исходников

pip install -e .
python server.py

Структура проекта

mcp_DROSPR_JARVIS/
├── server.py          # FastAPI сервер
├── tools/
│   └── perlcritic.py  # Модуль анализа Perl::Critic
├── Dockerfile         # Docker образ
├── pyproject.toml     # Python зависимости
└── docs/             # Документация

Подключение к MCP клиенту

{
  "mcpServers": {
    "DROSPR_JARVIS": {
      "url": "http://<IP>:8000",
      "transport": "sse"
    }
  }
}

Docker Hub

https://hub.docker.com/r/lenchik8/simple_mcp

GitHub

https://github.com/LENA-EE/simple_mcp


Примеры промптов для анализа Perl кода

Простой анализ файла

Проверь этот Perl файл на ошибки:
/path/to/script.pl

Анализ с мягким уровнем (только критичные ошибки)

Проверь код, но покажи только серьёзные проблемы (severity 4-5)

Анализ кода (отправка кода напрямую)

Проверь этот Perl код:
use strict;
...

Анализ проекта

Проанализируй каждый .pl файл в папке /src/

Ограничения удалённого MCP

  • Анализ директорий возможен только если они доступны внутри контейнера

  • Для полного аудита проекта - отправляй код файлов по одному

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LENA-EE/simple_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server