accueil / serveurs / Recherche & Web / ink.penwright/discovery
ink.penwright/discovery
serveur MCP (Model Context Protocol) · penwright-discovery 1.2.0
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 ink.penwright/discovery est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ink.penwright/discovery » 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 9 outils
- choose_camp≈ 430 tokens
Given a guide slug and one pick per debate ('A', 'B', or skip, in debate order, as a single string e.g. 'ABAB'), returns which library ids argue the picked side of each debate and the union reading list. Pure compute over public debate data — no book text is generated.
Paramètres, retour & exemple (2)
Paramètresguide· string · requis
Guide slug (e.g. memoir-writing, nonfiction-writing, fiction-writing, getting-published).picks· string · optionnel
One char per debate in order: A, B, or any other char (or omit) for skip.
Exemple d'appel{"name": "choose_camp", "arguments": {"guide": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"picks": [], "contract": "texte", "guideSlug": "texte", "guideTitle": "texte", "libraryIds": [], "canonicalUrl": "texte", "guideCanonicalUrl": "texte"}} - get_answer≈ 474 tokens
Get one Answer — question, grounded answer, visible citations — by id or slug, in the Answer contract v0 shape (ANSWERS-PROGRAM.md). Read-only. Returns null if not found.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The Answer's stable id or slug.
Exemple d'appel{"name": "get_answer", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "home": "texte", "slug": "texte", "access": "texte", "answer": "texte", "status": "texte", "version": 1, "question": "texte", "citations": [], "updatedAt": "texte", "contentHash": "texte", "generatedBy": {}}} - get_debate≈ 425 tokens
Returns one debate — a named tension between poles argued by different books on the same capability guide, with stakes, guidance, and the library ids of resolvable authors on either side. Known slugs (38): memoir-sentence-craft-or-structural-architecture-first, memoir-daily-discipline-or-trusting-inspiration, memoir-memoir-for-healing-or-for-readers, memoir-factual-accuracy-or-emotional-truth, memoir-chase-publication-or-intrinsic-reward, ….
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Debate slug (e.g. memoir-factual-accuracy-or-emotional-truth).
Exemple d'appel{"name": "get_debate", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "slug": "texte", "poles": [], "topic": "texte", "stakes": "texte", "contract": "texte", "guidance": "texte", "guideSlug": "texte", "guideTitle": "texte", "libraryIds": [], "canonicalUrl": "texte", "guideCanonicalUrl": "texte"}} - get_guide≈ 356 tokens
Returns one live guide's title, subtitle, access, book count, and reading time — card-level metadata only, never the paid body/depth content. Known slugs (23): memoir-writing, nonfiction-writing, fiction-writing, getting-published, self-publishing, book-marketing, design-a-publication, typography-and-layout, ….
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Guide slug (e.g. memoir-writing, fiction-writing, getting-published, self-publishing).
Exemple d'appel{"name": "get_guide", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"live": true, "slug": "texte", "books": 1, "title": "texte", "access": "texte", "updated": "texte", "contract": "texte", "subtitle": "texte", "guideType": "texte", "canonicalUrl": "texte", "readingTimeMin": 1}} - get_library_work≈ 274 tokens
Returns one writing-craft library work's bibliographic record and (when profiled) its thesis.
Paramètres, retour & exemple (1)
ParamètreslibraryId· string · requis
Library catalog id (e.g. libce6efaa49e6f0175).
Exemple d'appel{"name": "get_library_work", "arguments": {"libraryId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tags": [], "year": 1, "pitch": "texte", "title": "texte", "author": "texte", "logline": "texte", "contract": "texte", "libraryId": "texte", "canonicalUrl": "texte"}} - get_magazine_piece≈ 398 tokens
Returns one published magazine piece's question, per-writer sections, and editor's coda — the same content the human page renders, ungated. Known slugs (1): the-whole-room--my-memoir-keeps-stalling-i-can-write-scenes.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Magazine piece slug.
Exemple d'appel{"name": "get_magazine_piece", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"slug": "texte", "title": "texte", "editor": {}, "format": "texte", "contract": "texte", "question": "texte", "sections": [], "generated": "texte", "editorCoda": "texte", "canonicalUrl": "texte"}} - list_answers≈ 556 tokens
List Answers (contract v0), paginated with an opaque cursor. Read-only.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Max answers to return (default 25, capped 200).cursor· string · optionnel
Opaque pagination cursor from a previous list_answers call's nextCursor.
Exemple d'appel{"name": "list_answers", "arguments": {"limit": 1, "cursor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "items": [], "contract": "texte", "nextCursor": "texte"}} - search_answers≈ 568 tokens
Search Answers by free-text query over question/answer text. Returns contract v0 records. Read-only.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Max results to return (default 25, capped 200).query· string · requis
Free-text query matched against question/answer text.
Exemple d'appel{"name": "search_answers", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "query": "texte", "results": [], "contract": "texte"}} - search_library≈ 378 tokens
Search or list Penwright's writing-craft book library by title/author substring and/or property tag. No filters returns the first page.
Paramètres, retour & exemple (3)
Paramètrestag· string · optionnel
Case-insensitive property-tag substring.limit· integer · optionnel
Max rows to return (default 25, max 100).query· string · optionnel
Case-insensitive title/author substring.
Exemple d'appel{"name": "search_library", "arguments": {"tag": "texte", "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tag": "texte", "count": 1, "query": "texte", "total": 1, "results": [], "contract": "texte"}}
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é ».