PinAppAI

com.pinappai由 pinappai.com 發布官方發布者v0.9.9更新於 Oct 24, 2026

Visual website feedback your coding agent applies: pin change requests on the live site over MCP.

已驗證Streamable HTTP可網頁執行效率與工作流開發者工具商業與電商

概覽

AI 產生的概覽

讓助理讀取並管理 PinAppAI 的網站視覺回饋——專案、變更請求、審查者與迭代——並套用已核准的修改。

可以做什麼
將助理連接到 PinAppAI 工作區中的網站視覺回饋。可列出專案與變更請求,回傳變更請求的完整詳情(含建議的文字替換),並以內嵌圖片形式回傳截圖,還能依選擇器、頁面、審查者或關鍵字將回饋分組。此外可管理專案、工作區、成員、審查者與 API 金鑰,並支援套用流程:記錄迭代並將變更請求轉入審查狀態。
適用情境
適用於團隊透過 PinAppAI 在線上或預覽網站收集視覺回饋,並希望由程式碼助理分類變更請求、彙整審查進度,並在留有稽核紀錄的前提下套用已核准的文字修改。
執行需求
以遠端端點或本機 npm 套件(stdio)方式執行。需要 PinAppAI 工作區 API 金鑰:CI 或無介面環境透過 PINAPPAI_API_KEY 提供,互動式環境使用登入指令;遠端呼叫使用 Authorization bearer 標頭。部分操作需要編輯者、管理員或擁有者角色,稽核日誌需要 Business 方案。
安裝前請注意
API 金鑰可存取整個工作區及其回饋資料。許多工具會修改或刪除資料:建立、更新與封存專案,邀請與移除成員及審查者,撤銷 API 金鑰,以及刪除工作區(有 7 天寬限期)。重設工具會永久刪除審查資料且無法復原。套用變更請求會寫入迭代紀錄並改變審查狀態。截圖與審查者資料會傳送給助理。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 PinAppAI,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.pinappai%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "pinappai": {
      "type": "http",
      "url": "https://mcp.pinappai.com/mcp"
    }
  }
}

工具

38

list_projects

List PinAppAI projects this API key can access. Returns one entry per project in the key's workspace, with slug, name, derived domain, and created_at. Call this first to see what projects are available before drilling into specific ones.

無需輸入參數。

get_review_summary

Cheap one-call summary of change-request state for a project. Returns totals + by-page + by-reviewer breakdowns + oldest/newest unresolved timestamps. Call this BEFORE drilling into individual CRs to frame the work.

輸入參數project必填

list_change_requests

List change requests for a project with filters + cursor pagination. Defaults to include=['change_requested'] (highest-signal subset). Returns digest fields per row (including element_kind=text|mixed|field|null and suggested_text — a literal text replacement on text/field picks); no inline images at this tier (token-cheap by design). Use get_change_request for full detail + screenshots.

輸入參數limitsincecursorincludeproject必填page_urlreviewer

get_change_request

Full detail for one change request. Returns the CR (including element_kind=text|mixed|field|null and suggested_text — a literal text-replacement the reviewer typed when picking a text/field element), plus related[] (other CRs on the same selector + same page) so you can detect patterns from a single fetch. Set include_image=true to embed the screenshot inline as an MCP image content block. When suggested_text is non-null on a text/field pick, paste it verbatim — do not interpret or rewrite. When element_kind=mixed, the element contains more than text (icons/images/structure) — rely on the comment + screenshot, not just the visible text.

輸入參數id必填project必填include_image

analyze_patterns

Server-side deterministic groupings (by selector / page / reviewer / keyword) plus heuristic suggested_clusters of change requests. Set ai_clusters="auto" (default) to also request semantic clustering via the host's MCP sampling capability — returns ai_clustering_hint for the host AI to apply inline if sampling is unsupported. Use this BEFORE drilling into individual CRs to find patterns across the dataset.

輸入參數includeproject必填group_byai_clustersai_model_preference

get_screenshot

Return the screenshot for a change request as an inline MCP image content block. Use when you want vision context without the full JSON envelope from get_change_request.

輸入參數id必填project必填

