humanMCP

Personal MCP server for humans. Publish poetry, essays, listings with Ed25519 signatures. Store skills and memories. Bootstrap session unlocks expert team. Go stdlib only, zero deps.

humanMCP

smithery badge

A personal content server speaking Model Context Protocol (MCP/JSON-RPC 2.0).

Live: https://kapoost.humanmcp.net Landing page: https://humanmcp.net Marketplace: https://marketplace.humanmcp.net Network explorer: https://humanmcp.net/humannetwork.html Author: kapoost (Łukasz Kapuśniak) — poet, builder, sailor. Warsaw / Malta.

What it is

humanMCP lets any human publish content and services with cryptographic proof of authorship, explicit license terms, and full control over access. Writers, artists, consultants, craftspeople, galleries, freelancers — anyone who creates valuable work. AI agents connect via MCP and interact with your content natively.

Every human can run their own instance. One server, one person, their rules.

MCP Tools (37+)

Content & Discovery

ToolDescription
get_author_profileWho is kapoost — bio, content overview, how to browse
list_contentBrowse all pieces with metadata, filter by type or tag
read_contentRead a piece — respects all access gates
search_contentFull-text search across all pieces
request_accessGet gate details for locked content
submit_answerUnlock challenge-gated content
list_blobsBrowse typed data artifacts
read_blobRead image, contact, dataset, vector (respects audience)

IP & Verification

ToolDescription
verify_contentVerify Ed25519 signature
get_certificateFull IP certificate: license, price, originality index, hash, signature
upgrade_timestampUpgrade OTS proof to Bitcoin-anchored

Interaction

ToolDescription
request_licenseDeclare intended use, get terms, logged for audit
leave_commentLeave a reaction — visible in author dashboard
leave_messageSend a direct note (max 2000 chars, URLs welcome)
ask_humanAsk the author a question (private, async — returns question_id)
get_answerCheck if the author answered your question (by question_id)

Session & Context

ToolDescription
bootstrap_sessionUnlock private context with session code
recallRetrieve saved memories
rememberSave observations
query_vaultSearch personal knowledge vault
list_vaultList vault documents

Skills

ToolDescription
list_skills / get_skillAgent instruction catalog
upsert_skill / delete_skillManage skills (agent token)

Listings

ToolDescription
list_listings / read_listingBrowse classified ads
respond_to_listingSend response to listing
subscribe_listings / unsubscribe_listingsWebhook subscriptions

Federation

ToolDescription
list_peersList known humanMCP servers in the network
announce_peerAnnounce your server to join the network

Meta

ToolDescription
about_humanmcpOpen-source project info

Connect

{
  "mcpServers": {
    "kapoost": {
      "type": "http",
      "url": "https://kapoost.humanmcp.net/mcp"
    }
  }
}

Content types

Pieces (Markdown files):

  • Types: poem, essay, note, artwork, image, contact
  • Access: public / members / locked
  • Gates: challenge (Q&A), time, manual, trade
  • Licenses: free, cc-by, cc-by-nc, commercial, exclusive, all-rights
  • Price: free-form string (e.g. "500 PLN", "$200", "trade")

Blobs (typed data artifacts):

  • Types: image, contact, vector, document, dataset, capsule, provenance
  • Audience: [agent:claude, human:alice, agent:*]
  • Auto-signed on save if SIGNING_PRIVATE_KEY is set
  • Provenance documents link to artwork pieces (certificate, sale, opinion, appraisal)

Ecosystem

Contact

Public links: read_blob slug:"kapoost-contact" — name, handle, github, instagram, facebook, landing page.

Private email: read_content slug:"kapoost-contact-private" — gated. Answer the challenge to access.

Intellectual property

Every piece is signed with Ed25519. get_certificate returns:

  • SHA-256 content hash
  • Ed25519 signature + public key
  • Originality Index (0.0–1.0): burstiness (Fano Factor), lexical density (CTTR), Shannon entropy, structural signature — grades S/A/B/C/D
  • License terms and price in sats (for commercial licenses)

Discovery & REST API

Agent discovery:

  • /.well-known/agent.json — agent profile card
  • /.well-known/mcp-server.json — MCP server discovery
  • /openapi.json — OpenAPI 3.1 spec (ChatGPT, Gemini)
  • /llms.txt — LLM preferences (signed)
  • /for-agents — agent onboarding page
  • /connect — connection methods page

REST API (for agents without MCP):

  • GET /api/content — list all pieces
  • GET /api/content/{slug} — read piece
  • GET /api/search?q=... — full-text search
  • GET /api/profile — author name, bio, tags
  • GET /api/blobs — list data artifacts
  • GET /listings/feed.json — listings feed

SEO:

  • robots.txt, sitemap.xml, humans.txt

Limits

FieldLimit
Message / comment text2000 chars
Blob inline text512 KB
File upload50 MB
Slug64 chars
Title256 chars

Features

  • i18n — PL/EN language toggle on main page (EN default, stored in localStorage)
  • License wizard — per-piece usage rules: what humans may do, what AI agents may do
  • Artworks — photo upload, medium, dimensions, year, provenance documents
  • Provenance — attach certificates, sale records, expert opinions to artworks (signed)
  • ask_human — agents can ask the author questions privately (async Q&A, invisible to public)
  • Federation — peer discovery via list_peers / announce_peer MCP tools and /api/peers REST
  • Dynamic sections — main page shows only sections with published content
  • Free-form pricing — any currency, any format ("500 PLN", "$200", "trade only")

Stack

  • Go 1.22, zero external dependencies
  • Fly.io (region: waw), persistent volume at /data
  • Ed25519 signing (stdlib crypto)
  • Plain Markdown files as database
  • No JS except 8-line drag-drop on /new page

Run locally

go build ./cmd/server/
EDIT_TOKEN=secret AUTHOR_NAME=yourname ./server

Deploy

fly launch --name yourname-humanmcp
fly secrets set EDIT_TOKEN=secret AUTHOR_NAME=yourname
fly deploy

Signing keys (optional but recommended)

go run ./cmd/keygen/
fly secrets set SIGNING_PRIVATE_KEY="..." SIGNING_PUBLIC_KEY="..."

Future

  • C2PA manifest embedding for blob files (when CA trust chain opens to individuals)
  • Lightning Network payment gate for commercial licenses
  • Scored conversational gate (agent brings API key, Claude evaluates answers)
  • IP rate limiting + engagement tokens for anti-spam

Tests

136 tests across content, MCP, and upload/signature/license suites.

go test ./...

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension