关于 hekkova
hekkova 是面向 AI Agent 的 MCP 记忆服务,可将照片、视频、音频和文字记录永久写入 Polygon 区块链。它结合 IPFS 与 Filecoin 存储、Lit Protocol 加密和隐私阶段控制,并提供记录管理与导出工具。
主要功能
- 01铸造照片、视频、音频和文字记录
- 02从公开 URL 铸造记录
- 03按阶段、类别或关键词筛选记录
- 04调整记录的隐私阶段
- 05导出 JSON 或 CSV
适用场景
- 01永久保存多媒体记忆
- 02收集公开网页或社交帖内容
- 03按隐私阶段管理记录访问
- 04导出记录与区块链标识
MCP 相关
该 MCP 服务向兼容客户端提供铸造、查询、更新和导出记录的工具,并支持余额与账户信息查询。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.hekkova.com/mcpclaude mcp add --transport http com-hekkova https://mcp.hekkova.com/mcp{"mcpServers":{"com-hekkova":{"type":"http","url":"https://mcp.hekkova.com/mcp"}}}在 Cursor 中打开{"servers":{"com-hekkova":{"type":"http","url":"https://mcp.hekkova.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-hekkova":{"type":"http","url":"https://mcp.hekkova.com/mcp"}}}{"mcpServers":{"com-hekkova":{"serverUrl":"https://mcp.hekkova.com/mcp"}}}命令在终端中运行;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(测试密钥) | 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(无服务器)
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。