get_project

Get a single project by slug — name, allowed_origins, archive state, and the embeddable widget api_key. Scoped to the API key's workspace.

輸入參數project必填

create_project

Create a new PinAppAI project inside the API key's workspace. Returns the project plus its widget api_key for embedding. Requires editor role on the workspace.

輸入參數name必填slug必填allowed_origins

update_project

Update editable fields on a project — slug, name, owner_email, allowed_origins, allow_anonymous_reviewers, primary_origin (review link), preview_origin (preview review link). Requires editor role.

輸入參數nameslugproject必填owner_emailpreview_originprimary_originallowed_originsallow_anonymous_reviewers

archive_project

Soft-archive a project — the widget stops accepting new feedback but the project + history is preserved. Reversible via unarchive_project. Owner role required.

輸入參數project必填

unarchive_project

Restore an archived project — the widget starts accepting feedback again on pages that still embed the snippet. Owner role required.

輸入參數project必填

list_workspaces

List all workspaces the API key's user is a member of, with role per workspace. The api-key remains bound to its original workspace — to operate on another, mint a new key for that workspace in the admin UI.

無需輸入參數。

create_workspace

Create a new workspace owned by the API key's user. Free/Pro plans cap at 1 workspace; Team/Business unlimited. To use the new workspace from MCP, mint a fresh key for it in the admin UI.

輸入參數name必填slug必填

get_workspace

Get the API key's workspace details (slug, name, plan, tier) plus the user's role in that workspace. Useful as a permissions probe.

無需輸入參數。

update_workspace

Rename or re-slug the API key's workspace. Owner role required. Slug changes break existing dashboard URLs.

輸入參數nameslug

delete_workspace

Schedule the API key's workspace for permanent deletion (7-day grace window). Reversible only via the email magic-link sent to the owner. Subsequent MCP calls with this key will fail not_found until cancelled.

無需輸入參數。

list_members

List members of the API key's workspace with their roles, sorted owner → admin → editor → viewer. The user_id field is the lookup key for update_member_role and remove_member.

無需輸入參數。

invite_member

Invite a user to the API key's workspace as admin / editor / viewer (default editor). Admin role required to call. Sends a welcome email.

輸入參數nameroleemail必填

update_member_role

Change a workspace member's role. Caller must outrank both the current role and the new role; promoting to owner requires owner role. Last-owner demotion is rejected with last_owner.

輸入參數role必填user_id必填

remove_member

Remove a member from the API key's workspace. Self-removal works for any role; cross-removal requires admin+ and outranking the target. Last-owner removal returns last_owner.

輸入參數user_id必填

list_reviewers

List external reviewers on a project (people invited via invite_reviewer). Workspace members are implicitly authorized and not listed here. Status: pending / verified / revoked.

輸入參數project必填

invite_reviewer

Invite an external reviewer to a project. They'll get a welcome email; status starts pending and flips to verified when they OTP through the widget. Editor role required.

輸入參數nameemail必填project必填

revoke_reviewer

Revoke an external reviewer's access. First call soft-revokes (status=revoked, audit trail preserved); second call hard-deletes (status=removed). Editor role required.

輸入參數project必填reviewer_id必填

list_audit_events

Read audit log entries for the API key's workspace. Owner role + Business tier required. Returns newest-first; supports filters action / actor (email substring) / from / to (Unix ms).

輸入參數tofromactorlimitactionoffset

list_api_keys

List API keys (active + recently-revoked) in the calling key's workspace. Plaintext / hash never returned. Owner or admin role required.

無需輸入參數。

get_api_key

Get a single API key's metadata by id (no plaintext / hash). Owner or admin role required. Wrong-role and nonexistent-id both surface as not_found.

輸入參數id必填

revoke_api_key

Soft-revoke an API key (reversible via restore_api_key for 7 days). Owner or admin role required. Refuses to revoke the calling key with cannot_revoke_self.

輸入參數id必填

restore_api_key

Restore a soft-revoked API key (within 7 days of revocation). Owner or admin role required. Returns restore_window_expired if the row was never revoked or was revoked > 7 days ago.

輸入參數id必填

