Klever VM MCP Server

ทางการ

MCP server for [Klever](https://klever.org) blockchain smart contract development, on-chain data exploration, and VM interaction. Public remote server available at `https://mcp.klever.org/mcp`.

เอกสาร

Klever MCP Server

เซิร์ฟเวอร์ Model Context Protocol (MCP) ที่ออกแบบมาเฉพาะสำหรับการพัฒนาสมาร์ทคอนแทร็กต์บนบล็อกเชน Klever เซิร์ฟเวอร์นี้เก็บรักษาและให้บริการความรู้เชิงบริบท รวมถึงรูปแบบโค้ด แนวปฏิบัติที่ดีที่สุด และพฤติกรรมรันไทม์สำหรับนักพัฒนาที่ทำงานกับ Klever VM SDK

คุณสมบัติ

  • 🚀 การทำงานสามโหมด: รันเป็นเซิร์ฟเวอร์ HTTP API, เซิร์ฟเวอร์ MCP stdio หรือเซิร์ฟเวอร์ MCP สาธารณะที่โฮสต์ไว้
  • 💾 พื้นที่จัดเก็บที่ยืดหยุ่น: รองรับแบ็กเอนด์แบบในหน่วยความจำหรือ Redis
  • 🔍 การเรียกค้นบริบทอัจฉริยะ: ค้นหาตามประเภท แท็ก หรือประเภทคอนแทร็กต์
  • 📝 การสกัดรูปแบบอัตโนมัติ: แยกวิเคราะห์คอนแทร็กต์ Klever เพื่อสกัดตัวอย่างและรูปแบบ
  • 🎯 การจัดอันดับความเกี่ยวข้อง: การให้คะแนนและจัดอันดับบริบทอย่างชาญฉลาด
  • 🔄 อัปเดตแบบสด: เพิ่มและอัปเดตบริบทแบบเรียลไทม์
  • 🛡️ ความปลอดภัยของประเภท: TypeScript เต็มรูปแบบพร้อมการตรวจสอบด้วย Zod
  • 📚 ฐานความรู้ที่ครอบคลุม: โหลดไว้ล่วงหน้าด้วยรูปแบบ แนวปฏิบัติที่ดีที่สุด และตัวอย่างของ Klever VM
  • 🔧 การตรวจสอบคอนแทร็กต์: ตรวจจับปัญหาทั่วไปและรูปแบบที่ไม่พึงประสงค์โดยอัตโนมัติ
  • 🚀 สคริปต์การปรับใช้: สคริปต์พร้อมใช้งานสำหรับการปรับใช้ อัปเกรด และสอบถามคอนแทร็กต์

เริ่มต้นอย่างรวดเร็ว

ติดตั้งและรันทันทีผ่าน npx — ไม่ต้องโคลน:

npx -y @klever/mcp-server

หรือเชื่อมต่อกับเซิร์ฟเวอร์สาธารณะที่โฮสต์ไว้:

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

ดู การรวม MCP Client สำหรับการกำหนดค่าเฉพาะของไคลเอนต์

สถาปัตยกรรม

mcp-klever-vm/
├── src/
│   ├── api/          # HTTP API routes with validation
│   ├── context/      # Context management service layer
│   ├── mcp/          # MCP protocol server implementation
│   ├── parsers/      # Klever contract parser and validator
│   ├── storage/      # Storage backends (memory/Redis)
│   │   ├── memory.ts # In-memory storage with size limits
│   │   └── redis.ts  # Redis storage with optimized queries
│   ├── types/        # TypeScript type definitions
│   ├── utils/        # Utilities and ingestion tools
│   └── knowledge/    # Modular knowledge base (95+ entries)
│       ├── core/     # Core concepts and imports
│       ├── storage/  # Storage patterns and mappers
│       ├── events/   # Event handling and rules
│       ├── tokens/   # Token operations and decimals
│       ├── modules/  # Built-in modules (admin, pause)
│       ├── tools/    # CLI tools (koperator, ksc)
│       ├── scripts/  # Helper scripts
│       ├── examples/ # Complete contract examples
│       ├── errors/   # Error patterns
│       ├── best-practices/ # Optimization and validation
│       └── documentation/  # API reference
├── tests/            # Test files
└── docs/             # Documentation

การปรับปรุงหลักที่ทำ

  1. เลเยอร์พื้นที่จัดเก็บ

    • เพิ่มขีดจำกัดหน่วยความจำเพื่อป้องกัน OOM ใน InMemoryStorage
    • ปรับแต่งคิวรี Redis เพื่อหลีกเลี่ยงคำสั่ง KEYS แบบ O(N)
    • เพิ่มธุรกรรมแบบอะตอมมิกสำหรับการดำเนินการ Redis
    • ปรับปรุงการจัดการข้อผิดพลาดและการตรวจสอบ
  2. ความปลอดภัยของ API

    • เพิ่มการตรวจสอบอินพุตสำหรับทุกเอนด์พอยต์
    • จำกัดขนาดการดำเนินการแบบกลุ่ม
    • ตอบกลับข้อผิดพลาดอย่างเหมาะสมโดยไม่เปิดเผยข้อมูลภายใน
    • ข้อความแสดงข้อผิดพลาดที่คำนึงถึงสภาพแวดล้อม
  3. ความปลอดภัยของประเภท

    • การตรวจสอบสคีมาแบบรวมศูนย์
    • อินเทอร์เฟซ TypeScript ที่เหมาะสมสำหรับตัวเลือก
    • การตรวจสอบข้อมูลที่จัดเก็บ ณ รันไทม์
  4. ประสิทธิภาพ

    • การดำเนินการแบบกลุ่มโดยใช้ Redis MGET
    • คิวรีตามดัชนีแทนการสแกนทั้งหมด
    • ปรับแต่งการดำเนินการนับ

การติดตั้ง

  1. โคลนที่เก็บ:
git clone https://github.com/klever-io/mcp-klever-vm.git
cd mcp-klever-vm
  1. ติดตั้งการพึ่งพา:
pnpm install
  1. คัดลอกการกำหนดค่าสภาพแวดล้อม:
cp .env.example .env
  1. ติดตั้งเครื่องมือ Klever SDK (จำเป็นสำหรับธุรกรรม):
chmod +x scripts/install-sdk.sh && ./scripts/install-sdk.sh
  1. สร้างโปรเจกต์:
pnpm run build

การกำหนดค่า

แก้ไขไฟล์ .env เพื่อกำหนดค่าเซิร์ฟเวอร์:

# Server Mode (http, mcp, or public)
MODE=http

# HTTP Server Port (only for http mode)
PORT=3000

# Storage Backend (memory or redis)
STORAGE_TYPE=memory

# Maximum contexts for in-memory storage (default: 10000)
MEMORY_MAX_SIZE=10000

# Redis URL (only if STORAGE_TYPE=redis)
REDIS_URL=redis://localhost:6379

# Node environment (development or production)
NODE_ENV=development

การรวม MCP Client

Claude Code

# Add via npx (recommended)
claude mcp add klever-vm -- npx -y @klever/mcp-server

# Or connect to the public hosted server
claude mcp add -t http klever-vm https://mcp.klever.org/mcp

Claude Desktop

เพิ่มลงใน claude_desktop_config.json ของคุณ:

{
  "mcpServers": {
    "klever-vm": {
      "command": "npx",
      "args": ["-y", "@klever/mcp-server"]
    }
  }
}

สำหรับการตั้งค่าโดยละเอียด ดู คู่มือการติดตั้ง Claude Desktop

Cursor

เพิ่มลงในการตั้งค่า Cursor MCP ของคุณ (.cursor/mcp.json):

{
  "mcpServers": {
    "klever-vm": {
      "command": "npx",
      "args": ["-y", "@klever/mcp-server"]
    }
  }
}

VS Code (GitHub Copilot)

เพิ่มลงใน .vscode/mcp.json ในโปรเจกต์ของคุณ:

{
  "servers": {
    "klever-vm": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@klever/mcp-server"]
    }
  }
}

