Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

jh-presentation

NPM · JH-PRESENTATION

AI-built HTML presentations: single-file decks with live diagrams, charts, editing and PDF export.

Available components

+3 this week 91 Trust /100

Last scanned (2 hours ago)

Scores higher than 94% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to pei-jz/jh-presentation). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 10 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6016 tokens (~240/item across 25 items; 24 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
  • Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 24 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +11
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.86 ▲ functional
  • 25 Oct 26 −10
    • Known CVEs: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.33 → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Dependency health: 0.86 → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Package version: 0.8.0 → 0.9.0 functional
  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/jh-presentation@0.9.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo pei-jz/jh-presentation
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/pei-jz/jh-presentation/.github/workflows/publish.yml@refs/tags/v0.9.0
Rekor log index 3460038277
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:ab456e965f8be452db69437cd9c919ef62469ea58ec41dd2d32e6d538f707a8ef1d94249aad727a78e35377176a2695125128efcea732de495702781d

Background: How many MCP packages publish verified provenance →

Dependencies 93 packages
Packages resolved 93
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 24 exposed · ~5,745 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_asset ~223

ローカルの画像・動画ファイルをデッキに埋め込む (png / jpg / gif / webp / svg / mp4 / webm)。スライドからは <img data-asset="返された名前" alt="..."> で参照する (src は書かない)。

NameTypeReqDescription
asstring–参照名 (省略時はファイル名)
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
filestringyes埋め込むファイルの絶対パス
namestringyesデッキ名 (list_decks / create_deck が返す name。.html は不要)

No output schema declared.

No examples provided.

audit_deck ~452

ヘッドレスブラウザでプレゼンテーション資料 (スライド・デッキ) を開き、次の項目を検査する: はみ出し・切れ・余白への食い込み (overflow。area: margin は本文がスライドの余白に入り込んでいる)、文字の重なり・ページ番号との重なり (overlap)、タイトルの 2 行への折り返し (wrap)、コントラスト不足 (contrast)、画像の欠落・読み込み失敗 (images)、小さすぎる文字 (smallText)、JS エラー (errors)、エンジンの警告 (warnings)、外部への通信 (externalRequests。オフラインで動かなくなるので不可)。ok: true は「検査した項目で問題が見つからなかった」という意味で、見た目の良し悪しは screenshot_deck で確認すること。意図的な重なり・はみ出し・折り返しは .allow-overlap / .allow-overflow / .allow-wrap で除外できる。write_deck / replace_slide は書き込み後に同じ検査を自動で行うので、これは書き込まずに検査し直したいときに使う。マップ文書も検査できる (データの誤り data・1 階層のノード数 density・全階層の文字の重なり overlap・JS エラーなど)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

create_deck ~361

プレゼンテーション資料 (スライド・発表資料・LT・報告資料) を新しく作る。1 ファイルの HTML (デッキ) で、名前は YYYY-MM-DD-<name>。表紙 1 枚だけの状態で作られるので、続けて write_deck で中身を書く。

NameTypeReqDescription
autoFullscreenboolean–発表モード: 開いた後の最初の → キー・クリックで全画面にする (既定 false)
brandstring–ブランド枠 (名前・ロゴ): none / header (上) / footer (下) / both (上下)
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyes英数字・ハイフンの短い名前 (例: git-branch-strategy)
themestring–テーマ名 (既定: default)。同梱: default (汎用) / dark (技術系) / corporate (報告・提案) / pop (LT・カジュアル) / mono (メッセージ重視)。自作テーマを含む一覧は list_themes
titlestringyes発表タイトル (日本語可)
transitionstring–スライド切り替え効果

No output schema declared.

No examples provided.

create_map ~417

マップ文書を新しく作る: スライドではなく、大きなシステムの関連図・説明書を「全体 → 細部」とたどって読む 1 ファイルの HTML 資料 (目次・検索・データでの絞り込み・URL での共有・階層ごとの印刷付き)。名前は YYYY-MM-DD-<name>。map を省略すると、書き方の見本を兼ねた最初のマップが入るので、続けて write_map で中身を書く。

NameTypeReqDescription
brandstring–ブランド枠 (名前・ロゴ): none / header (上) / footer (下) / both (上下)
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
map––マップのデータ (JSON のオブジェクトか文字列)。書き方はガイドの「階層マップ」と同じ: { title, direction, nodes: [{ id, label, sub, kind, accent, detail (HTML), tags, children: { nodes, edges } }], edges: [{ from, to, label, data: [...],…
namestringyes英数字・ハイフンの短い名前 (例: order-system)
themestring–テーマ名 (既定: default)。一覧は list_themes
titlestringyes資料のタイトル (日本語可)

No output schema declared.

No examples provided.

create_theme ~181

自作テーマを保存する (同名の自作テーマは上書き)。css は default テーマに重ねる CSS (:root の変数上書き + 必要な装飾)。保存後は preview_themes で全見本スライドを確認して調整すること。get_theme_guide を先に読む。

NameTypeReqDescription
cssstringyesテーマの CSS
descriptionstringyes雰囲気と向いている発表 (1 文)
labelstringyes表示名 (例: ACME ブルー)
namestringyesテーマ名 (英小文字・数字・ハイフン。例: acme-blue)
tagsarray–タグ (例: ["落ち着いた", "フォーマル"])

No output schema declared.

No examples provided.

export_deck ~225

デッキを 16:9 の PDF に出力する (アニメーションなし、全ステップ表示)。ユーザーが PDF を求めたときだけ使う (HTML のデッキファイル自体がそのまま配布・発表できるので、頼まれていなければ作らない)。マップ文書は階層ごとに 1 ページ (図 + その階層の部品の説明。A4 横)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

get_guide ~60

プレゼンテーション資料 (スライド・発表資料) の書き方・部品カタログ・良い例・デザイン原則・作業手順。スライドを書く前に必ず読むこと。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_theme_guide ~46

新しいテーマを作るためのガイド (変数の一覧・装飾の上書き方法・確認手順)。create_theme の前に読む。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_decks ~132

作成済みのプレゼンテーション資料 (スライド・デッキ) とマップ文書の一覧 (新しい順)。保存先のフォルダも返す。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す

No output schema declared.

No examples provided.

list_history ~148

デッキ・マップ文書の保存履歴 (書き込み前の版。新しい順、最大 20 件)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

list_templates ~95

用意されている依頼文テンプレート (技術解説・LT・進捗報告など) の一覧と本文。クライアントのプロンプトメニューを使えない場合や、ユーザーが「どんな型がある?」と聞いたときに使い、選ばれたテンプレートの本文に沿って作成を進める。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_themes ~56

利用できるデザインテーマ (同梱 + 自作。名前・表示名・雰囲気の説明・タグ)。内容や聞き手に合うテーマを選ぶときに使う。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

open_deck ~338

ユーザーの既定のブラウザでプレゼンテーション資料 (スライド・デッキ) を開く (発表・確認用。完成したら開いて見せる)。ローカルサーバー経由で開くので、ユーザーは E キーで文字を直して Ctrl+S で元のファイルに直接保存できる。fullscreen: true にすると Chrome / Edge を全画面 (タブ・アドレスバーなし) で起動する。ユーザーが「発表する」「全画面で開いて」と言ったときに使う。マップ文書も開ける (level にノード id を渡すと、その階層を開く)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
fullscreenboolean–全画面の専用ウィンドウで開く (発表用。F11 / Esc で解除)
levelstring–マップ文書: 開く階層・部品のノード id
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

open_theme_gallery ~76

全テーマの見本スライドを並べたページを生成し、ユーザーのブラウザで開く。ユーザーが「テーマを見たい」「どんなデザインがある?」と言ったときに使う (実際に動く見本を見て選べる)。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

preview_themes ~118

各テーマの見本スライドを画像で返す (AI がテーマを見比べる用。テーマ作成後の確認にも使う)。slide: 1=表紙 2=セクション扉 3=カード 4=数値 5=コード 6=結び

NameTypeReqDescription
slidesarray–見本スライドの番号 (既定 [1])
themesarray–対象のテーマ名 (省略時は全テーマ)

No output schema declared.

No examples provided.

read_deck ~209

プレゼンテーション資料 (スライド・デッキ) の編集可能な部分 (スライド HTML・デッキ専用 CSS / JS・設定・埋め込み画像名) と revision を返す。修正前に必ず読むこと。write_deck / replace_slide に revision を渡すと、読んだ後に他で変更されていた場合に上書きを防げる。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキ名 (list_decks / create_deck が返す name。.html は不要)

No output schema declared.

No examples provided.

read_map ~313

マップ文書の編集可能な部分 (マップのデータ (JSON)・専用 CSS / JS・設定) と revision を返す。修正前に必ず読むこと。write_map に revision を渡すと、読んだ後に他で変更されていた場合に上書きを防げる。大きなマップ (ノードが数十を超える) は、outline: true で目次 (id・名前・種類・中の数) だけを読み、node に箱の id を渡してその箱 (children ごと) と、外からつながる矢印・関連・流れ (context) だけを読む。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesマップ文書の名前 (list_decks の maps / create_map が返す name。.html は不要)
nodestring–このノード (children ごと) だけを返す
outlineboolean–true: マップのデータの代わりに目次だけを返す

No output schema declared.

No examples provided.

repair_deck ~197

ブラウザの「名前を付けて保存」で表示中の状態のまま保存されて壊れたデッキを、元の形式に復旧する (list_decks で broken と出るもの)。壊れたファイルは履歴に残る。復旧後は audit_deck と screenshot_deck で確認する。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキ名 (list_decks / create_deck が返す name。.html は不要)

No output schema declared.

No examples provided.

replace_slide ~263

プレゼンテーション資料 (デッキ) のスライドを 1 枚だけ置き換える。target は 1 始まりの番号、またはスライドの id (id での指定を推奨)。書き込み後に自動でレイアウトを検査し、結果を audit に返す。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestringyesデッキ名 (list_decks / create_deck が返す name。.html は不要)
revisionstring–read_deck が返した revision (指定すると、他で変更されていた場合は保存しない)
slidestringyes新しい <section class="slide">...</section> (1 枚分)
target–yesスライド番号 (1 始まり) または id

No output schema declared.

No examples provided.

restore_history ~168

保存履歴の版にデッキ・マップ文書を戻す (戻す前の内容も履歴に残るので、やり直しできる)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
idstringyeslist_history の id
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

screenshot_deck ~409

プレゼンテーション資料のスライドの見た目を画像で返す。slides 省略時は全スライド (枚数が多い場合は数枚ずつ指定するとよい)。step 省略時は全ステップ表示・アニメーション完了後の最終状態。数値を指定するとそのステップ数まで表示した状態。マップ文書は階層ごとに撮る (levels にノード id の配列。'' は全体。省略時は全階層 (最大 12)。select でその部品を選んで詳細パネルを開いた状態)。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
levelsarray–マップ文書: 撮る階層 (中身のあるノードの id。'' は全体)
namestringyesデッキかマップ文書の名前 (list_decks が返す name。.html は不要)
scalenumber–画像の縮尺 (既定: デッキ 0.5 = 960x540、マップ文書 0.75 = 960x600)
selectstring–マップ文書: 選んで詳細パネルを開く部品の id
slidesarray–スライド番号 (1 始まり) の配列。最大 12 枚
stepinteger–表示するステップ数 (省略時は最終状態)

No output schema declared.

No examples provided.

upgrade_deck ~215

デッキ・マップ文書に埋め込まれたエンジン・テーマ・ブランド設定を最新にする (内容は変わらないが、見た目が変わる場合がある)。ユーザーが最新化を求めたとき、またはブランド設定 (brand.json) を変えたときだけ使う。name 省略時は全デッキ・全マップ文書。

NameTypeReqDescription
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
namestring–デッキかマップ文書の名前 (list_decks が返す name。.html は不要)

No output schema declared.

No examples provided.

write_deck ~485

プレゼンテーション資料 (デッキ) のスライドを書き込む。指定した項目だけ置き換え、省略した項目はそのまま残る。slides は <section class="slide">...</section> の並び (全スライド分。id の重複やスライド外の要素はエラー)。埋め込まれたエンジン・テーマ・ブランドは変わらない (theme を変えた場合はテーマだけ入れ替わる。最新化は upgrade_deck)。保存前の内容は履歴に残る (list_history / restore_history)。書き込み後に自動でレイアウトを検査し、結果を audit に返す (ok: false なら issues を直して書き込み直す)。

NameTypeReqDescription
autoFullscreenboolean–発表モード: 開いた後の最初の → キー・クリックで全画面にする (既定 false)
brandstring–ブランド枠 (名前・ロゴ): none / header (上) / footer (下) / both (上下)
cssstring–デッキ専用 CSS の全内容
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
jsstring–デッキ専用 JS の全内容 (Deck.onSlide など)
namestringyesデッキ名 (list_decks / create_deck が返す name。.html は不要)
revisionstring–read_deck が返した revision (指定すると、他で変更されていた場合は保存しない)
slidesstring–全スライドの HTML (<section class="slide"> の並び)
themestring–テーマ名
titlestring–タイトル
transitionstring–スライド切り替え効果

No output schema declared.

No examples provided.

write_map ~558

マップ文書のデータを書き込む。指定した項目だけ置き換え、省略した項目はそのまま残る。map は全体を渡す。大きなマップの一部だけを直すときは、map の代わりに node (箱の id) と part (その箱の JSON 全体。children ごと。id は同じ) を渡す。埋め込まれたビューア・テーマ・ブランドは変わらない (最新化は upgrade_deck)。保存前の内容は履歴に残る (list_history / restore_history)。書き込み後に自動で検査し、結果を audit に返す (ok: false なら issues を直して書き込み直す)。

NameTypeReqDescription
brandstring–ブランド枠 (名前・ロゴ): none / header (上) / footer (下) / both (上下)
cssstring–専用 CSS の全内容
dirstring–デッキのフォルダ (省略時: AI クライアントの作業フォルダの decks/、作業フォルダがなければ既定のワークスペース)。作業フォルダからの相対パスか絶対パス。ユーザーが保存先を指定したときだけ渡す
jsstring–専用 JS の全内容
map––マップのデータ (JSON のオブジェクトか文字列)。書き方はガイドの「階層マップ」と同じ: { title, direction, nodes: [{ id, label, sub, kind, accent, detail (HTML), tags, children: { nodes, edges } }], edges: [{ from, to, label, data: [...],…
namestringyesマップ文書の名前 (list_decks の maps / create_map が返す name。.html は不要)
nodestring–一部だけ置き換えるときの箱の id (part と一緒に渡す)
part––node の箱の JSON 全体 (children・その中の edges / relations ごと)
revisionstring–read_deck が返した revision (指定すると、他で変更されていた場合は保存しない)
themestring–テーマ名
titlestring–タイトル

No output schema declared.

No examples provided.

Install

How do I install the jh-presentation MCP server?

jh-presentation runs locally as an npm package, launched with npx -y jh-presentation. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · jh-presentation

# add to Claude Code
claude mcp add pei-jz-jh-presentation -- npx -y jh-presentation
Common questions

What is the jh-presentation MCP server?

jh-presentation is an MCP server listed in the public MCP registry as io.github.pei-jz/jh-presentation. AI-built HTML presentations: single-file decks with live diagrams, charts, editing and PDF export. This page covers its npm package (jh-presentation).

Is the jh-presentation MCP server safe to use?

jh-presentation scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the jh-presentation MCP server expose?

jh-presentation exposes 24 tools: get_guide, list_themes, open_theme_gallery, preview_themes, get_theme_guide, and 19 more. Their descriptions and schemas cost roughly 5,745 tokens of context every time the server is loaded.

Is the jh-presentation MCP server still maintained?

jh-presentation is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the jh-presentation MCP server under?

jh-presentation declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.