Skip to main content
Glama

Hekkova MCPサーバー

AIエージェントのための永続的なメモリレイヤーです。MCP互換のあらゆるAI(Claude、ChatGPT、Gemini、Cursor、カスタムエージェント)を接続し、写真、動画、音声、テキストなどのモーメントを、IPFS + Filecoinストレージ、Lit Protocol暗号化、そして誰が何を見られるかを制御できるプライバシー階層を用いて、Polygonブロックチェーン上に永続的にミントできます。


クイックスタート

# 1. Install dependencies
npm install

# 2. Copy and configure environment variables
cp .env.example .env
# Edit .env with your Supabase, Thirdweb, Pinata, and Stripe credentials

# 3. Seed the local test account and API key
npm run seed

# 4. Start the development server
npm run dev
# → Server running at http://localhost:3000/mcp

Claude Desktopとの接続

Claude Desktopの設定ファイルに以下を追加してください:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "hekkova": {
      "type": "url",
      "url": "http://localhost:3000/mcp",
      "headers": {
        "Authorization": "Bearer hk_test_local_dev_key_12345678"
      }
    }
  }
}

本番環境では、URLとAPIキーを置き換えてください:

{
  "mcpServers": {
    "hekkova": {
      "type": "url",
      "url": "https://mcp.hekkova.com/mcp",
      "headers": {
        "Authorization": "Bearer hk_live_YOUR_API_KEY"
      }
    }
  }
}

APIキーは hekkova.com/dashboard/keys で取得できます。


ツールリファレンス

ツール

説明

mint_moment

メディア(写真、動画、音声、テキスト)をPolygonに永続的にミントします。フェーズに基づいて暗号化し、IPFSにピン留めし、ERC-721 NFTをミントします。ブロックIDを返します。

mint_from_url

公開URL(ツイート、Instagram投稿、画像、ウェブページ)を取得してミントします。og:titleとog:imageを自動的に抽出します。

list_moments

ミントされたすべてのモーメントのページネーションリスト。フェーズ、カテゴリ、または検索クエリでフィルタリング可能です。

get_moment

ブロックIDによる単一モーメントの詳細情報(CID、トランザクションハッシュ、フェーズ、タグなど)。

update_phase

モーメントのプライバシーフェーズを変更します。1クレジット(テキスト/画像)または2クレジット(動画)を消費します。レガシープランには月間10回の無料フェーズ移行が含まれています。

export_moments

すべてのモーメントをJSONまたはCSVとしてエクスポートします。すべてのブロックIDとIPFS CIDを含む24時間有効なダウンロードURLを返します。

get_balance

残りのミントクレジット、現在のプラン(free / arc_builder / legacy)、およびフェーズ移行残高を確認します。

get_account

アカウントID:Light ID、表示名、ウォレットアドレス、デフォルトフェーズ、およびレガシープランのステータス。


プライバシーフェーズ

フェーズ

アクセス権

暗号化

new_moon

所有者のみ

Lit Protocol (所有者ウォレットACC)

crescent

親しいサークル (2〜10人)

Lit Protocol (共有アクセス条件)

gibbous

拡張グループ (最大50人)

Hekkova ERC-721によるトークンゲート

full_moon

完全公開

なし


モーメントカテゴリ

カテゴリ

意味

super_moon

人生の主要なイベント

blue_moon

希少な瞬間

super_blue_moon

一生に一度の出来事

eclipse

時間制限付き — eclipse_reveal_date まで封印

null

カテゴリなし


レート制限

プラン

リクエスト/分

ミント/分

Sandbox (テストキー)

10

1

Standard (有料パック)

60

10

Legacy Plan

120

20

レート制限ヘッダーはすべてのレスポンスに含まれています:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1710680460

テストの実行

# Make sure the server is running in another terminal
npm run dev

# Run the test client
npm run test-client

デプロイメント

Vercel (Serverless)

npm install -g vercel
vercel

vercel.json を追加します:

{
  "builds": [{ "src": "src/server.ts", "use": "@vercel/node" }],
  "routes": [{ "src": "/(.*)", "dest": "src/server.ts" }]
}

Vercelダッシュボードの「Project → Settings → Environment Variables」ですべての環境変数を設定してください。

Railway

npm install -g @railway/cli
railway login
railway init
railway up

Railwayダッシュボードで環境変数を設定します。Railwayは npm start スクリプトを自動的に検出します。

Fly.io

npm install -g flyctl
fly auth login
fly launch

Flyは fly.toml を生成します。シークレットを設定するには以下を使用します:

fly secrets set SUPABASE_URL=... SUPABASE_SERVICE_KEY=... THIRDWEB_SECRET_KEY=...
fly deploy

プロジェクト構造

hekkova-mcp/
├── src/
│   ├── server.ts          # Express + MCP server, auth middleware, rate limiter
│   ├── config.ts          # Typed config from environment variables
│   ├── types/index.ts     # TypeScript interfaces (Account, Moment, ApiKey, etc.)
│   ├── services/
│   │   ├── auth.ts        # API key validation and hashing
│   │   ├── database.ts    # Supabase queries (moments, accounts, API keys)
│   │   ├── blockchain.ts  # Thirdweb/Polygon minting (stub → real)
│   │   ├── storage.ts     # Pinata IPFS pinning (stub → real)
│   │   └── encryption.ts  # Lit Protocol encryption (stub → real)
│   └── tools/
│       ├── mint-moment.ts
│       ├── mint-from-url.ts
│       ├── list-moments.ts
│       ├── get-moment.ts
│       ├── update-phase.ts
│       ├── export-moments.ts
│       ├── get-balance.ts
│       └── get-account.ts
├── scripts/
│   ├── seed.ts            # Creates test account + API key in Supabase
│   └── test-client.ts     # Exercises all 8 tools against the running server
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

Supabaseスキーマ

Supabaseプロジェクトに以下のテーブルが必要です:

-- Accounts
create table accounts (
  id text primary key default gen_random_uuid()::text,
  display_name text not null,
  light_id text,
  wallet_address text,
  mints_remaining integer not null default 0,
  total_minted integer not null default 0,
  default_phase text not null default 'new_moon',
  legacy_plan boolean not null default false,
  created_at timestamptz not null default now()
);

-- API Keys
create table api_keys (
  id text primary key default gen_random_uuid()::text,
  account_id text not null references accounts(id) on delete cascade,
  key_hash text not null unique,
  key_prefix text not null,
  environment text not null default 'live',
  created_at timestamptz not null default now(),
  revoked_at timestamptz
);

-- Moments
create table moments (
  id text primary key default gen_random_uuid()::text,
  account_id text not null references accounts(id) on delete cascade,
  block_id text not null unique,
  token_id integer not null,
  title text not null,
  description text,
  phase text not null,
  category text,
  encrypted boolean not null default false,
  media_cid text not null,
  metadata_cid text not null,
  media_type text not null,
  polygon_tx text not null,
  source_url text,
  source_platform text,
  eclipse_reveal_date timestamptz,
  tags text[] not null default '{}',
  timestamp timestamptz not null default now(),
  created_at timestamptz not null default now()
);

-- Indexes
create index on api_keys(key_hash);
create index on moments(account_id, timestamp desc);
create index on moments(block_id);

完全な仕様

完全な技術仕様書を参照してください: hekkova-mcp-server-spec.md

本番エンドポイント: https://mcp.hekkova.com/mcp

-
security - not tested
F
license - not found
-
quality - not tested

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

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/Hekkova/hekkova-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server