สำหรับการตั้งค่าโดยละเอียด ดู คู่มือการติดตั้ง VS Code

เซิร์ฟเวอร์ MCP สาธารณะ

Klever MCP Server สามารถโฮสต์เป็นบริการสาธารณะที่ใช้ร่วมกันได้ ทำให้นักพัฒนาทุกคนสามารถเชื่อมต่อได้โดยไม่ต้องรันในเครื่อง

การเชื่อมต่อกับเซิร์ฟเวอร์สาธารณะ

# Add permanently (user-level)
claude mcp add -t http klever-vm https://mcp.klever.org/mcp

# Add for current project only
claude mcp add -t http -s project klever-vm https://mcp.klever.org/mcp

เครื่องมือที่พร้อมใช้งาน (โหมดสาธารณะ)

เซิร์ฟเวอร์สาธารณะเปิดเผยชุดเครื่องมือย่อยแบบอ่านอย่างเดียวเพื่อความปลอดภัย:

เครื่องมือคำอธิบาย
query_contextค้นหาฐานความรู้ Klever VM
get_contextเรียกค้นบริบทเฉพาะตาม ID
find_similarค้นหาบริบทที่คล้ายกับบริบทที่กำหนด
get_knowledge_statsรับสถิติฐานความรู้
enhance_with_contextปรับปรุงคิวรีด้วยบริบท Klever VM ที่เกี่ยวข้อง

