humanMCP
Personal MCP server for humans who create.
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.
How to connect
How to connect humanMCP to Claude
The server address to paste into Claude settings:
https://humanmcp--kapoost.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect humanMCP to ChatGPT
The server address to paste into ChatGPT settings:
https://humanmcp--kapoost.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect humanMCP to Cursor
The server address to paste into Cursor settings:
https://humanmcp--kapoost.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
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. |