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

MCP DROSPRサーバー

Perl::Criticを使用してPerlコードを解析するためのMCPサーバー。

ツール

DROSPR_JARVIS

テストツール - ウェルカムメッセージを返します。

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

結果: "MCP DROSPRからこんにちは! :)"

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
    }
  }
}

Related MCP server: mcp-lint-tools

⚠️ 重要: なぜ code パラメータのみなのか

MCPは常にリモートで動作します! サーバーは別のコンピューター上のDockerで実行されています。

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

問題:

  • LLMが C:\project\script.pl というパスを受け取る

  • LLMがファイルの読み込みを「エミュレート」する

  • target: "C:\project\script.pl" でMCPを起動する

  • 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)

システムプロンプトに以下を追加してください:

ПРОВЕРКА 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の制限

  • ディレクトリの解析は、コンテナ内でアクセス可能な場合にのみ可能です

  • プロジェクト全体の監査を行うには、ファイルを1つずつ送信してください

Related MCP Connectors

Related MCP Servers