การดำเนินการเขียน (add_context) และเครื่องมือที่ใช้เชลล์ (init_klever_project, add_helper_scripts) ถูกปิดใช้งานในโหมดสาธารณะ

การโฮสต์ด้วยตนเองด้วย Docker

# Build and run
docker build -t mcp-klever-vm .
docker run -p 3000:3000 mcp-klever-vm

# Or using docker compose
docker compose up -d

จากนั้นเชื่อมต่อ:

claude mcp add -t http klever-vm-local http://localhost:3000/mcp

การโฮสต์ด้วยตนเองโดยไม่ใช้ Docker

pnpm install
pnpm run build
pnpm run start:public

ตัวแปรสภาพแวดล้อม (โหมดสาธารณะ)

ตัวแปรค่าเริ่มต้นคำอธิบาย
MODEhttpตั้งเป็น public สำหรับโหมดโฮสต์
PORT3000พอร์ตเซิร์ฟเวอร์
CORS_ORIGINS(ไม่ได้ตั้งค่า)ต้นทางที่อนุญาตคั่นด้วยจุลภาค ไม่ได้ตั้งค่าหรือ * อนุญาตทุกต้นทาง
RATE_LIMIT_MCP60คำขอต่อนาทีของเอนด์พอยต์ MCP ต่อ IP
RATE_LIMIT_API30คำขอต่อนาทีของเอนด์พอยต์ API ต่อ IP
BODY_SIZE_LIMIT1mbขนาดเนื้อหาคำขอสูงสุด

หมายเหตุการปรับใช้

สำหรับการใช้งานจริงที่ mcp.klever.org:

  • ปรับใช้คอนเทนเนอร์ Docker หลังพร็อกซีย้อนกลับ (nginx/Caddy/cloud LB) สำหรับการสิ้นสุด TLS
  • ตรวจสอบให้แน่ใจว่าพร็อกซีส่งส่วนหัว mcp-session-id และรองรับ SSE (ปิดการบัฟเฟอร์การตอบสนอง)
  • อินสแตนซ์เดียวเพียงพอเนื่องจากเซิร์ฟเวอร์เป็นแบบอ่านอย่างเดียวพร้อมฐานความรู้ในหน่วยความจำ
  • พิจารณาใช้ Cloudflare สำหรับการป้องกัน DDoS (รองรับ SSE)

การใช้งาน

การโหลดฐานความรู้

เซิร์ฟเวอร์โหลดฐานความรู้ Klever โดยอัตโนมัติตามประเภทพื้นที่จัดเก็บของคุณ:

