mcpField
T
three.ws Solana Memo Media

three.ws Solana Memo Media

本地服务
three.ws媒体与设计255今天更新

关于 three.ws Solana Memo Media

three.ws Solana Memo Media 是一个只读、无需密钥的 MCP 服务,用于从 Solana SPL Memo 交易中提取并显示图像。它会校验图像格式和文件签名,并以 MCP 图像内容块返回。

主要功能

  1. 01提取交易中的嵌入图像
  2. 02扫描地址的近期交易签名
  3. 03本地解码图像数据 URI
  4. 04重建并校验多段铭文
  5. 05检查安全策略和 RPC 配置

适用场景

  1. 01查看 Solana 交易 Memo 中的图像
  2. 02查找某地址近期含图像的 Memo
  3. 03从单个交易签名重建铭文

MCP 相关

它向 MCP 客户端提供 Solana Memo 图像提取、搜索、解码、铭文重建和状态查询工具,并以内联图像内容块返回受支持的图像。服务只读,不签名、发送或修改链上数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-solana-memo-media": {
"command": "npx",
"args": [
"-y",
"@three-ws/solana-memo-media-mcp"
],
"env": {
"SOLANA_RPC_URLS": "<SOLANA_RPC_URLS>",
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>"
}
}
}
}
启动命令npx -y @three-ws/solana-memo-media-mcp
需要配置的环境变量
SOLANA_RPC_URLSOptional comma-separated Solana JSON-RPC failover endpoints. Public mainnet endpoints are used when omitted.
SOLANA_RPC_URLOptional primary Solana JSON-RPC endpoint.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/solana-memo-media-mcp0.1.0

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
dataUristring是来自 SPL Memo 指令的完整 Base64 图像 data URI。

详细介绍

@three-ws/solana-memo-media-mcp

读取并显示嵌入在 Solana SPL Memo 指令中的图像数据 URI。无需将 data:image/...;base64,... 备忘录载荷复制到浏览器转换器中,只需向 AI 助手提供交易签名,即可直接收到经过验证的图像。

这是一个无需密钥、只读的 stdio MCP 服务。它绝不会签名、发送、上传、缓存或修改链上数据。

安装

claude mcp add solana-memo-media -- npx -y @three-ws/solana-memo-media-mcp

用于 Cursor、Claude Desktop 或其他 stdio MCP 客户端:

{
  "mcpServers": {
    "solana-memo-media": {
      "command": "npx",
      "args": ["-y", "@three-ws/solana-memo-media-mcp"]
    }
  }
}

工具

工具用途
extract_solana_memo_media获取一笔 legacy、v0 或 v1 交易,并返回其顶层和内部 Memo 指令中的所有受支持图像,以及签名者、slot 和版本。
find_solana_memo_media扫描某个地址最近最多 1,000 个签名(可通过 before 分页)。仅获取备忘录摘要中包含数据 URI 的签名,因此一次扫描只需少量 RPC 调用。
decode_solana_memo_data_uri在本地解码一个已复制的数据 URI。不会发起网络调用。
read_inscription从多部分铭文(first/1、firsts/1、spl404)的任一交易签名重建并验证铭文。图像以内嵌形式返回;SVG、HTML 和文本则作为非活动文本返回。
get_solana_memo_media_status显示本地策略、已识别的备忘录程序和 RPC 故障转移主机。不会发起网络调用。

已识别的备忘录程序:SPL Memo v1(Memo1UhkJRfHyvLMcVLMbLJYfW2tfU8G8H4PqvV6v8)、SPL Memo v2(MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr),以及由版本 1 交易携带的较新程序(Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH)。

示例

向 MCP 客户端提问:“显示 Solana 交易 <signature> 中嵌入的任何图像。”它会调用 extract_solana_memo_media,并提供:

{ "signature": "<base58 Solana transaction signature>" }

响应包含一条 JSON 记录,以及每个资产对应的一个 MCP image 内容块。记录包含签名、费用支付方、slot、交易版本,以及每个资产的 MIME 类型、字节长度、SHA-256 和尺寸。原始数据 URI 不会回显到文本输出中。

在自己的代码中使用:

import { decodeDataUri } from '@three-ws/solana-memo-media-mcp/src/lib/media.js';

const media = decodeDataUri('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAFgwJ/lwV8YQAAAABJRU5ErkJggg==');
console.log(media.mimeType, media.byteLength, media.dimensions, media.sha256);

完整指南:docs/mcp-solana-memo-media.md。

安全性与来源

SPL Memo 是任意签名文本。数据 URI 只是这种文本中的一种约定,并非 Solana 媒体标准,也不代表钱包、区块浏览器或此软件包对此背书。

  • 仅接受 image/png、image/jpeg、image/webp 和 image/gif。
  • 拒绝 SVG 及所有可执行文件或文档类媒体。
  • 解码后的内容大小上限为 262,144 字节。
  • 返回图像前,声明的 MIME 类型必须与 PNG、JPEG、WebP 或 GIF 文件签名匹配。
  • 服务会报告 SHA-256 摘要,以便调用方保留精确引用。
  • 在信任图像含义之前,请独立验证交易签名者、程序和交易上下文。

RPC 配置

服务依次尝试 SOLANA_RPC_URLS、SOLANA_RPC_URL,然后使用 Solana 主网公共端点。正常使用无需密钥。

变量必填含义
SOLANA_RPC_URLS否以逗号分隔、按顺序排列的 JSON-RPC 故障转移端点。
SOLANA_RPC_URL否单个主要 JSON-RPC 端点。

开发

npm test --prefix packages/solana-memo-media-mcp
npx -y @modelcontextprotocol/inspector node packages/solana-memo-media-mcp/src/index.js

许可证:Apache-2.0。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。