Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
TPermanent memory layer for AI agents. Mint moments to the Polygon blockchain via MCP.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.hekkova.com/mcpRun this in your terminal
claude mcp add --transport http hekkova https://mcp.hekkova.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"hekkova": {
"url": "https://mcp.hekkova.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"hekkova": {
"type": "http",
"url": "https://mcp.hekkova.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.hekkova.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain hekkova.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The permanent memory layer for AI agents. Connect any MCP-compatible AI (Claude, ChatGPT, Gemini, Cursor, custom agents) and mint moments — photos, videos, audio, text — permanently to the Polygon blockchain with IPFS + Filecoin storage, Lit Protocol encryption, and privacy tiers that let you control who sees what.
# 1. Install dependencies
npm install
cp .env.example .env
npm run seed
npm run dev
Add this to your Claude Desktop config file:
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" } } } }
For production, replace the URL and API key:
{
"mcpServers": { "hekkova": { "type": "url", "url": "https://mcp.hekkova.com/mcp", "headers": { "Authorization": "Bearer hk_live_YOUR_API_KEY" } } } }
Get your API key at hekkova.com/dashboard/keys.
| Tool | Description |
|---|---|
mint_moment | Mint media (photo, video, audio, text) permanently to Polygon. Encrypts based on phase, pins to IPFS, mints ERC-721 NFT. Returns a Block ID. |
mint_from_url | Fetch a public URL (tweet, Instagram post, image, web page) and mint it. Extracts og:title and og:image automatically. |
list_moments | Paginated list of all minted moments. Filterable by phase, category, or search query. |
get_moment | Full details for a single moment by Block ID: CIDs, transaction hash, phase, tags, and more. |
update_phase | Change a moment's privacy phase. Costs 1 credit (text/image) or 2 credits (video). Legacy Plan includes 10 free Phase Shifts/month. |
export_moments | Export all moments as JSON or CSV. Returns a 24-hour download URL with all Block IDs and IPFS CIDs. |
get_balance | Check remaining mint credits, current plan (free / arc_builder / legacy), and phase shift balance. |
get_account | Account identity: Light ID, display name, wallet address, default phase, and legacy plan status. |
| Phase | Access | Encryption |
|---|---|---|
new_moon | Owner only | Lit Protocol (owner wallet ACC) |
crescent | Close circle (2–10 people) | Lit Protocol (shared access conditions) |
gibbous | Extended group (up to 50) | Token-gated via Hekkova ERC-721 |
full_moon | Fully public | None |
| Category | Meaning |
|---|---|
super_moon | Major life event |
blue_moon | Rare moment |
super_blue_moon | Once-in-a-lifetime |
eclipse | Time-locked — sealed until eclipse_reveal_date |
null | Uncategorized |
| Plan | Requests/min | Mints/min |
|---|---|---|
| Sandbox (test keys) | 10 | 1 |
| Standard (any paid pack) | 60 | 10 |
| Legacy Plan | 120 | 20 |
Rate limit headers are included on every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58 X-RateLimit-Reset: 1710680460
# Make sure the server is running in another terminal
npm run dev
npm run test-client
npm install -g vercel
vercel
Add a vercel.json:
{
"builds": [{ "src": "src/server.ts", "use": "@vercel/node" }], "routes": [{ "src": "/(.*)", "dest": "src/server.ts" }] }
Set all environment variables in the Vercel dashboard under Project → Settings → Environment Variables.
npm install -g @railway/cli
railway login railway init railway up
Set environment variables in the Railway dashboard. Railway will auto-detect the npm start script.
npm install -g flyctl
fly auth login fly launch
Fly will generate a fly.toml. Set secrets with:
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
You will need these tables in your Supabase project:
-- 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);
See the full technical specification: hekkova-mcp-server-spec.md
Production endpoint: https://mcp.hekkova.com/mcp