Humanmcp

Created By
kapoost2 months ago
my poems, photos, original content
Overview

humanMCP

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

Live: https://kapoost-humanmcp.fly.dev
Landing page: https://kapoost.github.io/humanmcp
Author: kapoost (Łukasz Kapuśniak) — poet, builder, sailor. Warsaw / Malta.

What it is

humanMCP lets you publish poems, essays, notes, images, and typed data artifacts with cryptographic proof of authorship, explicit license terms, and full control over who can access what. AI agents connect via MCP and interact with your content natively.

MCP Tools (12)

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
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)
verify_contentVerify Ed25519 signature
get_certificateFull IP certificate: license, price, originality index, hash, signature
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)

Connect

{
  "mcpServers": {
    "kapoost": {
      "type": "http",
      "url": "https://kapoost-humanmcp.fly.dev/mcp"
    }
  }
}

Content types

Pieces (Markdown files):

  • Types: poem, essay, note, contact
  • Access: public / members / locked
  • Gates: challenge (Q&A), time, manual, trade
  • Licenses: free, cc-by, cc-by-nc, commercial, exclusive, all-rights

Blobs (typed data artifacts):

  • Types: image, contact, vector, document, dataset, capsule
  • Audience: [agent:claude, human:alice, agent:*]
  • Auto-signed on save if SIGNING_PRIVATE_KEY is set

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)

SEO / discovery

  • robots.txthttps://kapoost-humanmcp.fly.dev/robots.txt
  • sitemap.xmlhttps://kapoost-humanmcp.fly.dev/sitemap.xml
  • /.well-known/mcp-server.json — MCP server discovery

Limits

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

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
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 ./...

Server Config

{
  "mcpServers": {
    "humanmcp-kapoost": {
      "url": "https://kapoost.humanmcp.net/mcp"
    }
  }
}
Project Info
Created At
2 months ago
Updated At
a month ago
Author Name
kapoost
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Tavily Mcp
@tavily-ai

JavaScript
a year ago
Crevio

a day ago