genskill-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@genskill-mcpScaffold a new storage Intelligent Contract"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
genskill-mcp
An MCP server that lets any AI agent build on GenLayer: search the docs, inspect contracts and transactions over RPC, and scaffold, lint, and test Intelligent Contracts.
genskill-mcp is a Model Context Protocol server for MCP-compatible clients (Claude Code, Cursor, VS Code, Gemini CLI, Codex, and remote MCP clients over HTTP). It combines searchable GenLayer documentation, live protocol/RPC inspection of contracts and transactions, and a contract authoring toolkit (scaffold, lint, and test Intelligent Contracts), so an agent can go from zero to a deployable contract without leaving its editor.
This project does not sign transactions or manage private keys. It supports live node inspection and contract interaction through GenLayer JSON-RPC methods such as gen_call, gen_getContractState, gen_getContractCode, gen_getContractSchema, gen_getTransactionStatus, and gen_getTransactionReceipt.
Install
Use | Command / URL |
Local (stdio) |
|
Hosted (remote) |
|
Per-client setup (Claude Code, Cursor, VS Code, Gemini, Codex, remote) is in the quickstarts below.
Related MCP server: GenLayer MCP Server
What this server does
The server loads the official GenLayer docs bundle:
It parses that bundle into sections and exposes:
searchable MCP tools
a browsable docs index resource
individual section resources
live GenLayer JSON-RPC tools for contract and transaction inspection
a browsable RPC configuration resource
contract authoring tools: scaffold a starter contract and lint it before deploy
guided MCP prompts for writing, testing, and debugging contracts
This repository supports two transports:
stdiofor local CLI tools such as Claude Code, Codex, Cursor, VS Code, and Gemini CLIStreamable HTTP for deployed remote MCP usage
Build a contract (authoring tools, new in 2.2)
If you are new to GenLayer, this is the fast path from zero to a deployable contract. It does not just point you at docs, it gives you working code and checks it.
genlayer_scaffold_contractgenerates a working starter Intelligent Contract for a template (storage,llm-judge,web-oracle,token). The output already has the runner header pinned and avoids the common GenVM deploy-killers, so it deploys as-is.genlayer_lint_contractruns static pre-deploy checks on contract source. It catches the mistakes that make a deploy finalize with a bareinvalid_contract(no stack trace): a comment line directly under the runner header, an unpinned or:test/:latestrunner, a missinggl.Contractclass, forbidden sandbox imports (os,sys,subprocess,random, ...), and GenVM Python-subset issues such asforloops,sorted,.sort,lambda, andlist/dictstorage fields.genlayer_scaffold_testgenerates a fast direct-mode test (genlayer-test) for a template, using the real fixtures (direct_vm,direct_deploy,direct_alice) and mocking web/LLM calls so tests stay deterministic.
Three guided prompts wrap the workflow for any MCP client:
genlayer_write_contractscaffold, decide what needs consensus, then lint.genlayer_test_contractdirect-mode then integration testing.genlayer_debug_deploythe checklist for a deploy that errored on-chain.
And a single always-available resource, genlayer://guide/contract-rules, is
an authoritative cheat sheet (skeleton, storage types, web/LLM/equivalence APIs,
the GenVM Python-subset rules, and the deploy/finalize/debug checklist) that any
connecting agent can read to get contract writing and debugging right. It tracks
the latest GenLayer docs and the official write-contract / direct-tests skills.
Typical loop: scaffold, edit, genlayer_lint_contract until it is clean, deploy,
then inspect it live with genlayer_get_contract_snapshot.
RPC configuration
Live protocol tools use the configured GenLayer RPC endpoint.
GENLAYER_RPC_URL: JSON-RPC endpoint to useGENLAYER_RPC_TIMEOUT_MS: timeout for live RPC requests
If GENLAYER_RPC_URL is not set, the server defaults to:
https://studio.genlayer.com/apiQuickstart for Claude Code
claude mcp add --transport stdio genskill -- npx -y genskill-mcpThen start Claude Code:
claudeInside Claude Code, run:
/mcpThe genskill server and its tool endpoints should be listed.
Quickstart for Cursor (per-project)
Add this to .cursor/mcp.json:
{
"mcpServers": {
"genskill": {
"command": "npx",
"args": ["-y", "genskill-mcp"]
}
}
}If a Cursor version does not recognizemcpServers, use mcp_servers as the top-level key instead.
Quickstart for VS Code (per-workspace)
Add this to .vscode/mcp.json:
{
"servers": {
"genskill": {
"type": "stdio",
"command": "npx",
"args": ["-y", "genskill-mcp"]
}
},
"inputs": []
}Quickstart for Gemini CLI
Add the MCP server globally:
gemini mcp add --scope user genskill npx -y genskill-mcpConfirm it is registered:
gemini mcp listQuickstart for Codex
Add the MCP server with the Codex CLI:
codex mcp add genskill -- npx -y genskill-mcpConfirm it is registered:
codex mcp listAlternatively, add this to a Codex MCP config:
[mcp_servers.genskill]
command = "npx"
args = ["-y", "genskill-mcp"]Restart Codex if needed so it reloads the MCP config.
Quickstart from source
For source-based usage instead of installing from npm:
Clone the repo:
git clone https://github.com/Jr-kenny/genskill-mcp cd genskill-mcpInstall dependencies and build:
npm install npm run buildRun the local entrypoint:
node /absolute/path/to/genskill-mcp/dist/cli.js
Substitute that node .../dist/cli.js command in any MCP client config for source-based usage over npx.
Quickstart for remote MCP clients
For remote MCP clients, run the HTTP entrypoint and deploy it as a public web service.
This is not Claude-specific. It is the deployed transport for any client that can connect to remote MCP servers over Streamable HTTP, including chat-style AI apps where that capability is available.
Deploy this repository to Vercel.
The deployed MCP endpoint is:
https://genskill-mcp.vercel.app/mcpThe deployed service also exposes:
GET /for a small server info responseGET /healthfor health checksPOST /mcpfor MCP Streamable HTTP requests
Add the deployed MCP URL in a remote MCP client as an HTTP MCP server.
Use:
https://genskill-mcp.vercel.app/mcpThis applies to Claude-hosted integrations, ChatGPT-style apps, and other remote AI clients where MCP server URLs are supported.
For local HTTP testing, run:
npm install
npm run build
npm run start:httpIt listens on port 3000 by default. Set the PORT environment variable to change it.
Vercel deployment
This repository is configured for Vercel through vercel.json and the Web-standard API functions in api/.
Public MCP endpoint on Vercel:
https://genskill-mcp.vercel.app/mcpUseful checks:
https://genskill-mcp.vercel.app/https://genskill-mcp.vercel.app/healthPOST https://genskill-mcp.vercel.app/mcpfrom an MCP client
Notes:
/mcpis routed to the Vercel function at/api/mcp.mjs.The Vercel endpoint uses the MCP SDK Web-standard Streamable HTTP transport in stateless mode.
POST requests return JSON responses where possible, which is friendlier for serverless hosting than holding long SSE streams open.
If the docs update while the service is already deployed, call
genlayer_refresh_docsfrom an MCP client or redeploy the project.
Tool endpoints
High-level orchestration tools now use a canonical machine-readable response shape with:
kindsummarycurrent_stateblockersnext_actionsfallbacksdata
The autopilot and capability surfaces are capability-aware: they should prefer only actions supported by the currently configured endpoint and explicitly downgrade unsupported debug or ops paths into fallbacks.
Live protocol tools
genlayer_list_networksLists documented GenLayer network presets, chain IDs, and RPC URLs.genlayer_start_workflow_sessionCreates a persisted workflow session from a generated contract workflow plan.genlayer_list_workflow_sessionsLists persisted workflow sessions ordered by most recently updated.genlayer_get_workflow_sessionReads a persisted workflow session by id.genlayer_update_workflow_stepMarks a workflow session step as completed or pending.genlayer_autopilot_briefGenerates a single operator-grade brief with endpoint capabilities, contract context, workflow plans, handoff steps, and relevant docs.genlayer_load_contract_artifactLoads a local contract artifact or bytecode file and returns base64 plus file metadata.genlayer_probe_endpoint_capabilitiesProbes which HTTP and RPC surfaces are actually exposed on the configured GenLayer deployment.genlayer_generate_agent_handoffGenerates an explicit ordered handoff bundle so weaker agents know exactly which genskill-mcp tools to call next.genlayer_get_contract_interfaceNormalizes a contract schema into constructor, view methods, and write methods.genlayer_plan_contract_actionBuilds a schema-validated execution plan for deploy, read, or write actions.genlayer_plan_contract_workflowBuilds a multi-phase contract workflow covering deploy, wait, snapshot, interaction, and diagnosis.genlayer_run_transaction_reportOrchestrates waiting, inspection, status explanation, optional trace lookup, and optional contract snapshot into one report.genlayer_run_contract_reportOrchestrates network context, contract snapshot, interface, workflow, and default plans into one report.genlayer_generate_typescript_workflowGenerates GenLayerJS deploy/read/write snippets from a contract schema or deployed contract.genlayer_generate_contract_playbookGenerates a schema-aware deployment and interaction playbook for a contract.genlayer_node_healthCalls the configured GenLayer node HTTPGET /healthendpoint.genlayer_network_statusReturns a combined live snapshot of node health, chain id, block height, sync status, and optional debug ping status.genlayer_balanceCalls the configured GenLayer HTTPGET /balanceendpoint for the node operator.genlayer_eth_get_balanceCallseth_getBalancethrough the configured GenLayer RPC endpoint.genlayer_raw_rpcCallsgen_*,eth_*,zks_*, orzksync_*methods directly against the configured endpoint.genlayer_trace_transactionCallsgen_dbg_traceTransactionwhen the target node exposes debug methods.genlayer_metricsFetches Prometheus-style metrics from the configured HTTPGET /metricsendpoint.genlayer_submit_raw_transactionSubmits a signed raw transaction througheth_sendRawTransaction.genlayer_inspect_transactionCombinesgen_getTransactionStatus,gen_getTransactionReceipt, andeth_getTransactionByHashinto one response.genlayer_wait_for_transactionPolls transaction status untilacceptedorfinalized.genlayer_explain_transaction_statusInterprets transaction status into finality phase, appealability, and next-step guidance.genlayer_call_contractExecutesgen_callfor read, write-simulation, or deploy-simulation requests.genlayer_get_contract_schemaCallsgen_getContractSchemafor base64-encoded contract code.genlayer_get_contract_stateCallsgen_getContractStatefor a deployed contract.genlayer_get_contract_codeCallsgen_getContractCodefor a deployed contract.genlayer_get_contract_snapshotFetches state, deployed code, and derived schema in one call.genlayer_get_transaction_statusCallsgen_getTransactionStatusfor lightweight transaction polling.genlayer_get_transaction_receiptCallsgen_getTransactionReceiptfor full processed transaction data.genlayer_syncingCallsgen_syncingon the configured endpoint.
Documentation tools
genlayer_search_docsSearches the documentation bundle and returns ranked matches with snippets.genlayer_refresh_docsForce-refreshes the cached GenLayer documentation bundle from the configured source. Use this after the GenLayer team ships new docs, for example new Studio GEN, payable contract, Faucet, Tip Jar, or MetaMask updates.genlayer_read_docReads a section by slug, path, title, or fuzzy query.genlayer_get_doc_by_slugReads a section by exact slug, path, docs URL, or resource URI.genlayer_search_examplesSearches example-heavy sections that contain commands, code blocks, SDK snippets, or config examples.genlayer_get_related_docsFinds related documentation pages based on section path, title, and neighborhood in the docs tree.genlayer_list_topicsLists top-level GenLayer documentation topics with counts and example pages.genlayer_list_sectionsLists available parsed documentation sections.
Resources
genlayer://protocol/networksDocumented GenLayer network presets, RPC URLs, and chain IDs.genlayer://workflow/sessionsList of persisted workflow sessions.genlayer://workflow/session/{id}Persisted workflow session with step completion state.genlayer://workflow/autopilotSingle operator-grade brief for the configured endpoint and current contract context.genlayer://protocol/rpc-configJSON document showing the configured RPC endpoint, timeout, and supported helper methods.genlayer://protocol/capabilitiesProbed endpoint capabilities showing which HTTP and RPC surfaces are actually exposed.genlayer://protocol/transaction/{txId}Combined transaction inspection resource for a specific transaction hash.genlayer://protocol/transaction/{txId}/reportComposed transaction report with status interpretation and optional trace data when exposed.genlayer://protocol/contract/{address}/stateCurrent accepted-state snapshot for a specific deployed contract.genlayer://protocol/contract/{address}/snapshotCombined state, code, and schema snapshot for a specific deployed contract.genlayer://protocol/contract/{address}/playbookSchema-aware deployment and interaction playbook for a deployed contract.genlayer://protocol/contract/{address}/reportComposed contract report with network context, snapshot, interface, workflow, and default plans.genlayer://protocol/contract/{address}/plansDefault workflow plus default read/write action plans for a deployed contract.genlayer://protocol/contract/{address}/method/{method}/plan/{action}Default schema-validated plan for a specific read or write method.genlayer://docs/indexJSON index of all parsed sections.genlayer://docs/section/{slug}Individual documentation sections as read-only resources.
Project structure
File/Folder | Purpose |
| The server logic: loads docs, parses sections, registers tools and resources |
| Entry point that starts the stdio MCP server |
| Contract scaffolder + linter + test scaffolder (pure, unit-tested) |
| Registers the authoring tools and the dev-workflow prompts |
| Shared canonical response envelope helpers |
| Docs loading, caching, parsing, search, and formatting helpers |
| GenLayer RPC, HTTP ops endpoints, network presets, and transaction helpers |
| Schema normalization and GenLayerJS workflow/playbook generation |
| Local artifact loading and hashing for artifact-driven GenLayer workflows |
| Persisted workflow session state and session formatting helpers |
| Vercel API functions for the remote MCP, health, and root endpoints |
| Unit tests for the authoring module ( |
| Compiled JavaScript output generated by |
| Dependencies, scripts, package metadata, and CLI registration |
| TypeScript compiler settings |
| Vercel routing and function configuration |
| Usage and client setup |
How it's built
This MCP server is a lightweight TypeScript implementation built on the official MCP SDK.
Core components
Built on
@modelcontextprotocol/sdkUses
StdioServerTransportfor local MCP clientsUses
zodto validate tool argumentsFetches the GenLayer docs bundle from the official docs site
Parses the bundle into section-level resources based on each
# path/to/file.mdxboundaryUses a simple deterministic ranking function over titles, slugs, paths, and body text
Configuration
Optional environment variables:
GENLAYER_DOCS_URL: alternate source URL or local file path for the docs bundleGENLAYER_DOCS_CACHE_FILE: cache location for the downloaded bundleGENLAYER_DOCS_REFRESH_HOURS: cache freshness window in hours, default24GENLAYER_DOCS_TIMEOUT_MS: HTTP timeout in milliseconds, default15000
The server also refreshes stale in-memory snapshots automatically. For long-running HTTP deployments, call genlayer_refresh_docs when the GenLayer team ships new documentation and an immediate update is needed without restarting the service.
Local development
This section is only for working on the MCP server itself.
npm install
npm run build
npm run check
npm startnpm run check verifies that the server can fetch and parse the live GenLayer docs bundle.
Releasing (maintainers)
Releases are published to npm automatically by .github/workflows/release.yml
when a v* tag is pushed. One-time setup: add an npm automation token as the
NPM_TOKEN repository secret (gh secret set NPM_TOKEN).
To cut a release:
npm version minor # bumps package.json, commits, creates the tag vX.Y.Z
git push --follow-tags # pushes the commit + tag; CI builds, tests, publishesThe workflow checks the tag matches package.json, runs the tests, and publishes
with npm provenance. Once published, consumers update with:
npx -y genskill-mcp@latest # always newest
npm update -g genskill-mcp # if installed globallyRemote (Vercel) users need no action — the hosted endpoint auto-deploys from
main; clients pick up changes on reconnect.
Credits
Built and maintained by:
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jr-kenny/genskill-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server