mcpField
H
hekkova

hekkova

远程服务
github.com/Hekkova记忆与知识029 周前更新
代码仓库

关于 hekkova

hekkova 是面向 AI Agent 的 MCP 记忆服务,可将照片、视频、音频和文字记录永久写入 Polygon 区块链。它结合 IPFS 与 Filecoin 存储、Lit Protocol 加密和隐私阶段控制,并提供记录管理与导出工具。

主要功能

  1. 01铸造照片、视频、音频和文字记录
  2. 02从公开 URL 铸造记录
  3. 03按阶段、类别或关键词筛选记录
  4. 04调整记录的隐私阶段
  5. 05导出 JSON 或 CSV

适用场景

  1. 01永久保存多媒体记忆
  2. 02收集公开网页或社交帖内容
  3. 03按隐私阶段管理记录访问
  4. 04导出记录与区块链标识

MCP 相关

该 MCP 服务向兼容客户端提供铸造、查询、更新和导出记录的工具,并支持余额与账户信息查询。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.hekkova.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Hekkova MCP 服务

为 AI Agent 提供的永久记忆层。连接任何兼容 MCP 的 AI(Claude、ChatGPT、Gemini、Cursor、自定义 Agent),并将瞬间——照片、视频、音频、文本——永久铸造到 Polygon 区块链,同时使用 IPFS + Filecoin 存储、Lit Protocol 加密,以及可控制谁能看到什么的隐私等级。


快速开始

# 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"
      }
    }
  }
}

在 hekkova.com/dashboard/keys 获取 API 密钥。


工具参考

工具说明
mint_moment将媒体(照片、视频、音频、文本)永久铸造到 Polygon。根据阶段进行加密,固定到 IPFS,并铸造 ERC-721 NFT。返回 Block ID。
mint_from_url获取公开 URL(推文、Instagram 帖子、图片、网页)并将其铸造。自动提取 og:title 和 og:image。
list_moments分页列出所有已铸造的瞬间。可按阶段、类别或搜索查询筛选。
get_moment根据 Block ID 获取单个瞬间的完整详情:CID、交易哈希、阶段、标签等。
update_phase更改瞬间的隐私阶段。消耗 1 个额度(文本/图片)或 2 个额度(视频)。Legacy Plan 每月包含 10 次免费阶段变更。
export_moments将所有瞬间导出为 JSON 或 CSV。返回有效期为 24 小时的下载 URL,其中包含所有 Block ID 和 IPFS CID。
get_balance查看剩余铸造额度、当前套餐(free / arc_builder / legacy)和阶段变更余额。
get_account账户身份信息:Light ID、显示名称、钱包地址、默认阶段和 Legacy Plan 状态。

隐私阶段

阶段访问权限加密方式
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(测试密钥)101
Standard(任意付费套餐)6010
Legacy Plan12020

每个响应都包含速率限制标头:

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(无服务器)
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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。