GenLayer MCP
一种MCP服务器,将可搜索的GenLayer文档与实时GenLayer协议RPC检查相结合,用于MCP兼容客户端,如Claude Code、Cursor、VS Code、Gemini CLI、Codex和HTTP上的远程MCP客户端。
此项目仍然不签署交易或管理私钥。它现在支持通过GenLayer JSON-RPC方法进行实时节点检查和合同交互,例如 gen_call, gen_getContractState, gen_getContractCode, gen_getContractSchema, gen_getTransactionStatus,以及 gen_getTransactionReceipt.
此服务器的功能
服务器加载官方的GenLayer文档包:
它将该捆绑包解析为多个部分并公开:
- 可搜索的MCP工具
- 可浏览的文档索引资源
- 个别部门资源
- 用于合同和交易检查的实时GenLayer JSON-RPC工具
- 可浏览的RPC配置资源
此存储库支持两种传输方式:
stdio用于本地CLI工具,如Claude Code、Codex、Cursor、VS Code和Gemini CLI- 用于部署远程MCP使用的流式HTTP
RPC配置
实时协议工具使用配置的GenLayer RPC终结点。
GENLAYER_RPC_URL:要使用的JSON-RPC端点GENLAYER_RPC_TIMEOUT_MS:实时RPC请求超时
如果 GENLAYER_RPC_URL 如果未设置,服务器默认为:
https://studio.genlayer.com/apiClaude代码快速入门
claude mcp add --transport stdio genlayer-docs -- npx -y github:Jr-kenny/Genlayer_mcp然后启动克劳德代码:
claude在Claude Code内部,运行:
/mcp这 genlayer-docs 应列出服务器及其工具端点。
Cursor快速入门(每个项目)
将此添加到 .cursor/mcp.json:
{
"mcpServers": {
"genlayer-docs": {
"command": "npx",
"args": ["-y", "github:Jr-kenny/Genlayer_mcp"]
}
}
}\[!提示\] 如果游标版本无法识别mcpServers,使用mcp_servers作为顶级密钥。
VS代码快速入门(每个工作区)
将此添加到 .vscode/mcp.json:
{
"servers": {
"genlayer-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:Jr-kenny/Genlayer_mcp"]
}
},
"inputs": []
}Gemini CLI快速入门
全局添加MCP服务器:
gemini mcp add --scope user genlayer-docs npx -y github:Jr-kenny/Genlayer_mcp确认已注册:
gemini mcp listCodex快速入门
使用Codex CLI添加MCP服务器:
codex mcp add genlayer-docs -- npx -y github:Jr-kenny/Genlayer_mcp确认已注册:
codex mcp list或者,将此添加到Codex MCP配置中:
[mcp_servers.genlayer-docs]
command = "npx"
args = ["-y", "github:Jr-kenny/Genlayer_mcp"]如果需要,重新启动Codex,以便重新加载MCP配置。
从源代码快速启动
对于基于源代码的使用,而不是从GitHub启动:
- 克隆仓库:
git clone https://github.com/Jr-kenny/Genlayer_mcp
cd Genlayer_mcp- 安装依赖项并构建:
npm install
npm run build- 运行本地入口点:
node /absolute/path/to/Genlayer_mcp/dist/cli.js替换为 node .../dist/cli.js 在任何MCP客户端配置中使用基于源代码的命令 npx.
远程MCP客户端快速入门
对于远程MCP客户端,运行HTTP入口点并将其部署为公共web服务。
这不是克劳德的具体情况。它是任何可以通过Streamable HTTP连接到远程MCP服务器的客户端的部署传输,包括具有该功能的聊天式AI应用程序。
- 将此存储库部署到Vercel。
- 部署的MCP端点为:
https://genlayer-mcp.vercel.app/mcp- 部署的服务还公开了:
- GET / 用于小型服务器信息响应 - GET /health 用于健康检查 - POST /mcp 用于MCP流式HTTP请求
- 将部署的MCP URL作为HTTP MCP服务器添加到远程MCP客户端中。
用途:
https://genlayer-mcp.vercel.app/mcp这适用于Claude托管的集成、ChatGPT风格的应用程序以及支持MCP服务器URL的其他远程AI客户端。
对于本地HTTP测试,请运行:
npm install
npm run build
npm run start:http它监听端口 3000 默认情况下。设置 PORT 环境变量来改变它。
Vercel部署
此存储库通过以下方式为Vercel配置 vercel.json 以及中的Web标准API函数 api/.
Vercel上的公共MCP端点:
https://genlayer-mcp.vercel.app/mcp有用的检查:
https://genlayer-mcp.vercel.app/https://genlayer-mcp.vercel.app/healthPOST https://genlayer-mcp.vercel.app/mcp来自MCP客户端
笔记:
/mcp被路由到Vercel功能/api/mcp.mjs.- Vercel端点在无状态模式下使用MCP SDK Web标准Streamable HTTP传输。
- POST请求在可能的情况下返回JSON响应,这对于无服务器托管来说比保持长SSE流打开更友好。
- 如果文档在服务已部署的情况下更新,请调用
genlayer_refresh_docs从MCP客户端或重新部署项目。
工具端点
高级编排工具现在使用规范的机器可读响应形状,包括:
kindsummarycurrent_stateblockersnext_actionsfallbacksdata
自动驾驶仪和能力表面是能力感知的:它们应该只喜欢当前配置的端点支持的操作,并明确地将不受支持的调试或操作路径降级为回退。
实时协议工具
genlayer_list_networks
列出记录的GenLayer网络预设、链ID和RPC URL。
genlayer_start_workflow_session
根据生成的合同工作流计划创建持久化工作流会话。
genlayer_list_workflow_sessions
按最近更新的顺序列出持久的工作流会话。
genlayer_get_workflow_session
按id读取持久化工作流会话。
genlayer_update_workflow_step
将工作流会话步骤标记为已完成或待定。
genlayer_autopilot_brief
生成一份包含端点功能、合同上下文、工作流程计划、交接步骤和相关文档的单一操作员级简报。
genlayer_load_contract_artifact
加载本地合约工件或字节码文件,并返回base64+文件元数据。
genlayer_probe_endpoint_capabilities
探测在配置的GenLayer部署上实际暴露的HTTP和RPC表面。
genlayer_generate_agent_handoff
生成一个明确的有序切换包,以便较弱的代理确切地知道下一步要调用哪个GenLayer MCP工具。
genlayer_get_contract_interface
将合约模式规范化为构造函数、视图方法和写入方法。
genlayer_plan_contract_action
为部署、读取或写入操作构建经过架构验证的执行计划。
genlayer_plan_contract_workflow
构建一个涵盖部署、等待、快照、交互和诊断的多阶段合同工作流。
genlayer_run_transaction_report
将等待、检查、状态解释、可选跟踪查找和可选合同快照编排到一个报告中。
genlayer_run_contract_report
将网络上下文、合同快照、界面、工作流和默认计划编排到一个报告中。
genlayer_generate_typescript_workflow
从合约模式或已部署的合约生成GenLayerJS部署/读/写代码段。
genlayer_generate_contract_playbook
为合约生成模式感知部署和交互剧本。
genlayer_node_health
调用已配置的GenLayer节点HTTP GET /health 终点。
genlayer_network_status
返回节点运行状况、链id、块高度、同步状态和可选调试ping状态的组合实时快照。
genlayer_balance
调用已配置的GenLayer HTTP GET /balance 节点运算符的端点。
genlayer_eth_get_balance
呼叫 eth_getBalance 通过配置的GenLayer RPC端点。
genlayer_raw_rpc
呼叫 gen_*, eth_*, zks_*,或 zksync_* 方法直接针对配置的端点。
genlayer_trace_transaction
呼叫 gen_dbg_traceTransaction 当目标节点公开调试方法时。
genlayer_metrics
从配置的HTTP中获取Prometheus风格的指标 GET /metrics 终点。
genlayer_submit_raw_transaction
通过提交已签名的原始交易 eth_sendRawTransaction.
genlayer_inspect_transaction
联合 gen_getTransactionStatus, gen_getTransactionReceipt,以及 eth_getTransactionByHash 一个回应。
genlayer_wait_for_transaction
轮询交易状态,直到 accepted 或 finalized.
genlayer_explain_transaction_status
将交易状态解释为最终阶段、可上诉性和下一步指导。
genlayer_call_contract
执行 gen_call 用于读取、写入模拟或部署模拟请求。
genlayer_get_contract_schema
呼叫 gen_getContractSchema 用于base64编码的合约代码。
genlayer_get_contract_state
呼叫 gen_getContractState 对于已部署的合同。
genlayer_get_contract_code
呼叫 gen_getContractCode 对于已部署的合同。
genlayer_get_contract_snapshot
在一次调用中获取状态、部署代码和派生模式。
genlayer_get_transaction_status
呼叫 gen_getTransactionStatus 用于轻量级事务轮询。
genlayer_get_transaction_receipt
呼叫 gen_getTransactionReceipt 用于完整处理的交易数据。
genlayer_syncing
呼叫 gen_syncing 在配置的端点上。
文档工具
genlayer_search_docs
搜索文档包,并返回带有代码段的排名匹配项。
genlayer_refresh_docs
强制从配置的源刷新缓存的GenLayer文档包。在GenLayer团队发布新文档后使用此功能,例如新的Studio GEN、应付合同、水龙头、Tip Jar或MetaMask更新。
genlayer_read_doc
通过段符、路径、标题或模糊查询读取节。
genlayer_get_doc_by_slug
按精确的slug、路径、文档URL或资源URI读取节。
genlayer_search_examples
搜索包含命令、代码块、SDK片段或配置示例的大量示例部分。
genlayer_get_related_docs
根据文档树中的节路径、标题和邻域查找相关文档页面。
genlayer_list_topics
列出顶级GenLayer文档主题,包括计数和示例页面。
genlayer_list_sections
列出可用的已解析文档部分。
资源
genlayer://protocol/networks
记录GenLayer网络预设、RPC URL和链ID。
genlayer://workflow/sessions
持久工作流会话列表。
genlayer://workflow/session/{id}
具有步骤完成状态的持久工作流会话。
genlayer://workflow/autopilot
配置端点和当前合同上下文的单一操作员等级简报。
genlayer://protocol/rpc-config
显示配置的RPC端点、超时和支持的辅助方法的JSON文档。
genlayer://protocol/capabilities
探测端点功能,显示实际暴露的HTTP和RPC表面。
genlayer://protocol/transaction/{txId}
特定事务哈希的组合事务检查资源。
genlayer://protocol/transaction/{txId}/report
编写具有状态解释和可选跟踪数据的交易报告。
genlayer://protocol/contract/{address}/state
特定已部署合约的当前接受状态快照。
genlayer://protocol/contract/{address}/snapshot
特定部署合约的组合状态、代码和模式快照。
genlayer://protocol/contract/{address}/playbook
已部署合约的模式感知部署和交互剧本。
genlayer://protocol/contract/{address}/report
包含网络上下文、快照、界面、工作流和默认计划的合同报告。
genlayer://protocol/contract/{address}/plans
默认工作流加上已部署合同的默认读/写操作计划。
genlayer://protocol/contract/{address}/method/{method}/plan/{action}
特定读写方法的默认架构验证计划。
genlayer://docs/index
所有解析部分的JSON索引。
genlayer://docs/section/{slug}
单个文档部分作为只读资源。
项目结构
| 文件/文件夹 | 目的 |
|---|---|
src/index.ts | 服务器逻辑:加载文档、解析部分、注册工具和资源 |
src/cli.ts | 启动stdio MCP服务器的入口点 |
src/genlayerDocs.ts | 文档加载、缓存、解析、搜索和格式化助手 |
src/genlayerRpc.ts | GenLayer RPC、HTTP操作端点、网络预设和事务助手 |
src/genlayerContractToolkit.ts | 模式规范化和GenLayerJS工作流/剧本生成 |
src/genlayerArtifacts.ts | 用于工件驱动的GenLayer工作流的本地工件加载和哈希 |
src/genlayerWorkflowSessions.ts | 持久工作流会话状态和会话格式化帮助程序 |
api/ | 用于远程MCP、运行状况和根端点的Vercel API功能 |
dist/ | 编译的JavaScript输出由生成 npm run build |
package.json | 依赖关系、脚本、包元数据和CLI注册 |
tsconfig.json | TypeScript编译器设置 |
vercel.json | Vercel路由和功能配置 |
README.md | 使用和客户端设置 |
它是如何建造的
此MCP服务器是基于官方MCP SDK构建的轻量级TypeScript实现。
核心组件
- 建于
@modelcontextprotocol/sdk - 用途
StdioServerTransport适用于本地MCP客户端 - 用途
zod验证工具参数 - 从官方文档网站获取GenLayer文档包
- 根据每个资源将包解析为节级资源
# path/to/file.mdx边界 - 对标题、蛞蝓、路径和正文使用简单的确定性排名函数
配置
可选环境变量:
GENLAYER_DOCS_URL:文档包的备用源URL或本地文件路径GENLAYER_DOCS_CACHE_FILE:下载包的缓存位置GENLAYER_DOCS_REFRESH_HOURS:缓存新鲜度窗口(以小时为单位),默认值24GENLAYER_DOCS_TIMEOUT_MS:HTTP超时(毫秒),默认值15000
服务器还会自动刷新过时的内存快照。对于长时间运行的HTTP部署,调用 genlayer_refresh_docs 当GenLayer团队发布新文档并且需要立即更新而无需重新启动服务时。
本地开发
本节仅适用于MCP服务器本身。
npm install
npm run build
npm run check
npm startnpm run check 验证服务器是否可以获取和解析实时GenLayer文档包。
