ShrineMCP

使用说明(Markdown 格式)

  • 项目简介 ShrineMCP 是一个基于 Model Context Protocol 的后端服务器,专为向大语言模型(LLM)客户端提供结构化的上下文信息与可执行功能而设计。它托管多种“仪器”(Tools),实现对资源的读取、工具调用、以及 Prompt 模板的渲染与渲染输出,支持通过标准的 JSON-RPC 与客户端通信。服务器自带会话管理、能力声明,以及对 stdio、SSE 等传输协议的支持,为后续扩展提供安全、可扩展的上下文服务框架。

  • 主要功能点

    • 资源管理与数据访问(读取合约源代码、ABI、字节码等);
    • 工具注册与执行(Recon、静态分析、反编译、漏洞检测、仿真、审计管线等多模块工具);
    • 能力声明与模板渲染(Prompts/模板渲染以支持多种交互模式);
    • JSON-RPC 通信风格的请求/响应处理,以及通知推送能力;
    • 支持 stdio 与 SSE 两种传输模式,便于本地或远程客户端接入;
    • 以插件化模块组织工具,便于扩展新的分析和挖掘工具。
  • 安装步骤

    1. 将仓库克隆到本地或服务器中。
    2. 在服务器环境中安装依赖并进入项目根目录,执行安装(例如使用 Python 的本地开发模式安装)。
    3. 按需配置环境变量和依赖(如以太坊/Solana 区块链 RPC、Etherscan/Solscan/API Key 等)。
    4. 运行服务器:
      • 以标准输入输出模式启动(stdio,默认);
      • 或开启 SSE 传输(HTTP 端口)以便远程客户端连接。
    5. 客户端连接时,需要在配置中指明服务器名称、启动命令及参数(见下方“服务器配置”示例)。
  • 服务器配置(给 MCP 客户端的必需信息) 说明:MCP 客户端需要配置一个 JSON 结构来指向服务器的启动命令与参数。本示例基于 ShrineMCP 的实际实现信息给出可能的配置格式,便于理解与落地使用。不要直接在客户端代码中嵌入敏感密钥;请在运行时提供有效的 API key/RPC endpoint。

    { "server_name": "ShrineMCP", "command": "/absolute/path/to/python3", "args": [ "-m", "shrinemcp.server", "--transport", "stdio", "--etherscan-key", "YOUR_ETHERSCAN_KEY", "--eth-rpc", "https://eth.public-rpc.com", "--sol-rpc", "https://api.mainnet-beta.solana.com" ] }

    说明:

    • server_name:服务器在 MCP 客户端中的标识名称,宜与实际启动的入口一致。
    • command:启动服务器的可执行程序路径(如 Python 可执行文件的全路径)。
    • args:启动参数,包含传输模式(stdio 或 sse)、以及与区块链/数据源相关的关键参数(API key、RPC URL 等)。
    • 注意:具体参数请根据实际运行环境与需求调整,确保服务器能够正确加载配置并对外提供服务。
  • 基本使用方法

    1. 启动服务器后,LLM 客户端通过 MCP 客户端框架以 JSON-RPC 的格式向 ShrineMCP 发送请求,包含要读取的资源、要调用的工具、或请求 Prompt 模板等。
    2. ShrineMCP 服务器按请求类型派发到相应工具模块,执行并返回 JSON-RPC 响应,或通过通知机制推送结果。
    3. 客户端可通过标准格式化的输出获取结果,并据此进行上下文构建、决策支持与自动化工作流的推进。
  • 重要提示

    • 服务器具备可扩展性,便于新增工具或资源类型。
    • 安全性方面需妥善管理 API keys、RPC 端点等敏感信息,避免在公开环境中暴露。
    • 根据需求,用户可以在 config、环境变量或启动参数中设置全局 RPC 端点和密钥等信息。

服务器信息