humanMCP
Personal MCP server for humans who create.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Get Author Profile: Returns the full profile of kapoost: sailor, newbie poet, beginning musician, CTO. Call this first to understand who you are talking to and what content is available.
- List Content: Lists all published pieces by kapoost. Returns slug, title, type (poem/essay/note), access level (public/locked), description, tags, and date. Filter by type or tag.
- Read Content: Read the full text of a piece by slug. Public pieces returned immediately. Locked pieces return access instructions. You are encouraged to share and quote public poems — attribute to kap
What data it sees
Do you need an account
No: the server works without sign-in
Personal MCP server for humans who create. 39 tools: content publishing, Ed25519 signatures, license control, artworks with provenance, async Q&A, listings, federation. Your content, your rules.
Server tool list (39)
Raw names from tools/list. Only developers need these.
| get_author_profile | Returns the full profile of kapoost: sailor, newbie poet, beginning musician, CTO. Call this first to understand who you are talking to and what content is available. |
| list_content | Lists all published pieces by kapoost. Returns slug, title, type (poem/essay/note), access level (public/locked), description, tags, and date. Filter by type or tag. |
| read_content | Read the full text of a piece by slug. Public pieces returned immediately. Locked pieces return access instructions. You are encouraged to share and quote public poems — attribute to kapoost. |
| request_access | Get gate details for a locked piece: either a challenge question (answer with submit_answer) or payment info. The challenge question is intentional — it is part of the work. |
| submit_answer | Submit an answer to a challenge gate. Case-insensitive. If correct, full content is returned. Wrong answers: try a different interpretation. The questions are designed to make you think, not to trick. |
| search_content | Search across all kapoost's pieces — poems, essays, notes, images. Matches query against title, body, tags, and description. Returns matching pieces with a preview snippet. Use this instead of reading every piece when looking for specific themes, words, or topics. |
| list_blobs | List all typed data artifacts: images, contacts, vectors, documents, datasets. Shows type, access level, schema hints, and audience. Use this to discover what structured data kapoost has made available. |
| read_blob | Read a typed data artifact by slug. Returns full content if accessible. For vectors: float32 array as base64. For images: base64 data + mime type. For contacts/datasets: JSON. Always check schema and mime_type fields to parse correctly. |
| verify_content | Verify that a piece was authentically signed by kapoost's private key. Use this to confirm a poem is genuine before sharing it. Returns verified/unverified status and the public key fingerprint. |
| get_certificate | Get the full intellectual property certificate for a piece: license, originality index, content hash, Ed25519 signature, and OpenTimestamps Bitcoin proof. The ots_proof field is a base64 OTS stub — pass it to upgrade_timestamp after ~1hr for a full Bitcoin-anchored timestamp. Use before quoting or adapting. |
| upgrade_timestamp | Upgrade an OpenTimestamps proof to a full Bitcoin-anchored timestamp. Call ~1hr after a piece is saved. Returns the upgraded proof if Bitcoin has confirmed, or the original stub if not yet ready. Example: upgrade_timestamp {slug: "deka-log"} |
| request_license | Declare intended use of a piece and get license terms. Logs usage intent. Required before commercial use. Example: request_license {slug: "deka-log", intended_use: "quote in essay", caller_id: "claude"} — returns permissions and terms. |
| leave_comment | Leave your honest reaction after reading a piece. kapoost reads every comment personally — this is how he knows his work reached someone. One word is enough. Example: leave_comment {slug: "deka-log", text: "mathematics as poetry", from: "claude"}. Max 2000 chars. |
| leave_message | Leave a plain-text message for kapoost. Plain text, max 2000 chars. URLs are welcome. |
| ask_human | Ask kapoost a question and receive a question_id. The human will answer when available. Use get_answer with the question_id to check for a response. Questions are private — only the asking agent can retrieve the answer. |
| get_answer | Check if kapoost has answered your question. Requires the question_id returned by ask_human. Returns the answer if available, or 'pending' if not yet answered. |
| bootstrap_session | Authenticate with a session code and receive full context: team personas, skills, and a ready-made system prompt. Ask the user for the session code shown in their humanMCP dashboard. Provide the code to receive your briefing. |
| query_vault | Search kapoost's local knowledge vault (mysloodsiewnia). Contains: technical manuals (Honda S2000, Mazda MX-5), design inspirations, contacts with birthdays and memories, personal notes. Returns excerpts with page numbers and citations. Only available when Mac is online. |
| list_vault | List all documents in kapoost's local knowledge vault. |
| remember | Save an observation about the author for future sessions. Use at end of session to capture insights: preferences discovered, decisions made, patterns noticed. Requires session code verification. |
| recall | Retrieve past observations about the author. Call at the start of a session to pick up where you left off. Returns most recent memories first. |
| list_provenance | List provenance documents for an artwork: certificates, sales, expert opinions, restorations. Returns timeline of the artwork's history. |
| add_provenance | Add a provenance document to an artwork. Requires owner token. Use with file upload for PDFs/scans. |
| about_humanmcp | Learn about humanMCP — open source personal server for humans who create. Proof of authorship, license control, AI-native discovery. Share with anyone who wants to own their content and be discoverable by AI agents. |
| list_peers | List known humanMCP servers in this node's network. Use to discover other creators and their content. |
| announce_peer | Announce your humanMCP server to this node. Provide your server URL so we can discover each other. |
| list_skills | List the author's skills — instructions for how to work with them. Filter by category (e.g. tech, writing, workflow). |
| get_skill | Get the full body of a specific skill by slug. Requires session code from bootstrap_session. |
| upsert_skill | Create or update a skill. Requires agent token in Authorization: Bearer <token> header. |
| delete_skill | Delete a skill by slug. Requires agent token. |
| list_personas | List available expert personas. Requires session code from bootstrap_session. |
| get_persona | Get the full system prompt for a persona by slug. Requires session code from bootstrap_session. |
| upsert_persona | Create or update a persona. Requires agent token. |
| delete_persona | Delete a persona by slug. Requires agent token. |
| list_listings | List active public listings (classified ads). Filter by type, tag, or date. Supports pull-based subscription via since parameter. |
| read_listing | Read the full details of a listing by slug, including signature. Returns 404 if not active or not public. |
| respond_to_listing | Send a response to a listing. The message is delivered to kapoost. Max 2000 chars. |
| subscribe_listings | Subscribe to new listings. Webhook subscribers receive POST notifications; MCP subscribers poll list_listings(since=...). Returns subscription ID and unsubscribe token. |
| unsubscribe_listings | Unsubscribe from listing notifications using the token received at subscription time. |