Token导航 LogoToken导航TokenDH.com
Solidityscan MCP Server logo
AI代理stdio官方级别未说明来源级核验

Solidityscan MCP Server

MCP Server

solidityscan-mcp-server

SolidityScan MCP Server 提供智能合约的安全分析功能,支持扫描已部署合约、Git项目、本地目录或内联Solidity源代码,并生成PDF报告。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
智能合约安全分析TypeScript

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Credshields

提供方

Credshields

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx solidityscan-mcp-server

详细介绍

SolidityScan MCP服务器

MCP(模型上下文协议)服务器,将SolidityScan智能合约安全分析作为MCP工具公开。从支持MCP的客户端使用它来扫描已部署的合约、Git项目、本地目录或内联Solidity源代码,并快速生成PDF报告。

你得到了什么

  • 扫描合同:按地址对已部署的合约进行深度扫描
  • scan_and_get_report_pdf:快速扫描+PDF报告链接
  • scan_工程:扫描远程Git存储库
  • scan_local_directory:扫描磁盘上的本地Solidity代码
  • 扫描文件内容:扫描原始Solidity源(内存中)
  • get_supportd_platforms_chains:发现支持的探索者和链

由SolidityScan SDK提供支持。

需求

  • Node.js 18+
  • SolidityScan API密钥设置为 SOLIDITYSCAN_API_KEY (或通行证 apiToken 根据请求)

安装

pnpm install
pnpm build

在本地运行(dev):

pnpm dev

运行内置服务器:

pnpm start

如果作为包含二进制文件的包发布(solidityscan-mcp-server),您还可以运行:

npx solidityscan-mcp-server

配置API密钥

为所有请求设置一次API密钥:

export SOLIDITYSCAN_API_KEY=""

或通过 apiToken 通过单独的工具调用。

与MCP客户端一起使用

任何支持MCP的客户端都可以通过stdio连接到此服务器。示例:

克劳德桌面(示例)

将条目添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "solidityscan": {
      "command": "/usr/bin/env",
      "args": ["node", "/absolute/path/to/dist/index.js"],
      "env": {
        "SOLIDITYSCAN_API_KEY": ""
      }
    }
  }
}

游标或其他MCP客户端

使用命令集注册新的MCP服务器 node 以及所指向的论点 dist/index.js (或CLI solidityscan-mcp-server 如果全局安装)。确保 SOLIDITYSCAN_API_KEY 在服务器环境中可用。

可用工具

工具描述所需输入
get_supported_platforms_chains列出支持的浏览器/平台及其链(映射到ID的名称)
scan_contract按地址扫描已部署的合约contractAddress, platform, chain
scan_and_get_report_pdf快速扫描并返回PDF报告链接contractAddress, platform, chain
scan_project扫描Git存储库项目provider, projectUrl, projectName
scan_local_directory扫描Solidity文件的本地目录directoryPath
scan_file_content扫描原始Solidity源内容fileContent

笔记:

  • 使用 get_supported_platforms_chains 发现有效 platform 名字和他们 chain 姓名/IDs。
  • 虽然某些客户端UI可能不会标记 platform 根据需要,此服务器需要它来解析链。

例子

首先,发现平台和链:

get_supported_platforms_chains

示例响应(截断):

{
  "etherscan": {
    "id": "1",
    "chains": { "mainnet": "1", "sepolia": "4", "holesky": "6" }
  },
  "polygonscan": {
    "id": "3",
    "chains": { "mainnet": "1", "testnet": "2", "amoy-testnet": "10" }
  }
}

扫描已部署的合约

{
  "tool": "scan_contract",
  "arguments": {
    "contractAddress": "0x0000000000000000000000000000000000000000",
    "platform": "etherscan",
    "chain": "sepolia"
  }
}

快速扫描和PDF报告链接

{
  "tool": "scan_and_get_report_pdf",
  "arguments": {
    "contractAddress": "0x0000000000000000000000000000000000000000",
    "platform": "etherscan",
    "chain": "sepolia"
  }
}

服务器以 https://solidityscan.com/qs-report/ // 链接。

扫描Git项目

{
  "tool": "scan_project",
  "arguments": {
    "provider": "github",
    "projectUrl": "https://github.com/org/repo",
    "projectName": "MyDapp",
    "projectBranch": "main",
    "recurScans": false,
    "skipFilePaths": []
  }
}

扫描本地目录

{
  "tool": "scan_local_directory",
  "arguments": {
    "directoryPath": "/absolute/path/to/contracts",
    "projectName": "LocalScan"
  }
}

扫描原始Solidity源内容

{
  "tool": "scan_file_content",
  "arguments": {
    "fileName": "Sample.sol",
    "projectName": "InlineScan",
    "fileContent": "pragma solidity ^0.8.20; contract A { function f() external {} }"
  }
}

发展

  • TypeScript入口点: index.ts
  • 内置输出: dist/index.js

脚本:

pnpm dev     # Run with tsx (hot dev)
pnpm build   # Compile TypeScript
pnpm start   # Run compiled server
pnpm dev:http        # Run Streamable HTTP server with tsx
pnpm start:http      # Run compiled HTTP/SSE server
pnpm test:http-client # Launch HTTP server + client smoke test

流式HTTP+SSE传输

  • server-http.ts 通过Streamable HTTP传输承载MCP服务器,在单个端点中支持POST+SSE流。
  • 每个请求可能包括 Authorization: Bearer X-API-Key;服务器缓存会话中看到的第一个密钥,并将其用于后续请求/订阅。
  • pnpm test:http-client 在临时端口上启动HTTP服务器,启动 StreamableHTTPClientTransport 使用提供的标头,并运行 listTools 作为烟雾测试。集 SOLIDITYSCAN_TEST_API_KEY (或重复使用 SOLIDITYSCAN_API_KEY)使测试发送一个真正的密钥。

平台/链解析是如何工作的

  • 平台可以按名称提供(例如。, etherscan, polygonscan, blockscout, arbiscan等等)或根据索引中的平台ID。
  • 链可以通过该平台的链名称来提供(例如。, sepolia, mainnet, amoy-testnet)或者根据该平台下列出的链ID值。
  • 如果提供了不支持的值,服务器将返回一个错误,其中包含所选平台的可用链列表。

故障排除

  • 缺少API键:set SOLIDITYSCAN_API_KEY 或通过 apiToken.
  • 不支持的平台/链:调用 get_supported_platforms_chains 并使用列出的值。
  • 找不到文件/目录:确保绝对路径存在并且服务器进程可以访问。

许可证

麻省理工学院

致谢

  • 建立在 @modelcontextprotocol/sdk
  • 安全扫描通过 solidityscan

目录标签

目录标签

智能合约安全分析TypeScript本地部署区块链安全PDF报告MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

solidityscan-mcp-server

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP