Arkana MCP 服务器
Arkana MCP 服务器使用说明
-
项目简介
- Arkana 是一个基于 MCP 的服务器端实现,集成了 200+ 种分析工具、资源管理、工具注册与执行、以及可渲染的促发模板,面向让大型语言模型客户端(如 Claude Code)以统一接口来请求资源、执行工具、获取 Prompt 等能力的场景。
-
主要功能点
- 资源与工具的托管与执行:提供对资源库的管理、工具注册与远程执行,允许 LLM 客户端通过统一接口调用外部分析工具。
- Prompt 与交互模板:把分析流程、提示模板和工作流以可定制方式暴露给客户端。
- JSON-RPC 通信:客户端通过 MCP 的 JSON-RPC 协议进行请求和接收响应,服务器端处理会话、能力声明、结果缓存等。
- 多传输协议支持:支持 stdio、SSE、WebSocket 等传输方式,方便在本地、网页端或网络环境中使用。
- 会话管理与缓存:具备会话隔离、状态缓存、历史记录与缓存持久化,确保长时间分析任务的可重复性与高效性。
- 附加的分析工具生态:包括二进制、ELF/Mach-O、Go/Rust 等多格式分析,以及结合 Angr、YARA、Capa、FLOSS、BSim 等工具的并行分析能力。
-
安装步骤
- 将仓库克隆到本地或服务器环境。
- 按文档准备依赖(Python 3.10+、所需动态库和二进制工具)。
- 构建/启动 MCP 服务器(推荐使用仓库提供的运行脚本或直接通过 Python 启动入口)。
- 通过命令行启动的两种常用模式:
- stdio 模式:直接在终端启动服务器,与 MCP 客户端通过标准输入输出通信。
- HTTP/SSE 模式:在网络环境中通过 SSE/HTTP 传输,与前端或其他服务对接。
- 通过命令行启动的两种常用模式:
- 如需集成到 Claude Code 等 MCP 客户端,可将 Arkana 的服务作为 MCP 服务器在你的工作流中注册并连接。
-
服务器配置(给 MCP 客户端使用的配置示例,JSON 格式,仅用于描述,不作为代码展示) { "server_name": "Arkana MCP 服务器", "command": ["python", "arkana.py"], "args": [ "--mcp-server", "--stdio", "--samples-path", "/path/to/your-samples", "--mcp-transport", "stdio" ], "notes": "以上配置为默认本地调用方式。若需要在网络环境中提供服务,请改为 --mcp-transport streamable-http,并按需设置 --allowed-paths、--api-key 等安全参数。" }
-
基本使用方法
- 启动后,MCP 客户端(如 Claude Code)通过 MCP 客户端工具将 Arkana 作为后端接入,发起对资源、工具、Prompts 的请求。
- 客户端配置完成后,即可在提示语中请求分析、调用工具、获取 Prompts,并接收标准的 MCP JSON-RPC 响应。
- 支持会话管理、任务进度查询、缓存管理等能力,便于长时间分析与交互式工作流。
-
重要提示
- 如需在生产环境中暴露,请务必使用安全的传输方式(如 TLS 终止的反向代理、Bearer Token 验证等),并设置合理的访问控制和资源沙箱策略。
-
额外说明
- Arkana 的 MCP 服务器实现贯穿了工具注册、资源管理、会话上下文、异步任务与进度通告等完整能力,是一个可直接用于 MCP 环境的服务端实现,而非仅仅是示例代码。