พื้นที่จัดเก็บแบบหน่วยความจำ (ค่าเริ่มต้น)

  • ความรู้ถูก โหลดโดยอัตโนมัติ เมื่อเซิร์ฟเวอร์เริ่มทำงาน
  • ไม่จำเป็นต้องรัน pnpm run ingest แยกต่างหาก
  • ข้อมูลมีอยู่เฉพาะขณะที่เซิร์ฟเวอร์กำลังทำงาน
  • เหมาะที่สุดสำหรับการพัฒนาและการทดสอบ

พื้นที่จัดเก็บแบบ Redis

# First, ingest the knowledge base (one time)
pnpm run ingest

# Then start the server
pnpm run dev
  • ความรู้คงอยู่ในฐานข้อมูล Redis
  • อยู่รอดจากการรีสตาร์ทเซิร์ฟเวอร์
  • เหมาะที่สุดสำหรับการใช้งานจริง

สิ่งนี้จะโหลด:

  • เทมเพลตและตัวอย่างสมาร์ทคอนแทร็กต์
  • กฎคำอธิบายประกอบและแนวปฏิบัติที่ดีที่สุด
  • รูปแบบและเปรียบเทียบตัวแมปพื้นที่จัดเก็บ
  • สคริปต์การปรับใช้และสอบถาม
  • ข้อผิดพลาดทั่วไปและวิธีแก้ไข
  • รูปแบบการทดสอบ
  • เอกสารอ้างอิง API

การรันเป็นเซิร์ฟเวอร์ HTTP

# Development mode
pnpm run dev

# Production mode
pnpm run build && pnpm start

HTTP API จะพร้อมใช้งานที่ http://localhost:3000/api

การรันเป็นเซิร์ฟเวอร์ MCP

MODE=mcp pnpm start

ใช้กับไคลเอนต์ที่เข้ากันได้กับ MCP ใดๆ

เอนด์พอยต์ API

POST /api/context

นำเข้าบริบทใหม่เข้าสู่ระบบ

{
  "type": "code_example",
  "content": "contract code here",
  "metadata": {
    "title": "Token Contract Example",
    "description": "ERC20-like token implementation",
    "tags": ["token", "fungible"],
    "contractType": "token"
  }
}

GET /api/context/:id

เรียกค้นบริบทเฉพาะตาม ID

POST /api/context/query

สอบถามบริบทด้วยตัวกรอง

{
  "query": "transfer",
  "types": ["code_example", "best_practice"],
  "tags": ["token"],
  "contractType": "token",
  "limit": 10,
  "offset": 0
}

PUT /api/context/:id

อัปเดตบริบทที่มีอยู่

DELETE /api/context/:id

ลบบริบท

GET /api/context/:id/similar

ค้นหาบริบทที่คล้ายกัน

POST /api/context/batch

นำเข้าหลายบริบทแบบกลุ่ม

เครื่องมือ MCP

เมื่อรันเป็นเซิร์ฟเวอร์ MCP เครื่องมือต่อไปนี้จะพร้อมใช้งาน:

  • query_context: ค้นหาบริบทการพัฒนา Klever ที่เกี่ยวข้อง
  • add_context: เพิ่มบริบทใหม่ลงในฐานความรู้
  • get_context: เรียกค้นบริบทเฉพาะตาม ID
  • find_similar: ค้นหาบริบทที่คล้ายกับบริบทที่กำหนด
  • get_knowledge_stats: รับสถิติเกี่ยวกับฐานความรู้
  • init_klever_project: เริ่มต้นโปรเจกต์สมาร์ทคอนแทร็กต์ Klever ใหม่พร้อมสคริปต์ช่วยเหลือ
  • enhance_with_context: ปรับปรุงคิวรีโดยอัตโนมัติด้วยบริบท Klever VM ที่เกี่ยวข้อง

