humanMCP

humanMCP

A personal content server that lets individuals publish content with cryptographic proof of authorship and explicit license terms, allowing AI agents to interact via the Model Context Protocol.

Category
访问服务器

README

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

Tool Description
get_author_profile Who is kapoost — bio, content overview, how to browse
list_content Browse all pieces with metadata, filter by type or tag
read_content Read a piece — respects all access gates
search_content Full-text search across all pieces
request_access Get gate details for locked content
submit_answer Unlock challenge-gated content
list_blobs Browse typed data artifacts
read_blob Read image, contact, dataset, vector (respects audience)

IP & Verification

Tool Description
verify_content Verify Ed25519 signature
get_certificate Full IP certificate: license, price, originality index, hash, signature
upgrade_timestamp Upgrade OTS proof to Bitcoin-anchored

Interaction

Tool Description
request_license Declare intended use, get terms, logged for audit
leave_comment Leave a reaction — visible in author dashboard
leave_message Send a direct note (max 2000 chars, URLs welcome)
ask_human Ask the author a question (private, async — returns question_id)
get_answer Check if the author answered your question (by question_id)

Session & Context

Tool Description
bootstrap_session Unlock private context with session code
recall Retrieve saved memories
remember Save observations
query_vault Search personal knowledge vault
list_vault List vault documents

Skills

Tool Description
list_skills / get_skill Agent instruction catalog
upsert_skill / delete_skill Manage skills (agent token)

Personas

Tool Description
list_personas / get_persona Your expert team (requires session code or VAULT_URL)
upsert_persona / delete_persona Manage personas (agent token)

Personas & skills: where they live

humanmcp-go is a framework. Persona prompts and skill bodies are yours — they don't ship in this repo. Two ways to supply them:

  1. Owner API / mounted volume — POST upsert_persona / upsert_skill with the EDIT_TOKEN, or drop JSON files into ${CONTENT_DIR}/personas/ and ${CONTENT_DIR}/skills/ on the host volume.

  2. External vault (recommended) — set VAULT_URL env to a server you control (e.g. a private FastAPI on your tailnet). SkillStore fetches GET ${VAULT_URL}/persona/{id} and GET ${VAULT_URL}/skill/{slug} on demand with a 5min in-memory cache. Lets your sensitive prompts stay on your machine while the public framework serves them.

Persona JSON shape (vault response):

{"id":"hermes","name":"Hermes","role":"Process Optimizer","prompt":"<full system prompt>"}

Skill JSON shape (vault response):

{"slug":"system-diagram","title":"...","description":"...","persona_id":"mira","tags":[...],"instructions":"<full playbook>"}

When VAULT_URL is unreachable, bootstrap_session loudly reports the downgrade (won't silently fall back). See internal/content/skill.go for the fetch/cache implementation.

Listings

Tool Description
list_listings / read_listing Browse classified ads
respond_to_listing Send response to listing
subscribe_listings / unsubscribe_listings Webhook subscriptions

Federation

Tool Description
list_peers List known humanMCP servers in the network
announce_peer Announce your server to join the network

Meta

Tool Description
about_humanmcp Open-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

  • humanMCP Marketplace — federated search across all humanMCP servers. Find listings, offers, trades by humans. MCP endpoint · Source
  • humanNetwork — wall-style aggregator showing chronological content from your followed humanMCP servers (stream.json preferred, MCP fallback)

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
  • GET /content/stream.json — unified content stream (pieces + listings, for humanNetwork)

SEO:

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

Limits

Field Limit
Message / comment text 2000 chars
Blob inline text 512 KB
File upload 50 MB
Slug 64 chars
Title 256 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

1-click deploy

git clone https://github.com/kapoost/humanmcp-go.git
cd humanmcp-go
bash setup.sh

The script asks for your name and bio, then:

  • Creates a Fly.io app (free tier)
  • Generates Ed25519 signing keys
  • Sets secrets and deploys
  • Prints your login token and 1-click follow link

Done in ~2 minutes. You get:

  • https://yourname.humanmcp.net — your server
  • https://yourname.humanmcp.net/connect — share with friends
  • https://humanmcp.net/humannetwork.html?add=https://yourname.humanmcp.net — 1-click follow

Run locally

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

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选