Connection check
verified live · 27h ago
humanmcp
Personal MCP server for humans who create. Proof of authorship, license control.
Tools
42
GitHub stars
1
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
42 toolsRead from the running server on 27h ago.
about_humanmcp
Self-description of this humanMCP server. Deterministic, no bootstrap required — call this first to decide whether the rest of the API is relevant. Self-description of this humanMCP server. Deterministic, no bootstrap required — call this first to decide whether the rest of the API is relevant.
ask_human
fromcontextquestion*
Submit an async question to kapoost. Returns an ID. Rate-limited 5/hr/IP. Poll fetch_answer later — kapoost answers on his own schedule (minutes, hours, or days). Submit an async question to kapoost. Returns an ID. Rate-limited 5/hr/IP. Poll fetch_answer later — kapoost answers on his own schedule (minutes, hours, or days).
bootstrap_session
code*
Validate the Polish poetry session code, then emit the full team briefing (guardian + style + personas + skills + persist block). Rate-limited 5/min/IP. Validate the Polish poetry session code, then emit the full team briefing (guardian + style + personas + skills + persist block). Rate-limited 5/min/IP.
delete_skill
slug*
Delete a skill by slug. Owner-only: requires Authorization: Bearer <token>. Delete a skill by slug. Owner-only: requires Authorization: Bearer <token>.
fetch_answer
id*
Poll for an answer to an ask_human question. Marks the question as fetched the first time an answer is returned. Rate-limited 30/hr/IP. Poll for an answer to an ask_human question. Marks the question as fetched the first time an answer is returned. Rate-limited 30/hr/IP.
fetch_narada_result
id*
Poll a narada job by ID. Statuses: pending, running, done, failed. When done, returns all persona voices. Poll a narada job by ID. Statuses: pending, running, done, failed. When done, returns all persona voices.
get_author_profile
Author identity, bio, and a browsing cheatsheet. Records a profile-view event. Author identity, bio, and a browsing cheatsheet. Records a profile-view event.
get_certificate
slug*
Return a formatted copyright/authenticity certificate for a piece. Return a formatted copyright/authenticity certificate for a piece.
get_persona
slug*session_token
Return one persona's full prompt by slug. Session-gated except for Hodor (guardian rules must always apply). Pass session_token if your client cannot set an Authorization header. Return one persona's full prompt by slug. Session-gated except for Hodor (guardian rules must always apply). Pass session_token if your client cannot set an Authorization header.
get_persona_journal
slug*
Read a persona's raw reflection journal. Owner-only — the journal is a private feedback loop, not for external callers. Read a persona's raw reflection journal. Owner-only — the journal is a private feedback loop, not for external callers.
get_skill
slug*session_token
Return one skill's full body by slug. Session-gated except for -public suffixed skills (guardian bypass). Pass session_token if your client cannot set an Authorization header. Return one skill's full body by slug. Session-gated except for -public suffixed skills (guardian bypass). Pass session_token if your client cannot set an Authorization header.
leave_comment
fromslug*text*
Attach a short comment (≤280 chars) to a piece kapoost has published. Truncated silently past the limit. Attach a short comment (≤280 chars) to a piece kapoost has published. Truncated silently past the limit.
leave_message
fromtext*contactcontext*regarding
Send kapoost a longer message. context REQUIRED (why you're writing / which piece / which task). contact optional — without it no reply is possible. Send kapoost a longer message. context REQUIRED (why you're writing / which piece / which task). contact optional — without it no reply is possible.
list_blobs
blob_typecaller_idcaller_kind
List typed data artifacts (images, contact, vectors, documents, datasets, capsules). Filter by blob_type. Readable-column reflects caller_kind + caller_id vs audience. List typed data artifacts (images, contact, vectors, documents, datasets, capsules). Filter by blob_type. Readable-column reflects caller_kind + caller_id vs audience.
list_collection
session_token
List works kapoost owns but did NOT create. Public items always; members-only surface only after session activation. List works kapoost owns but did NOT create. Public items always; members-only surface only after session activation.
list_content
tagtype
List published pieces (slug, title, type, access, tags). Optional type/tag filters. List published pieces (slug, title, type, access, tags). Optional type/tag filters.
list_personas
List every persona (slug, title, role). Full prompts unlock after bootstrap_session. List every persona (slug, title, role). Full prompts unlock after bootstrap_session.
list_provenance
slug*
List provenance items (chain of custody, certificates, invoices) for an artwork slug. Tries piece then collection. List provenance items (chain of custody, certificates, invoices) for an artwork slug. Tries piece then collection.
list_skill_groups
Index of every skill tag in use, with slugs per group. Public — no bootstrap required. Index of every skill tag in use, with slugs per group. Public — no bootstrap required.
list_skills
tagcategory
List skills (slug, category, title, tags). Optional category / tag filters. List skills (slug, category, title, tags). Optional category / tag filters.
load_skill_group
name*session_token
Bulk-fetch every skill tagged with the given group name. Respects the bootstrap gate per-skill: -public suffix bypasses, everything else needs session. Bulk-fetch every skill tagged with the given group name. Respects the bootstrap gate per-skill: -public suffix bypasses, everything else needs session.
mysloodsiewnia_get
doc_slug*
Fetch one document from kapoost's vault by slug. Requires Authorization: Bearer <edit token or friend token>. Friend tokens: vault-side filter enforces scope + access:private invis… Fetch one document from kapoost's vault by slug. Requires Authorization: Bearer <edit token or friend token>. Friend tokens: vault-side filter enforces scope + access:private invisibility — an out-of-scope or private slug returns not_found. Vault offline ⇒ {status:offline}.
mysloodsiewnia_list
limitoffsetdoc_type
Enumerate vault documents without FTS — for browsing by type or paginating. Requires Authorization: Bearer <edit token or friend token>. Friend tokens see only their scoped doc_typ… Enumerate vault documents without FTS — for browsing by type or paginating. Requires Authorization: Bearer <edit token or friend token>. Friend tokens see only their scoped doc_types; access:private is invisible. Args: {doc_type?: string filter (note/pdf/literatura/calendar_event/...), limit?: int 1-200 default 50, offset?: int default 0}. Returns [{slug, title, doc_type, created_at, chunk_count}]. Vault offline ⇒ {status:offline}.
mysloodsiewnia_search
limitquery*doc_slugdoc_type
Full-text search (BM25 over SQLite FTS5) on kapoost's local vault corpus. Requires Authorization: Bearer <edit token or friend token>. Friend tokens see only their scoped doc_types… Full-text search (BM25 over SQLite FTS5) on kapoost's local vault corpus. Requires Authorization: Bearer <edit token or friend token>. Friend tokens see only their scoped doc_types; access:private is invisible. Returns {status, results:[{source, type, body, doc_slug, title, page, citation}], summary}. Vault offline ⇒ {status:offline}.
mysloodsiewnia_status
Read-only liveness probe on kapoost's local vault (mysłoodsiewnia). Returns {status: online|degraded|offline, last_seen, commit_sha, personas_updated_at, skills_updated_at}. Offlin… Read-only liveness probe on kapoost's local vault (mysłoodsiewnia). Returns {status: online|degraded|offline, last_seen, commit_sha, personas_updated_at, skills_updated_at}. Offline is a stable state — retry later, don't escalate. Requires Authorization: Bearer <edit token or friend token>.
mysloodsiewnia_write
body*metatitle*doc_type*source_path
Ingest a new document into kapoost's vault (wave 2). OWNER-ONLY — friend tokens receive {status:write_denied,reason:owner_only}. Args: {doc_type (required), title (required), body… Ingest a new document into kapoost's vault (wave 2). OWNER-ONLY — friend tokens receive {status:write_denied,reason:owner_only}. Args: {doc_type (required), title (required), body (required, ≤100 KiB), source_path?, meta?}. Requires Authorization: Bearer <owner token>. On Unauthorized: obtain the token by either (a) calling bootstrap_session(code=<owner poet fragment>) and reading SESSION_TOKEN from the response briefing (1h TTL, preferred for agents that already know the code), or (b) if you have shell access on kapoost's Mac, running `security find-generic-password -s humanmcp-edit-token -w` to fetch the persistent EDIT_TOKEN. Server-side vault auto-tags via:humanmcp-bridge; op_id is dedup key (idempotent retries safe). Delete is permanently unavailable. Envelopes: {status:online, op_id, result:{slug, created_at}}, {status:invalid_args}, {status:payload_too_large, limit, got}, {status:offline}, {status:vault_timeout}, {status:vault_error, error}.
prepare_narada
context*personassession_token
Offline narada: returns the panel plus each persona's ready-to-run SYSTEM/USER prompts so YOU run them as your own subagents, instead of the server generating voices. No LLM cost,… Offline narada: returns the panel plus each persona's ready-to-run SYSTEM/USER prompts so YOU run them as your own subagents, instead of the server generating voices. No LLM cost, no rate limit, nothing recorded — no narada ID and no journal feedback. Prefer this over run_narada when your subagents can read material the server cannot (a repository, local files) or when the server has no API key. Session-gated.
read_blob
slug*caller_idcaller_kind
Read one blob by slug. Returns text or base64-encoded data. Access-gated by audience unless blob is public. Read one blob by slug. Returns text or base64-encoded data. Access-gated by audience unless blob is public.
read_collection_item
slug*session_token
Full record for one collection item + dossier count. Access-gated: private is never visible, members needs session. Full record for one collection item + dossier count. Access-gated: private is never visible, members needs session.
read_content
slug*
Read a public piece by slug. Locked pieces return a hint pointing at request_access. Read a public piece by slug. Locked pieces return a hint pointing at request_access.
read_provenance
id*slug*
Return one provenance item with resolvable file URLs. slug + id required. Return one provenance item with resolvable file URLs. slug + id required.
recall
code*limitquerysession_token
List memories saved under the given code, optionally substring-filtered by query. Session-gated for symmetry with remember. List memories saved under the given code, optionally substring-filtered by query. Session-gated for symmetry with remember.
record_persona_reflection
narada_id*persona_slug*error_context*
Ask a persona to write a lesson-for-self after a rolled-back narada recommendation. Appends to the persona's journal via Sonnet/Haiku. Owner-only. Ask a persona to write a lesson-for-self after a rolled-back narada recommendation. Appends to the persona's journal via Sonnet/Haiku. Owner-only.
remember
code*fromtagstext*session_token
Persist a note under the given session code. Session-gated — bootstrap_session first. Callers sharing the code share the memory. Persist a note under the given session code. Session-gated — bootstrap_session first. Callers sharing the code share the memory.
request_access
slug*
Get the gate details for a locked piece: challenge question, manual-review flow, time-lock countdown, payment terms, or trade rules. Get the gate details for a locked piece: challenge question, manual-review flow, time-lock countdown, payment terms, or trade rules.
request_license
slug*caller_id*intended_use*
Declare intended use of a piece, get licensing terms + audit-log entry. caller_id is REQUIRED (whitespace-only rejected — storyboard-pinned). Declare intended use of a piece, get licensing terms + audit-log entry. caller_id is REQUIRED (whitespace-only rejected — storyboard-pinned).
run_narada
fromcontext*personas
Create an async narada job: server routes context to 3-5 personas via keyword manifest, then generates each voice via Sonnet 4.6 (Haiku 4.5 for journal recaps). Returns job ID for… Create an async narada job: server routes context to 3-5 personas via keyword manifest, then generates each voice via Sonnet 4.6 (Haiku 4.5 for journal recaps). Returns job ID for polling. Pass `personas` to pick the voices yourself and skip the router entirely — the router matches keywords only and cannot read a request to include or exclude someone written in the context.
submit_answer
slug*answer*
Submit an answer to a challenge-gated piece. Correct answer unlocks and returns the full body. Submit an answer to a challenge-gated piece. Correct answer unlocks and returns the full body.
suggest_skills
fileslanguagesgit_origin
Deterministic manifest→tag mapping. Given files + languages + git_origin, returns up to 8 skill slugs and up to 5 personas, each with the reason it fired. No LLM classification. Deterministic manifest→tag mapping. Given files + languages + git_origin, returns up to 8 skill slugs and up to 5 personas, each with the reason it fired. No LLM classification.
synthesise_persona_patterns
slug*
Force-run Sonnet synthesis over a persona's raw journal, replacing the previous pattern set. Owner-only — paid + writes internal state. Force-run Sonnet synthesis over a persona's raw journal, replacing the previous pattern set. Owner-only — paid + writes internal state.
upsert_skill
body*slug*tagstitle*category*
Create or replace a skill by slug. Owner-only: requires Authorization: Bearer <token>. Writes JSON to content/skills/<slug>.json. Create or replace a skill by slug. Owner-only: requires Authorization: Bearer <token>. Writes JSON to content/skills/<slug>.json.
verify_content
slug*