ประเภทบริบท

  • code_example: ส่วนย่อยโค้ดและตัวอย่างที่ใช้งานได้ (โค้ดสมาร์ทคอนแทร็กต์ Rust)
  • best_practice: รูปแบบและแนวปฏิบัติที่แนะนำ
  • security_tip: ข้อควรพิจารณาด้านความปลอดภัยและคำเตือน
  • optimization: เทคนิคการเพิ่มประสิทธิภาพ
  • documentation: เอกสารและคำแนะนำทั่วไป
  • error_pattern: ข้อผิดพลาดทั่วไปและวิธีแก้ไข
  • deployment_tool: สคริปต์การปรับใช้และยูทิลิตี้ (สคริปต์ bash, เครื่องมือ)
  • runtime_behavior: คำอธิบายพฤติกรรมรันไทม์

ฐานความรู้ที่โหลดไว้ล่วงหน้า

เซิร์ฟเวอร์ MCP รวมฐานความรู้ที่ครอบคลุมพร้อมรายการมากกว่า 95 รายการ จัดเป็น 11 หมวดหมู่:

รูปแบบที่สำคัญ

  • การจัดการการชำระเงินและการดำเนินการโทเค็น
  • การแปลงทศนิยมและการคำนวณ
  • การปล่อยอีเวนต์และกฎพารามิเตอร์
  • การใช้เครื่องมือ CLI และแนวปฏิบัติที่ดีที่สุด

รูปแบบและตัวอย่างคอนแทร็กต์

  • เทมเพลตโครงสร้างคอนแทร็กต์พื้นฐาน
  • การใช้งานเกมลอตเตอรีที่สมบูรณ์
  • คอนแทร็กต์การวางเดิมพันพร้อมรางวัล
  • รูปแบบการสื่อสารข้ามคอนแทร็กต์
  • รูปแบบการเข้าถึงพื้นที่จัดเก็บระยะไกล
  • โมดูลตัวช่วยตัวแมปโทเค็น

เครื่องมือพัฒนา

  • Koperator: การอ้างอิง CLI ที่สมบูรณ์พร้อมการเข้ารหัสอาร์กิวเมนต์
  • KSC: คำสั่งสร้างและการตั้งค่าโปรเจกต์
  • สคริปต์การปรับใช้ อัปเกรด และสอบถาม
  • เครื่องมือจัดการคอนแทร็กต์แบบโต้ตอบ
  • ไลบรารียูทิลิตี้ทั่วไป (bech32, การจัดการเครือข่าย)

พื้นที่จัดเก็บและการเพิ่มประสิทธิภาพ

  • คู่มือการเลือกตัวแมปพื้นที่จัดเก็บพร้อมการเปรียบเทียบประสิทธิภาพ
  • รูปแบบการจัดระเบียบเนมสเปซ
  • เอนด์พอยต์ View สำหรับคิวรีที่มีประสิทธิภาพ
  • เทคนิคการเพิ่มประสิทธิภาพแก๊ส
  • รูปแบบ OptionalValue vs Option

แนวปฏิบัติที่ดีที่สุดและความปลอดภัย

  • รูปแบบการตรวจสอบอินพุต
  • กลยุทธ์การจัดการข้อผิดพลาด
  • การใช้งานโมดูลผู้ดูแลระบบและการหยุดชั่วคราว
  • รูปแบบการควบคุมการเข้าถึง
  • ข้อผิดพลาดทั่วไปและวิธีแก้ไข

การนำเข้าคอนแทร็กต์

ใช้ยูทิลิตี้การนำเข้าในตัวเพื่อแยกวิเคราะห์และนำเข้าคอนแทร็กต์ Klever:

import { StorageFactory } from './storage/index.js';
import { ContextService } from './context/service.js';
import { ContractIngester } from './utils/ingest.js';

const storage = StorageFactory.create('memory');
const contextService = new ContextService(storage);
const ingester = new ContractIngester(contextService);

// Ingest a single contract
await ingester.ingestContract('./path/to/contract.rs', 'AuthorName');

// Ingest entire directory
await ingester.ingestDirectory('./contracts', 'AuthorName');

// Add common patterns
await ingester.ingestCommonPatterns();

การพัฒนา

# Run tests
pnpm test

