Skip to content

io.github.klever-io/mcp-klever-vm

by klever-io · remote · local (npm) · no sign-in to list tools · v1.3.0 · published by GitHub user klever-io

MCP server for Klever blockchain smart contract development.

Changes · 4

16 tools: 4 change things and 12 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http klever-vm https://mcp.klever.org/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "query_sc" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "query_sc" says "query": a word for reading.

    What this check looks for
  • The server marks "init_klever_project" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "init_klever_project" says "init": a word for a change.

    What this check looks for
  • The server marks "add_helper_scripts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_helper_scripts" says "add": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

16 tools

Changes things 4Claude Code: ask
  • add_helper_scriptsAdd build, deploy, upgrade, query, test, and interact automation scripts to an existing Klever smart contract project.1 finding

    Why it is in this group

    • The name "add_helper_scripts" says "add": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "add_helper_scripts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_helper_scripts" says "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Add build, deploy, upgrade, query, test, and interact automation scripts to an existing Klever smart contract project. Creates a scripts/ directory with bash scripts and updates .gitignore. Run this from the project root directory (where Cargo.toml is located). NOTE: In public profile, this tool returns a project template JSON and does not perform any filesystem changes.

    Annotations the server declares

    • title: Add Helper Scripts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • enhance_with_contextAugment a natural-language query with relevant Klever VM knowledge base context.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Augment a natural-language query with relevant Klever VM knowledge base context. Extracts Klever-specific keywords, finds matching entries, and returns the original query combined with relevant code examples and documentation in markdown. Use this to enrich a user prompt before answering Klever development questions.

    Annotations the server declares

    • title: Enhance Query with Context
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • init_klever_projectScaffold a new Klever smart contract project using the SDK.1 finding

    Why it is in this group

    • The name "init_klever_project" says "init": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "init_klever_project" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "init_klever_project" says "init": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Scaffold a new Klever smart contract project using the SDK. Creates the Rust project structure via `ksc new` and generates automation scripts (build, deploy, upgrade, query, test, interact). Requires Klever SDK installed at ~/klever-sdk/. Run check_sdk_status first to verify. NOTE: In public profile, this tool returns a project template JSON and does not perform any filesystem changes.

    Annotations the server declares

    • title: Initialize Klever Project
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_scExecute a read-only query against a Klever smart contract (VM view call).1 finding

    Why it is in this group

    • The name "query_sc" says "query": a word for reading.
    • The description's first verb is "execute": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "query_sc" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "query_sc" says "query": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Execute a read-only query against a Klever smart contract (VM view call). Returns the contract function result as base64-encoded return data. Arguments must be base64-encoded. Use this to read contract state without modifying it.

    Annotations the server declares

    • title: Query Smart Contract
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 12Claude Code: allow
  • analyze_contractAnalyze Klever smart contract Rust source code for common issues.No findings

    Why it is in this group

    • The name "analyze_contract" says "analyze": a word for reading.
    Description, as the server wrote it
    Analyze Klever smart contract Rust source code for common issues. Checks for missing imports, missing #[klever_sc::contract] macro, missing endpoint annotations, payable handlers without call_value usage, storage mappers without #[storage_mapper], and missing event definitions. Returns findings with severity (error/warning/info) and links to relevant knowledge base entries.

    Annotations the server declares

    • title: Analyze Contract
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_similarFind knowledge base entries similar to a given entry by comparing tags and content.No findings

    Why it is in this group

    • The name "find_similar" says "find": a word for reading.
    Description, as the server wrote it
    Find knowledge base entries similar to a given entry by comparing tags and content. Returns related contexts ranked by similarity score. Useful for discovering related patterns, examples, or documentation after finding one relevant entry.

    Annotations the server declares

    • title: Find Similar Contexts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_accountGet full account details for a Klever blockchain address including nonce, balance, frozen balance, allowance, and permissions.No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    Get full account details for a Klever blockchain address including nonce, balance, frozen balance, allowance, and permissions. Use this when you need comprehensive account state beyond just the balance.

    Annotations the server declares

    • title: Get Account
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_asset_infoGet complete properties and configuration for any asset on the Klever blockchain (KLV, KFI, KDA tokens, NFT collections).No findings

    Why it is in this group

    • The name "get_asset_info" says "get": a word for reading.
    Description, as the server wrote it
    Get complete properties and configuration for any asset on the Klever blockchain (KLV, KFI, KDA tokens, NFT collections). Returns supply info, permissions (CanMint, CanBurn, etc.), roles, precision, and metadata. Note: string fields like ID, Name, Ticker are base64-encoded in the raw response.

    Annotations the server declares

    • title: Get Asset Info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_balanceGet the KLV or KDA token balance for a Klever blockchain address.No findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.
    Description, as the server wrote it
    Get the KLV or KDA token balance for a Klever blockchain address. Returns the balance in the smallest unit (for KLV: 1 KLV = 1,000,000 units with 6 decimal places). Optionally specify an asset ID to query a specific KDA token balance instead of KLV.

    Annotations the server declares

    • title: Get Balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_blockGet block information from the Klever blockchain by nonce (block number).No findings

    Why it is in this group

    • The name "get_block" says "get": a word for reading.
    Description, as the server wrote it
    Get block information from the Klever blockchain by nonce (block number). If no nonce is provided, returns the latest block. Returns hash, timestamp, proposer, number of transactions, and other block metadata.

    Annotations the server declares

    • title: Get Block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_contextRetrieve a single knowledge base entry by its unique ID.No findings

    Why it is in this group

    • The name "get_context" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve a single knowledge base entry by its unique ID. Returns the full entry including content, metadata, tags, and related context IDs. Use this after query_context or find_similar to get complete details for a specific entry.

    Annotations the server declares

    • title: Get Context by ID
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_knowledge_statsGet summary statistics of the Klever VM knowledge base.No findings

    Why it is in this group

    • The name "get_knowledge_stats" says "get": a word for reading.
    Description, as the server wrote it
    Get summary statistics of the Klever VM knowledge base. Returns total entry count, counts broken down by context type (code_example, best_practice, security_tip, etc.), and a sample entry title for each type. Useful for understanding what knowledge is available before querying.

    Annotations the server declares

    • title: Knowledge Base Stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_transactionGet transaction details by hash from the Klever blockchain.No findings

    Why it is in this group

    • The name "get_transaction" says "get": a word for reading.
    Description, as the server wrote it
    Get transaction details by hash from the Klever blockchain. Returns sender, receiver, status, block info, contracts, and receipts. Uses the API proxy for indexed data.

    Annotations the server declares

    • title: Get Transaction
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_validatorsList active validators on the Klever blockchain network.No findings

    Why it is in this group

    • The name "list_validators" says "list": a word for reading.
    Description, as the server wrote it
    List active validators on the Klever blockchain network. Returns validator addresses, names, commission rates, delegation info, and staking amounts.

    Annotations the server declares

    • title: List Validators
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • query_contextSearch the Klever VM knowledge base for smart contract development context.No findings

    Why it is in this group

    • The name "query_context" says "query": a word for reading.
    Description, as the server wrote it
    Search the Klever VM knowledge base for smart contract development context. Returns structured JSON with matching entries, scores, and pagination. Use this for precise filtering by type or tags; use search_documentation for human-readable "how do I..." answers.

    Annotations the server declares

    • title: Query Knowledge Base
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_documentationSearch Klever VM documentation and knowledge base.No findings

    Why it is in this group

    • The name "search_documentation" says "search": a word for reading.
    Description, as the server wrote it
    Search Klever VM documentation and knowledge base. Returns human-readable markdown with titles, descriptions, and code snippets. Optimized for "how do I..." questions. Use this instead of query_context when you need formatted developer documentation.

    Annotations the server declares

    • title: Search Documentation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http klever-vm https://mcp.klever.org/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__klever-vm__query_context",
      "mcp__klever-vm__get_context",
      "mcp__klever-vm__find_similar",
      "mcp__klever-vm__get_knowledge_stats",
      "mcp__klever-vm__search_documentation",
      "mcp__klever-vm__analyze_contract",
      "mcp__klever-vm__get_balance",
      "mcp__klever-vm__get_account",
      "mcp__klever-vm__get_asset_info",
      "mcp__klever-vm__get_transaction",
      "mcp__klever-vm__get_block",
      "mcp__klever-vm__list_validators"
    ],
    "ask": [
      "mcp__klever-vm__enhance_with_context",
      "mcp__klever-vm__query_sc",
      "mcp__klever-vm__init_klever_project",
      "mcp__klever-vm__add_helper_scripts"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as klever-vm. Review it before you use it.