accueil / serveurs / Recherche & Web / io.github.kapoost/humanmcp
io.github.kapoost/humanmcp
serveur MCP (Model Context Protocol) · humanMCP — kapoost 0.2.0-dev
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.kapoost/humanmcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.kapoost/humanmcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 43 outils
- about_humanmcp≈ 61 tokens
Self-description of this humanMCP server. Deterministic, no bootstrap required — call this first to decide whether the rest of the API is relevant.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "about_humanmcp", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ask_human≈ 148 tokens
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). ALWAYS set `from` to a stable name for yourself: with it, sending the same question again returns the answer instead of creating a duplicate, which is the reliable path when your runtime cannot keep the ID between sessions.
Paramètres, retour & exemple (3)
Paramètresfrom· string · optionnelcontext· string · optionnelquestion· string · requis
Exemple d'appel{"name": "ask_human", "arguments": {"question": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - bootstrap_session≈ 75 tokens
Validate the Polish poetry session code, then emit the full team briefing (guardian + style + personas + skills + persist block). Rate-limited 5/min/IP.
Paramètres, retour & exemple (1)
Paramètrescode· string · requis
Exemple d'appel{"name": "bootstrap_session", "arguments": {"code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_skill≈ 55 tokens
Delete a skill by slug. Owner-only: requires Authorization: Bearer <token>.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "delete_skill", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fetch_answer≈ 69 tokens
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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "fetch_answer", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fetch_narada_result≈ 63 tokens
Poll a narada job by ID. Statuses: pending, running, done, failed. When done, returns all persona voices.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Exemple d'appel{"name": "fetch_narada_result", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_author_profile≈ 45 tokens
Author identity, bio, and a browsing cheatsheet. Records a profile-view event.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_author_profile", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_certificate≈ 53 tokens
Return a formatted copyright/authenticity certificate for a piece.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "get_certificate", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_persona≈ 129 tokens
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.
Paramètres, retour & exemple (2)
Paramètresslug· string · requissession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "get_persona", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_persona_journal≈ 68 tokens
Read a persona's raw reflection journal. Owner-only — the journal is a private feedback loop, not for external callers.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "get_persona_journal", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_skill≈ 128 tokens
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.
Paramètres, retour & exemple (2)
Paramètresslug· string · requissession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "get_skill", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - leave_comment≈ 78 tokens
Attach a short comment (≤280 chars) to a piece kapoost has published. Truncated silently past the limit.
Paramètres, retour & exemple (3)
Paramètresfrom· string · optionnelslug· string · requistext· string · requis
Exemple d'appel{"name": "leave_comment", "arguments": {"slug": "texte", "text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - leave_message≈ 107 tokens
Send kapoost a longer message. context REQUIRED (why you're writing / which piece / which task). contact optional — without it no reply is possible.
Paramètres, retour & exemple (5)
Paramètresfrom· string · optionneltext· string · requiscontact· string · optionnelcontext· string · requisregarding· string · optionnel
Exemple d'appel{"name": "leave_message", "arguments": {"text": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_blobs≈ 90 tokens
List typed data artifacts (images, contact, vectors, documents, datasets, capsules). Filter by blob_type. Readable-column reflects caller_kind + caller_id vs audience.
Paramètres, retour & exemple (3)
Paramètresblob_type· string · optionnelcaller_id· string · optionnelcaller_kind· string · optionnel
Exemple d'appel{"name": "list_blobs", "arguments": {"blob_type": "texte", "caller_id": "texte", "caller_kind": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_collection≈ 102 tokens
List works kapoost owns but did NOT create. Public items always; members-only surface only after session activation.
Paramètres, retour & exemple (1)
Paramètressession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "list_collection", "arguments": {"session_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_content≈ 58 tokens
List published pieces (slug, title, type, access, tags). Optional type/tag filters.
Paramètres, retour & exemple (2)
Paramètrestag· string · optionneltype· string · optionnel
Exemple d'appel{"name": "list_content", "arguments": {"tag": "texte", "type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_personas≈ 45 tokens
List every persona (slug, title, role). Full prompts unlock after bootstrap_session.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_personas", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_provenance≈ 65 tokens
List provenance items (chain of custody, certificates, invoices) for an artwork slug. Tries piece then collection.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "list_provenance", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_skill_groups≈ 47 tokens
Index of every skill tag in use, with slugs per group. Public — no bootstrap required.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_skill_groups", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_skills≈ 57 tokens
List skills (slug, category, title, tags). Optional category / tag filters.
Paramètres, retour & exemple (2)
Paramètrestag· string · optionnelcategory· string · optionnel
Exemple d'appel{"name": "list_skills", "arguments": {"tag": "texte", "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - load_skill_group≈ 124 tokens
Bulk-fetch every skill tagged with the given group name. Respects the bootstrap gate per-skill: -public suffix bypasses, everything else needs session.
Paramètres, retour & exemple (2)
Paramètresname· string · requissession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "load_skill_group", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mysloodsiewnia_get≈ 108 tokens
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}.
Paramètres, retour & exemple (1)
Paramètresdoc_slug· string · requis
Exemple d'appel{"name": "mysloodsiewnia_get", "arguments": {"doc_slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mysloodsiewnia_list≈ 157 tokens
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}.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionneloffset· integer · optionneldoc_type· string · optionnel
Exemple d'appel{"name": "mysloodsiewnia_list", "arguments": {"limit": 1, "offset": 1, "doc_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mysloodsiewnia_search≈ 146 tokens
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}.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnelquery· string · requisdoc_slug· string · optionneldoc_type· string · optionnel
Exemple d'appel{"name": "mysloodsiewnia_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mysloodsiewnia_status≈ 99 tokens
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>.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "mysloodsiewnia_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mysloodsiewnia_write≈ 315 tokens
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}.
Paramètres, retour & exemple (5)
Paramètresbody· string · requismeta· object · optionneltitle· string · requisdoc_type· string · requissource_path· string · optionnel
Exemple d'appel{"name": "mysloodsiewnia_write", "arguments": {"body": "texte", "title": "texte", "doc_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - prepare_narada≈ 244 tokens
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.
Paramètres, retour & exemple (3)
Paramètrescontext· string · requispersonas· array · optionnel
Optional. Explicit persona slugs (from list_personas). When present the keyword manifest is not used. Omit for automatic keyword routing.session_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "prepare_narada", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_blob≈ 79 tokens
Read one blob by slug. Returns text or base64-encoded data. Access-gated by audience unless blob is public.
Paramètres, retour & exemple (3)
Paramètresslug· string · requiscaller_id· string · optionnelcaller_kind· string · optionnel
Exemple d'appel{"name": "read_blob", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_collection_item≈ 116 tokens
Full record for one collection item + dossier count. Access-gated: private is never visible, members needs session.
Paramètres, retour & exemple (2)
Paramètresslug· string · requissession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "read_collection_item", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_content≈ 57 tokens
Read a public piece by slug. Locked pieces return a hint pointing at request_access.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "read_content", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_provenance≈ 63 tokens
Return one provenance item with resolvable file URLs. slug + id required.
Paramètres, retour & exemple (2)
Paramètresid· string · requisslug· string · requis
Exemple d'appel{"name": "read_provenance", "arguments": {"id": "texte", "slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - recall≈ 129 tokens
List memories saved under the given code, optionally substring-filtered by query. Session-gated for symmetry with remember.
Paramètres, retour & exemple (4)
Paramètrescode· string · requislimit· integer · optionnelquery· string · optionnelsession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "recall", "arguments": {"code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - record_persona_reflection≈ 105 tokens
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.
Paramètres, retour & exemple (3)
Paramètresnarada_id· string · requispersona_slug· string · requiserror_context· string · requis
Exemple d'appel{"name": "record_persona_reflection", "arguments": {"narada_id": "texte", "persona_slug": "texte", "error_context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remember≈ 146 tokens
Persist a note under the given session code. Session-gated — bootstrap_session first. Callers sharing the code share the memory.
Paramètres, retour & exemple (5)
Paramètrescode· string · requisfrom· string · optionneltags· array · optionneltext· string · requissession_token· string · optionnel
Optional. The SESSION_TOKEN emitted by bootstrap_session. Pass it here when your client cannot set a per-call Authorization: Bearer header.
Exemple d'appel{"name": "remember", "arguments": {"code": "texte", "text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_access≈ 70 tokens
Get the gate details for a locked piece: challenge question, manual-review flow, time-lock countdown, payment terms, or trade rules.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "request_access", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_license≈ 96 tokens
Declare intended use of a piece, get licensing terms + audit-log entry. caller_id is REQUIRED (whitespace-only rejected — storyboard-pinned).
Paramètres, retour & exemple (3)
Paramètresslug· string · requiscaller_id· string · requisintended_use· string · requis
Exemple d'appel{"name": "request_license", "arguments": {"slug": "texte", "caller_id": "texte", "intended_use": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - run_narada≈ 206 tokens
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.
Paramètres, retour & exemple (3)
Paramètresfrom· string · optionnelcontext· string · requispersonas· array · optionnel
Optional. Explicit persona slugs (from list_personas) to consult. When present the keyword manifest is not used and these exact personas answer, in this order. Omit for automatic keyword routing.
Exemple d'appel{"name": "run_narada", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_content≈ 145 tokens
Search kapoost's pieces by words in title, tags, description and body. Every word must match (AND). Polish diacritics are folded, so "czlowieczenstwa" finds "człowieczeństwa". Use this BEFORE ask_human — most questions about which piece is which are answered here instantly, while ask_human waits for a human. Locked pieces are matched by title and tags only; their body is never searched or quoted.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnelquery· string · requis
Exemple d'appel{"name": "search_content", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_answer≈ 70 tokens
Submit an answer to a challenge-gated piece. Correct answer unlocks and returns the full body.
Paramètres, retour & exemple (2)
Paramètresslug· string · requisanswer· string · requis
Exemple d'appel{"name": "submit_answer", "arguments": {"slug": "texte", "answer": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - suggest_skills≈ 106 tokens
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.
Paramètres, retour & exemple (3)
Paramètresfiles· array · optionnellanguages· array · optionnelgit_origin· string · optionnel
Exemple d'appel{"name": "suggest_skills", "arguments": {"files": [], "languages": [], "git_origin": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - synthesise_persona_patterns≈ 74 tokens
Force-run Sonnet synthesis over a persona's raw journal, replacing the previous pattern set. Owner-only — paid + writes internal state.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "synthesise_persona_patterns", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upsert_skill≈ 112 tokens
Create or replace a skill by slug. Owner-only: requires Authorization: Bearer <token>. Writes JSON to content/skills/<slug>.json.
Paramètres, retour & exemple (5)
Paramètresbody· string · requisslug· string · requistags· array · optionneltitle· string · requiscategory· string · requis
Exemple d'appel{"name": "upsert_skill", "arguments": {"body": "texte", "slug": "texte", "title": "texte", "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - verify_content≈ 55 tokens
Verify a piece's Ed25519 signature against the server's owner public key.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "verify_content", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».