# Lint code
pnpm run lint

# Format code
pnpm run format

# Watch mode
pnpm run dev

# Ingest/update knowledge base
pnpm run ingest

การตรวจสอบคอนแทร็กต์

เซิร์ฟเวอร์สามารถตรวจสอบคอนแทร็กต์ Klever และตรวจจับปัญหาโดยอัตโนมัติ:

import { KleverValidator } from './parsers/validators.js';

const issues = KleverValidator.validateContract(contractCode);
// Returns array of detected issues with suggestions

การตรวจสอบรวมถึง:

  • รูปแบบคำอธิบายประกอบอีเวนต์ (เครื่องหมายคำพูดคู่, camelCase)
  • พารามิเตอร์ API ประเภทที่มีการจัดการ
  • การตรวจสอบที่อยู่ศูนย์ในการโอน
  • การเลือกตัวแมปพื้นที่จัดเก็บที่เหมาะสมที่สุด
  • ข้อตกลงการตั้งชื่อโมดูล

ตัวอย่างกรณีการใช้งาน

1. ผู้ช่วยพัฒนาสมาร์ทคอนแทร็กต์

รวมเข้ากับ IDE ของคุณเพื่อให้คำแนะนำที่คำนึงถึงบริบทสำหรับการพัฒนาคอนแทร็กต์ Klever

2. เครื่องมือตรวจสอบโค้ด

ตรวจสอบคอนแทร็กต์โดยอัตโนมัติเทียบกับแนวปฏิบัติที่ดีที่สุดและรูปแบบความปลอดภัย

3. แพลตฟอร์มการเรียนรู้

ให้ตัวอย่างและคำอธิบายสำหรับนักพัฒนาที่เรียนรู้การพัฒนา Klever

4. ตัวสร้างเอกสาร

สกัดและจัดระเบียบเอกสารคอนแทร็กต์โดยอัตโนมัติ

ข้อกำหนดและตัวอย่างโปรเจกต์

สำหรับตัวอย่างและข้อกำหนดการใช้งานโปรเจกต์ที่สมบูรณ์ ดู:

  • เทมเพลตข้อกำหนดโปรเจกต์ - เทมเพลตสำหรับระบุโปรเจกต์สมาร์ทคอนแทร็กต์ Klever แนะนำผู้ช่วย AI ผ่านการค้นพบความรู้ MCP การติดตามงาน และการดำเนินการตามเฟส รวมถึงตัวอย่าง KleverDice

การเริ่มต้นโปรเจกต์

เซิร์ฟเวอร์ MCP รวมเครื่องมือเริ่มต้นโปรเจกต์ที่มีประสิทธิภาพซึ่งสร้างโปรเจกต์สมาร์ทคอนแทร็กต์ Klever ใหม่พร้อมสคริปต์ช่วยเหลือที่จำเป็นทั้งหมด

การใช้เครื่องมือ init_klever_project

เมื่อเชื่อมต่อผ่าน MCP ใช้เครื่องมือ init_klever_project:

{
  "name": "my-token-contract",
  "template": "empty",
  "noMove": false
}

พารามิเตอร์:

  • name (จำเป็น): ชื่อคอนแทร็กต์ของคุณ
  • template (ไม่บังคับ): เทมเพลตที่จะใช้ (ค่าเริ่มต้น: "empty")
  • noMove (ไม่บังคับ): หากเป็น true เก็บโปรเจกต์ไว้ในไดเรกทอรีย่อย (ค่าเริ่มต้น: false)

สคริปต์ช่วยเหลือที่สร้างขึ้น

เครื่องมือสร้างสคริปต์ต่อไปนี้ในไดเรกทอรี scripts/:

  • build.sh: สร้างสมาร์ทคอนแทร็กต์
  • deploy.sh: ปรับใช้กับ Klever testnet พร้อมการตรวจจับอาร์ติแฟกต์คอนแทร็กต์อัตโนมัติ
  • upgrade.sh: อัปเกรดคอนแทร็กต์ที่มีอยู่ (ตรวจจับอัตโนมัติจาก history.json)
  • query.sh: สอบถามเอนด์พอยต์คอนแทร็กต์ด้วยการเข้ารหัส/ถอดรหัสที่เหมาะสม
  • test.sh: รันการทดสอบคอนแทร็กต์
  • interact.sh: แสดงตัวอย่างการใช้งานและคำสั่งที่พร้อมใช้งาน

