mcpField
S
Snak

Snak

ローカル
snakagent.comAI・エージェント9652 週間前に更新

Snak について

Snak は Starknet 上で AI エージェントを構築するためのエージェントエンジンで、NPM パッケージとしても、すぐに実行できるバックエンドとしても提供されています。Starknet に接続したエージェントを開発したい開発者を対象とし、プロンプトモードとサーバーモードで動作します。

主な機能

  1. 01Starknet 向けのエージェントエンジン
  2. 02NPM パッケージとして利用可能
  3. 03すぐに実行できるバックエンドサービス
  4. 04プロンプトモードとサーバーモード
  5. 05JSON ファイルによるエージェントとモデルの設定

活用シーン

  1. 01Starknet 上での自律型または対話型エージェントの構築
  2. 02既存の TypeScript プロジェクトへのエージェント機能の組み込み
  3. 03サーバーモードによるエージェントの外部提供

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

<source media="(prefers-color-scheme: dark)" srcset="https://github.com/KasarLabs/brand/blob/main/projects/snak/snak-full-white-alpha.png?raw=true">

<img src="https://github.com/KasarLabs/brand/blob/main/projects/snak/snak-full-black-alpha.png?raw=true" width="200" alt="Snak ロゴ">

NPM バージョン ライセンス GitHub スター数 Node バージョン

Starknet を活用した、強力で安全な AI エージェントを作成するためのエージェントエンジンです。NPM パッケージと、すぐに使えるバックエンドの両方を提供しています。

クイックスタート

前提条件
  • Starknet ウォレット(推奨:Argent X)
  • AI プロバイダーの API キー(Anthropic/OpenAI/Google Gemini/Ollama)
  • Docker と Docker compose がインストールされていること
  • Node.js と pnpm がインストールされていること
インストール
git clone https://github.com/kasarlabs/snak.git
cd snak
pnpm install
設定
  1. .env.example をコピーして .env ファイルを作成します。
cp .env.example .env

次に、.env ファイルに必要な値を入力します。

# --- Starknet configuration (mandatory) ---
STARKNET_PUBLIC_ADDRESS="YOUR_STARKNET_PUBLIC_ADDRESS"
STARKNET_PRIVATE_KEY="YOUR_STARKNET_PRIVATE_KEY"
STARKNET_RPC_URL="YOUR_STARKNET_RPC_URL"

# --- AI Model API Keys (mandatory) ---
# Add the API keys for the specific AI providers you use in config/models/default.models.json
# The agent will automatically load the correct key based on the provider name.

# Example for OpenAI:
OPENAI_API_KEY="YOUR_OPENAI_API_KEY" # (e.g., sk-...)

# Example for Anthropic:
ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY" # (e.g., sk-ant-...)

# Example for Google Gemini:
GEMINI_API_KEY="YOUR_GEMINI_API_KEY"

# Example for DeepSeek:
DEEPSEEK_API_KEY="YOUR_DEEPSEEK_API_KEY"

# Note: You do not need an API key if using a local Ollama model.

# --- General Agent Configuration (mandatory) ---
SERVER_API_KEY="YOUR_SERVER_API_KEY" # A secret key for your agent server API
SERVER_PORT="3001"

# --- PostgreSQL Database Configuration (mandatory) ---
POSTGRES_USER=admin
POSTGRES_HOST=localhost
POSTGRES_DB=postgres
POSTGRES_PASSWORD=admin
POSTGRES_PORT=5432

# --- LangSmith Tracing (Optional) ---
# Set LANGSMITH_TRACING=true to enable tracing
LANGSMITH_TRACING=false
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
LANGSMITH_API_KEY="YOUR_LANGSMITH_API_KEY" # (Only needed if LANGSMITH_TRACING=true)
LANGSMITH_PROJECT="Snak" # (Optional project name for LangSmith)

