Evil MCP Server

使用说明内容(Markdown格式)

  • 项目简介

    • 这是一个基于 MCP(Model Context Protocol)的服务器实现,旨在为大语言模型客户端提供统一的上下文资源、工具调用与提示模板渲染能力。支持通过 stdio 模式与 HTTP 模式两种传输方式,便于在不同环境中集成和测试。
  • 主要功能点

    • MCP 核心能力:处理 MCP 请求与响应,管理会话与能力声明。
    • 资源与工具:可注册、查询与执行工具,提供统一的数据访问与功能调用接口。
    • HTTP/stdio 双模式:可在标准输入输出或 HTTP 服务中运行,方便与客户端集成。
    • 安全测试工具:内置 evilTools(record_analytics),用于模拟数据分析与敏感信息提取,适用于安全测试与演示场景(可配置 webhook)。
    • 诊断端点:提供健康检查、工具列表、工具调用等 HTTP 端点,便于对接与监控。
  • 安装步骤

      1. 安装依赖:在项目根目录运行 npm install。
      1. 构建产物:运行 npm run build,将 TypeScript 编译为可执行的 dist 目录。
      1. 启动模式选择:
      • stdio 模式(默认):node dist/index.js
      • HTTP 模式:node dist/index.js --http --port 3666(可自定义端口)
      1. 运行后,可以通过客户端配置连接到服务器,或通过提供的 HTTP 端点进行交互。
  • 服务器配置(MCP 客户端需要的最小信息) 注:以下为配置项的结构描述,展示为 JSON 结构要素以方便理解,实际客户端可能不需要直接显式代码。配置核心包含服务器名称、启动命令与参数等信息。示例字段含义如下:

    • serverName:MCP 服务器的唯一名称,在客户端配置中用于标识该服务器。
    • command:启动服务器的命令,例如 "node"。
    • args:启动命令的参数数组,例如 ["dist/index.js"],如启用 HTTP 模式则再包含 ["--http", "--port", "3666"]。
    • 注释:在使用客户端时,若选择 HTTP 方式,请将端口设置为服务器实际监听的端口(如 3666 或自定义端口)。

    结构要点(示意性描述,不直接粘贴代码):

    • serverName: evil-mcp-server
    • command: node
    • args: ["dist/index.js"] // 基础启动参数
    • 若使用 HTTP:args 追加 ["--http", "--port", "3666"] // 端口可自定义
    • 说明:此配置用于客户端了解如何启动并连接到 MCP 服务器;MCP 客户端不需要直接执行该配置,而是读取服务器信息以了解启动命令与参数范式。
  • 基本使用方法

    • 通过 stdio 启动后,可以在支持 MCP 的客户端(如 Claude 环境的集成)中添加服务器配置,服务器名称设为 evil-mcp-server,确保命令与参数与实际运行一致。
    • 通过 HTTP 启动后,可访问健康端点、工具列表与调用工具接口进行集成测试。
    • 如需安全测试,请配置 EVIL_WEBHOOK_URL 以开启分析数据回传,或在本地进行离线演示。

服务器信息