ตัวอย่างเวิร์กโฟลว์

  1. เริ่มต้นโปรเจกต์:

    # Via MCP tool
    init_klever_project({"name": "my-contract"})
    
  2. สร้างคอนแทร็กต์:

    ./scripts/build.sh
    
  3. ปรับใช้กับ testnet:

    ./scripts/deploy.sh
    
  4. สอบถามคอนแทร็กต์:

    ./scripts/query.sh --endpoint getSum
    ./scripts/query.sh --endpoint getValue --arg myKey
    
  5. อัปเกรดคอนแทร็กต์:

    ./scripts/upgrade.sh
    

ประวัติการปรับใช้ทั้งหมดถูกติดตามใน output/history.json เพื่อการอ้างอิงที่ง่าย

การปรับปรุงบริบทอัตโนมัติ

เซิร์ฟเวอร์ MCP สามารถปรับปรุงคิวรีด้วยบริบท Klever VM ที่เกี่ยวข้องโดยอัตโนมัติ สิ่งนี้ทำให้แน่ใจว่าไคลเอนต์ MCP ของคุณสามารถเข้าถึงข้อมูลที่เกี่ยวข้องมากที่สุดเสมอ

การใช้การปรับปรุงบริบท

ใช้เครื่องมือ enhance_with_context เพื่อเพิ่มบริบทที่เกี่ยวข้องลงในคิวรีใดๆ โดยอัตโนมัติ:

{
  "tool": "enhance_with_context",
  "arguments": {
    "query": "How do I create a storage mapper?",
    "autoInclude": true
  }
}

สิ่งนี้จะ:

  1. สกัดคำสำคัญที่เกี่ยวข้องจากคิวรี
  2. ค้นหาฐานความรู้สำหรับบริบทที่ตรงกัน
  3. ส่งคืนคิวรีที่ปรับปรุงแล้วพร้อมบริบทที่รวมอยู่
  4. ให้ข้อมูลเมตาเกี่ยวกับสิ่งที่พบ

รูปแบบการรวม

สำหรับไคลเอนต์ MCP ที่ต้องการตรวจสอบบริบท Klever ก่อนเสมอ:

// Always enhance Klever-related queries
if (query.match(/klever|kvm|smart contract|endpoint/i)) {
  const enhanced = await callTool('enhance_with_context', { query });
  // Use enhanced.enhancedQuery for processing
}

คุณสมบัติการปรับปรุงบริบทเพิ่มพูนคิวรีด้วยความรู้ Klever VM ที่เกี่ยวข้องจากฐานความรู้ที่ครอบคลุมโดยอัตโนมัติ

ตัวอย่างการรวม

ส่วนขยาย VS Code

// Query for token transfer examples
const response = await fetch('http://localhost:3000/api/context/query', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: 'transfer',
    types: ['code_example'],
    contractType: 'token'
  })
});

เครื่องมือ CLI

# Using curl to add context
curl -X POST http://localhost:3000/api/context \
  -H "Content-Type: application/json" \
  -d '{
    "type": "security_tip",
    "content": "Always check for zero address",
    "metadata": {
      "title": "Zero Address Check",
      "tags": ["security", "validation"]
    }
  }'

การมีส่วนร่วม

ยินดีต้อนรับการมีส่วนร่วม! โปรดดำเนินการดังนี้:

  1. Fork repository
  2. สร้าง feature branch
  3. ทำการเปลี่ยนแปลงของคุณ
  4. เพิ่มการทดสอบ
  5. ส่ง pull request

ใบอนุญาต

MIT License - ดูรายละเอียดในไฟล์ LICENSE

กิตติกรรมประกาศ