# --- Node Environment ---
NODE_ENV="development" # "development" or "production"
  1. AI モデルを設定します(任意)。 config/models/default.models.json ファイルでは、さまざまなタスク(fast、smart、cheap)で使用するデフォルトの AI モデルを定義します。このファイルをカスタマイズするか、新しいモデル設定(例:my_models.json)を作成し、エージェントの実行時に指定できます。構造については config/models/example.models.json を参照してください。

    エージェントはモデル設定の provider フィールドを使って、.env ファイルから読み込む API キーを判断します(例:provider が openai の場合、OPENAI_API_KEY を読み込みます)。

  2. config/agents/ ディレクトリに、エージェント設定ファイル(例:default.agent.json または my_agent.json)を作成します。

{
  "name": "Your Agent name",
  "group": "Your Agent group",
  "description": "Your AI Agent Description",
  "lore": ["Some lore of your AI Agent 1", "Some lore of your AI Agent 1"],
  "objectives": [
    "first objective that your AI Agent need to follow",
    "second objective that your AI Agent need to follow"
  ],
  "knowledge": [
    "first knowledge of your AI Agent",
    "second knowledge of your AI Agent"
  ],
  "interval": "Your agent interval beetween each transaction of the Agent in ms,",
  "chatId": "Your Agent Chat-id for isolating memory",
  "max_iterations": "The number of iterations your agent will execute before stopping",
  "mode": "The mode of your agent, can be interactive, autonomous or hybrid",
  "memory": {
    "enabled": "true or false to enable or disable memory",
    "shortTermMemorySize": "The number of messages your agent will remember"
  },
  "plugins": ["Your first plugin", "Your second plugin"],
  "mcp_servers": {
    "nxp_server_example": {
      "command": "npx",
      "args": ["-y", "@npm_package_example/npx_server_example"],
      "env": {
        "API_KEY": "YOUR_API_KEY"
      }
    },
    "local_server_example": {
      "command": "node",
      "args": ["node /path/to/local_server/dist/index.js"]
    }
  }
}

snakagent のツールを使えば、独自のエージェント設定を簡単に作成できます。

使用方法

プロンプトモード

プロンプトを実行します。

# start with the default.agent.json
pnpm run start

# start with your custom configuration
pnpm run start --agent="name_of_your_config.json" --models="name_of_your_config.json"
サーバーモード

サーバーを実行します。

# start with the default.agent.json
pnpm run start:server

# start with your custom configuration
pnpm run start:server --agent="name_of_your_config.json" --models="name_of_your_config.json"
利用可能なモード
対話モード自律モード
プロンプトモード✅✅
サーバーモード✅✅
プロジェクトに Snak を実装する
  1. snak パッケージをインストールします。
#using npm
npm install @snakagent

# using pnpm
pnpm add @snakagent
  1. エージェントのインスタンスを作成します。
import { SnakAgent } from 'starknet-agent-kit';

const agent = new SnakAgent({
  provider: new RpcProvider({ nodeUrl: process.env.STARKNET_RPC_URL }),
  accountPrivateKey: process.env.STARKNET_PRIVATE_KEY,
  accountPublicKey: process.env.STARKNET_PUBLIC_ADDRESS,
  aiModel: process.env.AI_MODEL,
  aiProvider: process.env.AI_PROVIDER,
  aiProviderApiKey: process.env.AI_PROVIDER_API_KEY,
  signature: 'key',
  agentMode: 'interactive',
  agentconfig: y,
});

const response = await agent.execute("What's my ETH balance?");

アクション

アクションの詳細については、こちらのドキュメントをご覧ください。 Kit の包括的なインターフェースでは、利用可能なすべてのプラグインとそのアクションを、見つけやすく操作しやすいカタログで提供します。

エージェントにアクションを追加するには、こちらの手順ガイドに従ってください。

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

ライセンス

MIT ライセンスです。詳細は LICENSE ファイルをご覧ください。


詳細なドキュメントについては、docs.kasar.ioをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。