get_me

Whoami probe — returns the user behind the API key, the workspace it's bound to, the user's role in that workspace, and the API key's metadata. Run this first to establish context.

無需輸入參數。

update_me_profile

Update the API key user's display name. Email is identity and not editable.

輸入參數name必填

export_my_data

GDPR Art. 15 right-of-access export — every row PinAppAI holds about the API key's user. Sensitive columns (password hash, OAuth tokens) are server-side redacted. Personal data of OTHER reviewers is NOT included.

無需輸入參數。

pinappai_get_iteration_coverage

Read coverage metrics for an iteration: items_decided / manifest_size + items_undecided + per-reviewer decided_count + disagreement_count. Useful for the AI to summarize "you have N items still waiting on M reviewers" and identify CRs needing admin attention. Read-only.

輸入參數project必填iteration_id必填

pinappai_list_iterations

Paginated history of iterations for a project, newest first. Each entry includes seq_no, opened_at, applied_at (NULL while open), bundle_summary, and the frozen manifest_cr_ids_json + manifest_reviewer_ids_json. Pair with pinappai_get_iteration_coverage to summarize outcomes per iteration.

輸入參數limitproject必填before_seq

pinappai_list_apply_inbox

v3 Apply-inbox listing. Returns every change request in an Apply-eligible inbox substate (inbox_new / inbox_rejected / inbox_change_requested) with the prior cr_marked_applied event payload AND the latest reviewer/admin decision payload inlined per row. Used by /pinappai:apply to drive substate-specific edits (new = standard apply; rejected = revert via swap; change_requested = apply with new wording) in one round-trip.

輸入參數limitproject必填

pinappai_apply_change_requests

v3 atomic apply primitive. Takes a list of {cr_id, before_text, after_text} after the AI has edited source for each. Creates one iteration record (audit trail visible in the Project history page) and transitions every eligible CR from inbox_* state to 'in_review' atomically. Per-CR errors (CR not in eligible state, e.g. someone deferred it mid-session) are returned in the response without failing the whole batch. Editor role required.

輸入參數applies必填project必填bundle_summary

pinappai_reset_review_data

Permanently deletes a project's review data: all change requests (+ their event history), iterations, reviewer decisions, ALL freeform pins/comments with their screenshots, and the /changes/-page registration tables. NOT recoverable — no grace window. Requires admin role. Ask the user for explicit confirmation before calling, and prefer the /pinappai:reset-project prompt, which also offers to clean up the repo's static /changes/ page and .pinappai/last-applied.json.

輸入參數confirm必填project必填

pinappai_register_change_items

Register the items of a freshly written /changes/ review page with the server — REQUIRED after generating or regenerating the page, or the in-page review chip and decision bars have no data. Pass every [data-pp-item] in document order with the same attribute values you put in the markup. This replaces the removed client-side self-registration: the page itself can no longer register anything. Editor role required.

輸入參數items必填project必填page_path

pinappai_get_workflow

Get PinAppAI workflow

Return the full procedure for a PinAppAI guided workflow, rendered exactly as the /pinappai:<name> prompt delivers it. Call this when the user asks for one of these and this client does not surface MCP prompts. Follow the returned text verbatim and do not improvise a workflow from its name or description. Available workflows: analyze Read-only pattern analysis of change requests apply v3 PinAppAI Apply — drain the project Inbox by editing source for every Apply-eligible change… audit-review Pull recent audit-log events for the workspace and summarize unusual activity auth-help Walk through PinAppAI MCP authentication — recommend the browser-flow login first, fall back… embed-widget Embed the PinAppAI widget snippet into an EXISTING project's site, then bootstrap the… generate-changes-page Generate a temporary /changes/ review page for a multi-page rewrite remove Remove ALL PinAppAI integration from this repository (widget script, /changes/ pages, optional… reset-project Reset a project's review data to zero — permanently delete its change requests, iterations,… setup-project Walk the user through creating a new PinAppAI project from scratch — pick or create a… summarize Generate a PR description / changelog / customer email from completed work, referencing the…

輸入參數name必填

版本歷史

1
  1. v0.9.9最新Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。