使用说明
项目简介
MalloryAI MCP Server 是一个基于 Model Context Protocol (MCP) 框架构建的后端服务器,专为网络安全情报应用设计。它旨在为大型语言模型 (LLM) 客户端提供安全、可扩展的上下文服务,核心功能包括托管和管理网络安全资源,注册和执行安全分析工具,并支持Prompt模板定制,从而增强 LLM 在网络安全领域的应用能力。
主要功能点
- 资源管理 (Resources): 虽然仓库信息中没有明确展示资源管理,但根据MCP服务器的定义,这应该是其核心功能之一,用于托管和管理网络安全相关的数据资产,为工具提供数据基础。(仓库代码侧重于工具,资源管理部分可能在框架或底层SDK中实现,此处根据MCP定义推断)
- 工具注册与执行 (Tools): 已实现 'get_threat_actor' (获取威胁行动者信息) 和 'find_vulnerability' (查找漏洞信息) 两个工具,允许 LLM 客户端调用这些工具查询网络安全情报。工具的实现基于 'malloryai-sdk',表明服务器可以集成外部数据源或服务。
- Prompt 模板 (Prompts): 仓库信息中没有明确提及 Prompt 模板功能,但 'fastmcp' 框架通常支持 Prompt 模板的定义和渲染。 (此处根据MCP定义和 'fastmcp' 框架能力推断,具体实现需进一步代码分析或文档确认)
- JSON-RPC over Stdio 传输: 服务器默认使用 Stdio 作为传输协议,方便快速启动和集成。
- 配置管理: 通过 '.env' 文件管理服务器配置,例如 API 密钥、日志级别等。
安装步骤
-
克隆仓库:
git clone https://github.com/malloryai/mallory-mcp-server.git cd mallory-mcp-server -
创建并激活虚拟环境: 推荐使用 'uv' 或 'venv' 创建虚拟环境。
# 使用 uv (推荐) uv venv .venv source .venv/bin/activate # 或使用 venv python -m venv .venv source .venv/bin/activate -
安装项目依赖:
uv pip install -e . # 使用 uv # 或 pip install -e . # 使用 pip -
配置环境变量: 在项目根目录下创建 '.env' 文件,并根据需要配置以下变量:
APP_ENV=local MALLORY_API_KEY=your_api_key_here # 请替换为你的 MalloryAI API 密钥 LOG_LEVEL=INFO注意: 'MALLORY_API_KEY' 是访问 MalloryAI 服务的凭证,请务必替换为有效的 API 密钥。
服务器配置
以下是 MCP 客户端 (例如 Claude Desktop) 配置 MalloryAI MCP Server 的 JSON 示例。你需要根据实际情况修改路径。
{ "mcpServers": { "MalloryAI": { // 服务器名称,客户端显示用,可以自定义 "command": "/path/to/uv", // uv 命令的绝对路径,如果 uv 可执行文件在 PATH 环境变量中,可以直接写 "uv" "args": [ "run", // uv run 命令 "--python", // 指定 Python 解释器 "/path/to/mcp-server/.venv/bin/python", // 虚拟环境 Python 解释器的绝对路径,请替换为你的实际路径 "--with", // uv run 的 --with 参数,用于指定要加载的插件或扩展 "fastmcp", // 指定使用 fastmcp 插件来运行 MCP 服务器 "fastmcp", // fastmcp 子命令 "run", // fastmcp run 子命令,用于运行服务器 "/path/to/mcp-server/app.py" // app.py 脚本的绝对路径,请替换为你的实际路径 ], "env": { "APP_ENV": "local", "MALLORY_API_KEY": "your_api_key_here", // API 密钥,建议在 .env 文件中配置,此处可以同步配置或留空 "LOG_LEVEL": "ERROR", "LOG_DIR": "storage/logs" } } } }
配置说明:
- 'command': MCP 服务器的启动命令,这里使用 'uv run' 来运行 Python 脚本。如果你的环境中 'uv' 命令不在 PATH 环境变量中,需要提供 'uv' 命令的完整路径。你也可以根据实际情况替换为 'python' 命令直接运行 'app.py',例如 command 可以设置为 '/path/to/mcp-server/.venv/bin/python', args 设置为 '["app.py"]'。
- 'args': 启动命令的参数列表。
- '--python /path/to/mcp-server/.venv/bin/python': 指定用于运行 'app.py' 的 Python 解释器,确保使用虚拟环境中的 Python。
- '--with fastmcp fastmcp run': 使用 'fastmcp' 插件运行服务器。'fastmcp' 可能是项目使用的 MCP 服务器框架或库。
- '/path/to/mcp-server/app.py': 指定服务器入口脚本 'app.py' 的路径。
- 'env': 服务器运行时需要的环境变量。
- 'APP_ENV', 'MALLORY_API_KEY', 'LOG_LEVEL', 'LOG_DIR': 这些环境变量会传递给 'app.py' 脚本,用于配置服务器行为。 请务必将 'MALLORY_API_KEY' 替换为你的实际 API 密钥。
重要提示: 请将配置中的 '/path/to/uv', '/path/to/mcp-server/.venv/bin/python', '/path/to/mcp-server/app.py' 替换为你本地环境的实际路径。
基本使用方法
-
启动服务器: 在项目根目录下,可以使用以下命令启动服务器:
# 直接执行 app.py python app.py # 使用 fastmcp 运行 (推荐,如果安装了 fastmcp CLI) fastmcp run app.py服务器默认使用 Stdio 传输协议,启动后会在终端中等待 MCP 客户端的连接和请求。
-
配置 MCP 客户端: 根据 MCP 客户端 (例如 Claude Desktop) 的文档,将上面提供的服务器配置 JSON 添加到客户端的配置文件中。
-
使用 LLM 调用工具: 在 MCP 客户端中,你可以指示 LLM 调用服务器提供的工具,例如:
- 请求 LLM 使用 'get_threat_actor' 工具查询特定威胁行动者的信息。
- 请求 LLM 使用 'find_vulnerability' 工具查找特定 CVE 编号的漏洞信息。
具体的调用方式取决于 MCP 客户端的功能和界面。你需要参考客户端的文档来了解如何与 MCP 服务器进行交互,并调用服务器提供的工具。
信息
分类
开发者工具