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 ДРОСПР! :)"

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)

添加到系统提示词 (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 的限制

  • 仅当目录在容器内可用时,才能进行目录分析

  • 若要进行完整项目审计,请逐个发送文件代码

Related MCP Connectors

Related MCP Servers