mcpField
A
ask-mcp

ask-mcp

github.com/lightprotocol开发753 次安装21 周前更新
代码仓库

关于 ask-mcp

ask-mcp 是用于研究 Light Protocol、Solana 开发、Claude Code 和 Agent Skills 技术问题的技能,结合本地文件检查与 DeepWiki 查询,并强调回答准确且附有来源。

主要功能

  1. 01通过 DeepWiki 研究代码库
  2. 02用 Glob、Grep 和 Read 检查本地文件
  3. 03用 Task 子 Agent 并行研究
  4. 04回答附技术引用

适用场景

  1. 01调查 Light Protocol 实现问题
  2. 02查找 Claude Code 命令与配置
  3. 03研究 Solana 程序和客户端 SDK

MCP 相关

通过 DeepWiki MCP 查询公开代码库的结构、内容和技术问题。也会调用 mcp__zkcompression__SearchLightProtocol 获取代码库背景。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lightprotocol/skills --skill ask-mcp

安装后在 Claude Code 中输入/ask-mcp确认已加载。

详细介绍

DeepWiki 研究

通过 DeepWiki MCP 查询代码仓库,针对技术问题给出精准且有来源依据的回答。

工作流

  1. 理解问题
    • 确定用户在询问什么,以及问题属于哪个领域
    • 如果问题有歧义,说明你的理解并请求澄清
  2. 收集上下文
    • 将问题与下方的执行步骤对应
    • 使用 Glob、Grep 和 Read 查找相关的本地文件
    • 查询 DeepWiki MCP (mcp__deepwiki__ask_question) 和 mcp__zkcompression__SearchLightProtocol,获取代码仓库级别的上下文
    • 必要时使用 Task 子 Agent 并行研究多个代码仓库
  3. 综合并作答

执行步骤

1. 阅读当前代码仓库中的必需上下文

使用 Glob 和 Grep 在当前代码仓库中查找相关文件。使用 Read 提取回答所需的具体内容。

2. 确定问题范围

判断问题所属领域:

  • 程序、客户端 SDK、架构、实现细节
  • 特定组件(LightAccount、ValidityProof、CPI 等)
3. 获取代码仓库上下文

根据问题范围选择合适的代码仓库:

Light Protocol(压缩账户、状态树、ZK 压缩、Light SDK)

mcp__deepwiki__read_wiki_structure("Lightprotocol/light-protocol")
mcp__deepwiki__read_wiki_contents("Lightprotocol/light-protocol")
mcp__deepwiki__ask_question("Lightprotocol/light-protocol", "your question")

Solana 开发(程序、账户、通用 Solana)

mcp__deepwiki__read_wiki_structure("blueshift-gg/blueshift-dashboard")
mcp__deepwiki__read_wiki_contents("blueshift-gg/blueshift-dashboard")
mcp__deepwiki__ask_question("blueshift-gg/blueshift-dashboard", "your question")

Claude Code(CLI 功能、命令、配置)

mcp__deepwiki__read_wiki_structure("anthropics/claude-code")
mcp__deepwiki__read_wiki_contents("anthropics/claude-code")
mcp__deepwiki__ask_question("anthropics/claude-code", "your question")

Agent 技能(技能、子 Agent、模式)

mcp__deepwiki__read_wiki_structure("anthropics/skills")
mcp__deepwiki__read_wiki_contents("anthropics/skills")
mcp__deepwiki__ask_question("anthropics/skills", "your question")
4. 应用精确性规则

避免:

  • 模糊的动词:“处理”“管理”“执行”“启用”“提供”
  • 抽象名词:“操作”“管理”“协调”
  • 在有更精确动词时使用 -ing 形式
  • 营销用语:“全面”“丰富”“无缝”“启用”“提供能力”
  • 面向用户的文档中使用 ZK 术语:“包含性证明”“不包含性证明” → 应改为描述其作用:“证明地址不存在”“证明账户哈希存在”
  • 泛泛而谈的描述:用 CompressedAccountMeta 替代“账户元数据”

使用:

  • 精确的函数/方法名称
  • 具体的数据结构
  • 具体的操作:“设置 discriminator”“创建哈希”“使账户失效”
  • 文件:行号引用
  • 描述引用账户数组中账户的 u8 索引时使用“reference”(Solana 标准术语)
  • 将 “CPI” 用作动词(例如,“对 Account Compression Program 执行 CPI”)
  • 在上下文明确时,将技术方法/函数名称用作动词

准确描述实际发生的事情。

5. 格式化回答

回答应包含:

  • 技术精确性
  • 带行内注释的代码示例
  • 来源引用(文件路径、行号)

输出示例

问题: 创建压缩账户时,指令数据中需要包含什么?

回答:


压缩账户创建指令数据

指令数据包含用于证明验证和树协调的三个组成部分。

组成部分:

pub struct InstructionData {
    proof: ValidityProof,
    address_tree_info: PackedAddressTreeInfo,
    output_state_tree_index: u8,
    // + custom account data
}

1. 非包含证明

  • ValidityProof 证明派生地址在指定地址树中不存在
  • 客户端通过 getValidityProof() RPC 调用生成

2. 树位置参数

  • PackedAddressTreeInfo:指定注册该地址的地址树(u8 索引,而非公钥)
  • output_state_tree_index:指定存储压缩账户哈希的状态树

3. 自定义账户数据

  • 特定于程序的字段(例如,message: String、用户数据)

执行流程:

  1. 地址树证明地址具有唯一性,并存储该地址
  2. 状态树存储账户哈希
  3. ValidityProof 以加密方式保证该地址尚未被使用

为何使用独立的树:

压缩账户需要客户端生成加密证明,以证明地址不存在(不同于常规 Solana,后者由运行时检查 PDA 是否存在)。地址树负责确保唯一性;状态树负责存储账户哈希。

打包结构体使用 u8 索引引用 remaining_accounts 中的账户,从而减小交易大小。

安全性

此技能不会获取、存储或传输外部机密信息。它仅提供代码模式、文档参考和开发指导。

  • 不使用凭据。 此技能不需要 API 密钥、私钥或签名机密。已显式声明 env: []。
  • DeepWiki MCP 仅访问公开代码库。 所有 mcp__deepwiki__* 调用都会查询公开的 GitHub 代码库(Lightprotocol/light-protocol、anthropics/claude-code、anthropics/skills)。无需传输任何身份验证令牌。除非明确配置令牌,否则 DeepWiki 不会访问私有代码库——此技能未配置令牌。
  • 用户提供的配置。 RPC 端点、钱包密钥对和身份验证令牌(Privy、钱包适配器)均在用户自己的应用代码中配置——此技能仅演示如何使用它们。
  • 强制执行工具边界。 allowed-tools 列表将此技能限制为只读操作(Read、Glob、Grep)、研究子 Agent(Task)、对 Light Protocol 域名的网页抓取以及 MCP 查询。它无法加载其他技能、写入文件或执行 shell 命令。请确认上方 frontmatter 中的 allowed-tools 列表符合这些限制。
  • 安装来源。 npx skills add Lightprotocol/skills 会从公开的 GitHub 代码库(Lightprotocol/skills)安装。运行前请验证来源。
  • 经过审计的协议。 Light Protocol 智能合约已由独立机构审计。报告发布于 github.com/Lightprotocol/light-protocol/tree/main/audits。

评论

支持 Markdown