Cpfs Mcp

io.github.JonahAlexanian由 GitHub 帳號 JonahAlexanian 發布v1.1.47更新於 Oct 30, 2026

CPFS Runner as an MCP server — deterministic AI coding guardrails via a compiled WASM core.

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

CPFS Runner 的在地 MCP 伺服器:為 AI 助理提供功能日誌、範圍檢查與受閘控的通過/失敗判定,用於規範化的編碼流程。

可以做什麼
  • 管理功能日誌:建立功能並設定目標檔案與成功標準,繼續或標記失敗嘗試,增減目標檔案,讀取目前日誌。
  • 執行紀律檢查:檢查改動檔案是否在範圍內,掃描啟發式訊號,標記缺乏真實測試證據的通過聲明,並記錄測試證據。
  • 閘控完成:約定驗證方式後,僅在引擎允許時才能把嘗試標記為通過,或確認升級事項。
  • 管理歷史與工作區:列出、切換、建立作業歷史,啟用工作區,並把 CPFS 規則寫入各 IDE 規則檔。
  • 處理授權與設定:輸入、更新、移除或檢視 Pro 授權金鑰,開關遙測、lint 鉤子與檢查點,設定 lint 指令或參考圖片目錄。
適用情境
當你希望 AI 編碼助理遵循按功能推進的結構化流程——明確目標檔案、記錄真實測試證據、以受閘控的完成標準收尾,而不是隨意修改並聲稱完成時,適合使用。
執行需求
以在地 npm 套件透過 stdio 在桌面電腦上執行。選用環境變數:CPFS_WORKSPACE(工作區根路徑)、CPFS_DASHBOARD_PORT(儀表板連接埠,預設 8765)與 CPFS_DEBUG。解除免費額度上限需要 CPFS Pro 授權金鑰;更新授權會連線授權伺服器。
安裝前請注意
多個工具會寫入工作區:產生 .cpfs/ 目錄、git 鉤子、IDE 規則檔(如 .cursor/rules 與 CLAUDE.md)以及功能日誌。檢查點會建立 git 快照,並可能在測試失敗後自動還原檔案,因而捨棄改動。Pro 授權金鑰保存在本機,更新授權會把電子郵件送往授權伺服器;遙測預設關閉,開啟後僅傳送匿名啟動 ping。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

工具

64

cpfs_status

Return CPFS Runner MCP status: package version, native core version, free-tier cap, active feature, entitlement.

無需輸入參數。

cpfs_work_queue

List jobs that need work: IDLE (NEW) and FAILED (KEEP WORKING), with the recommended next slug. Same queue model as the extension. Does not invent tasks from chat — only existing feature logs.

無需輸入參數。

cpfs_list_features

List every feature log in the active history (All-logs/<active>/) with its derived lifecycle status (IN_PROGRESS / PASSED / FAILED / SUSPENDED / CLOSED / unknown) and the active marker. Use this to choose which feature to resume with cpfs_continue_feature — the MCP server does not auto-pick an active feature by file mtime. Use cpfs_list_histories / cpfs_use_history to switch which history is active.

無需輸入參數。

cpfs_check_heuristics

Scan a file or folder for CPFS §13 heuristic signals (numeric thresholds, path literals, semantic regex, workaround comments). Returns findings with file/line/signal/detail.

輸入參數path必填

cpfs_retest_task

Re-run a prior task's frozen RETEST / RETEST-COMPLETE recipe and store the still-passing verdict in .cpfs/retest_results.json (extension retestTask parity).

輸入參數feature必填

cpfs_acknowledge_escalation

Acknowledge a pending ### AI EXHAUSTED escalation so Pass can proceed. Pick/choose the next path (required for owner gate).

輸入參數featurechosen_path

cpfs_heuristic_review

Validate-equivalent heuristic exposure: scan the feature TARGET FILES (or a workspace sample), write .cpfs/heuristic_last_review.json, and stamp the project log.

輸入參數feature

cpfs_check_scope

Check whether files the AI touched (or staged git files) are inside the active feature's TARGET FILES. Returns in-scope vs out-of-scope. In MCP there is no editor to block edits, so scope is enforced at commit time by the git pre-commit hook — this tool is the in-conversation check.

輸入參數filesfeature

cpfs_check_claims

Scan the project log for pass-claim stamps (e.g. STATUS: SUCCESS) in the current attempt that are NOT backed by REAL TEST EVIDENCE with an on-disk artifact. Same WASM logic as the Cursor stop-hook chat-claim guard.

輸入參數feature

cpfs_start_feature

Start a CPFS feature: name it, set TARGET FILES, and define success criteria. Creates a feature log in the active history (All-logs/<active>/).

輸入參數name必填target_files必填success_criteria必填

cpfs_get_feature_log

Return the active feature log (or a named one) as text.

輸入參數feature

cpfs_add_target_files

Append workspace-relative paths to the feature log TARGET FILES line (no duplicates). Refreshes AI context on success. Parity with the Runner Manage target files panel and Add File to TARGET FILES.

輸入參數paths必填feature

cpfs_remove_target_files

Remove paths from the feature log TARGET FILES line. Refreshes AI context on success. Parity with Runner Manage target files → Remove selected.

輸入參數paths必填feature

cpfs_refresh_ai_context

Regenerate the active CPFS rule (FEATURE / TARGET FILES / DO NOT REPEAT / REAL TEST BEFORE PASS / NO FALSE COMPLETION / checksum) and write it to the connected AI client's auto-read rules file (e.g. .cursor/rules/cpfs-active.mdc in Cursor, CLAUDE.md+AGENTS.md in Claude, .windsurfrules in Windsurf). Only the current client's file(s) are written — set CPFS_CLIENTS env to override. Call this after starting a feature or ending an attempt so the AI sees fresh context on every turn.

輸入參數feature

cpfs_continue_feature

Open a new attempt on an existing feature (e.g. after a failed attempt or owner reopen). Appends a new ATTEMPT #N block to the feature log.

輸入參數feature

cpfs_record_evidence

Record a real-test-evidence line for the current attempt (e.g. 'ran the endpoint, got 200 + dashboard loaded | artifact: logs/verify/x.txt'). This is what the gated Pass later looks for — record it as you verify, so cpfs_end_attempt_success can pass.

輸入參數featureevidence_fileevidence_summary

cpfs_agree_verify

Agree the VERIFY BY section of the active feature log (flip Status: pending → agreed, set the Method). This is the MCP equivalent of the owner confirming the verify method in chat. Once agreed, the gated Pass can succeed. Call this once per feature after you and the AI agree how success will be tested.

輸入參數methodfeature

cpfs_add_do_not_repeat

Add a line to the DO NOT REPEAT section of the active feature log, so the AI never retries a known-failed approach. Refreshes the injected rule immediately.

輸入參數line必填feature

cpfs_fail_attempt

Close the current attempt as FAILED (owner reject). action: 'retry' opens a new attempt, 'suspend' pauses the feature, 'close' ends it. Refreshes the injected rule.

輸入參數actionreasonfeature

cpfs_end_attempt_success

Close the active attempt as PASSED. GATED by the real engine: refuses if (a) free-tier is exhausted, (b) VERIFY BY is not agreed, or (c) there is no real-test evidence. Returns the gate verdict — do not claim 'done' to the user until this tool returns allowed=true.

輸入參數featureevidence_fileevidence_summary

cpfs_enter_license

Enter a CPFS Pro license key. Verified offline by the compiled WASM core (ed25519). Removes the free-tier limit.

輸入參數key必填

cpfs_set_telemetry

Opt in to or out of anonymous CPFS telemetry. Default is OFF. Reversible at any time. When ON, sends only an anonymous startup ping (feature count, native core version, free-tier usage) — never source code, file paths, or prompts.

輸入參數enabled必填

cpfs_list_histories

List all CPFS job-history files registered in repo-root historys.json, with which one is active for MCP and which for the extension. On startup with no active history chosen, call this to pick one.

無需輸入參數。

cpfs_use_history

Switch the active job-history for the MCP server. All subsequent task reads/writes go to All-logs/<name>/. Does not affect the extension's chosen history.

輸入參數name必填

cpfs_create_history

Create a new job-history (a new All-logs/<name>/ folder + empty materialized index) and optionally set it as the active history for MCP and/or the extension. Does not copy existing logs — use the migration script for that.

輸入參數name必填set_mcp_activeset_extension_active

cpfs_current_history

Report which job-history is active for MCP and the extension, and where its logs/index live.

無需輸入參數。

cpfs_fan_out_rules

Write the CPFS protocol block into every supported IDE's native rules file (.windsurfrules, CLAUDE.md, AGENTS.md, GEMINI.md, .github/copilot-instructions.md) so an MCP-connected AI in any IDE follows CPFS from rules + MCP tools even without agent-lifecycle hooks. Idempotent — call when a rules file is missing or after CPFS is enabled. Returns per-IDE status.

無需輸入參數。

cpfs_enable_workspace

Enable CPFS for this workspace: scaffold .cpfs/, config, onboarding, zone map, git hook, and the mandatory .cursor/rules/cpfs-mandatory.mdc rule. Idempotent. Parity with the extension's enableWorkspace command.

無需輸入參數。

cpfs_install_mandatory_rule

Write the mandatory CPFS policy rule to .cursor/rules/cpfs-mandatory.mdc (always-applied). Returns true if freshly created. Idempotent.

無需輸入參數。

cpfs_dismiss_pending_scope_edits

Dismiss ALL pending out-of-scope edits for a feature so the gated Pass is no longer soft-blocked by them. Clears the MCP scope-watcher pending store for that slug AND marks the extension edit-history entries skipped (extension dismissPendingScopeEdits parity). Use after the owner decides the out-of-scope writes are acceptable but does not want to Keep/Revert each one.

輸入參數feature

cpfs_dev_set_free_counter

DEV ONLY: set the free-tier completion counter in .cpfs/config-mcp.json (0..cap). Useful for testing free-tier exhaustion/restore behavior. No effect when a Pro license is installed.

輸入參數value必填

cpfs_remove_license

Remove the stored CPFS Pro license key. The workspace falls back to free-tier rules. Reversible by re-entering a key via cpfs_enter_license.

無需輸入參數。

cpfs_show_license_status

Show the current license/entitlement status: mode (full/free-enforced/free-exhausted), licensed flag, license payload (seat/email/exp) if any, and free-tier usage. Parity with the extension's showLicenseStatus.

無需輸入參數。

cpfs_refresh_license

Re-fetch the latest valid CPFS Pro license key for an email from the CPFS license server and store it (renewal that feels like the same key got extended). The server always returns a freshly-signed key for that email; it is verified locally before storing. Default server: https://ragbox.llc.

輸入參數email必填server

cpfs_set_reference_images_dir

Set the reference-images directory (relative path from workspace root) used for verify captures and owner context screenshots. Stored in .cpfs/config-mcp.json as referenceImagesPath.

輸入參數path必填

cpfs_open_reference_images_dir

Report the reference-images directory: resolved path, whether it exists, image count, and the newest images. The extension opens the folder in the OS; the MCP server has no OS opener, so it returns the listing instead.

無需輸入參數。

cpfs_toggle_lint_enabled

Enable or disable the post-edit lint hook. When enabled, the configured lint command runs after AI edits and surfaces hints. Stored in .cpfs/config-mcp.json as lintEnabled.

輸入參數enabled必填

cpfs_set_lint_command

Set the lint command run after AI edits (e.g. 'npx eslint --fix {file}'). The {file} token is replaced with the edited file path. Stored in .cpfs/config-mcp.json as lintCommand.

輸入參數command必填

cpfs_toggle_checkpoint_enabled

Enable or disable attempt checkpoints (git snapshots taken at attempt start). When disabled, no checkpoint is created on attempt open. Stored in .cpfs/config-mcp.json as checkpointEnabled.

輸入參數enabled必填

cpfs_toggle_checkpoint_auto_restore

Enable or disable auto-restoring the attempt checkpoint when a test fails. When enabled, a failed validateAttempt restores files to the checkpoint before retrying. Stored in .cpfs/config-mcp.json as checkpointAutoRestoreOnTestFail.

輸入參數enabled必填

cpfs_open_dashboard

Return the URL of the CPFS MCP localhost dashboard (human review surface for scope Keep/Revert, Pass, Fail, escalation acknowledge, and reports). Open it in a browser.

無需輸入參數。

cpfs_toggle_cpfs

Enable or disable CPFS enforcement for this workspace (writes the 'enabled' flag in .cpfs/config-mcp.json). When disabled, the MCP tools still run but report CPFS as off. Reversible.

輸入參數enabled必填

cpfs_owner_pass

Director/owner Pass: confirm a feature attempt as PASSED without requiring AI real-test evidence (the owner tested and confirmed). Parity with the dashboard's ownerPass / ownerPassNoArtifact. Still respects free-tier exhaustion and escalation gates.

輸入參數featureno_artifact

cpfs_validate_attempt

Run the configured test command (testCommand in .cpfs/config-mcp.json) for the active feature attempt and append a VALIDATION block to the log. Returns pass/fail, exit code, and output tail. Respects the soft-block (pending out-of-scope edits) gate. Parity with the extension's validateAttempt command (the vscode modal is replaced by a structured block reason).

輸入參數feature

cpfs_run_all_checks

Run every agreed command/file outcome row from the active feature's VERIFY BY section, append an OUTCOME RESULTS block to the log, and return the rollup summary. Matches the extension's runAllChecks (automated outcome checks only — heuristic and scope are separate tools). Respects the acceptance gate and soft-block.

輸入參數feature

cpfs_restore_attempt_checkpoint

Restore files to the active attempt's checkpoint (a git stash ref captured at attempt start). With no files arg, restores every file changed since the checkpoint. Returns restored/failed lists. Parity with the extension's restoreAttemptCheckpoint command.

輸入參數reffilesfeature

cpfs_export_report

Write a self-contained HTML development report for a feature (summary, attempt timeline, success criteria, verify-by, DO NOT REPEAT, weekly activity) to <logs-dir>/<slug>-report.html and return the path. Parity with the extension's exportReport command (the save dialog is replaced by a deterministic path).

輸入參數feature

cpfs_manage_active_zones

Set which development zone IDs are active for this workspace (stored as activeZones in .cpfs/config-mcp.json). The active zones determine the default TARGET FILES for new features. Returns the zone summary. Parity with the extension's manageActiveZones command (quick-pick → MCP args).

輸入參數zone_ids必填

cpfs_add_file_to_zone

Add an explicit file path to one or more development zones in the zone map. Persists the updated zone map. Parity with the extension's addFileToZone command.

輸入參數file必填zone_ids必填

cpfs_remove_file_from_zone

Remove an explicit file path from a development zone in the zone map. Persists the updated zone map. Parity with the extension's removeFileFromZone command.

輸入參數file必填zone_id必填

cpfs_lint_file

Run the configured lint command on a single file and return pass/fail + output tail. Respects the lintEnabled flag and lintCommand in .cpfs/config-mcp.json. Parity with the extension's post-edit lint hook (exposed here as an on-demand tool).

輸入參數file必填

cpfs_set_test_command

Set the test command run by cpfs_validate_attempt (e.g. 'npm test' or 'node scripts/smoke.cjs'). Stored in .cpfs/config-mcp.json as testCommand. Parity with the extension's testCommand setting.

輸入參數command必填

cpfs_accept_outcomes

Mark outcome rows in ### OUTCOME ACCEPTANCE as ✓ accepted (or ✗ rejected with a note). The WASM acceptance gate blocks cpfs_run_all_checks until every row is ✓ accepted, so this is the gate's key. Parity with the extension's dashboard ✓ accept button. Default: accept all pending rows.

輸入參數acceptrejectfeature

cpfs_generate_onboarding

Generate (or regenerate) an ONBOARDING.md onboarding document for the workspace by scanning the repo structure, services, handoffs, and CPFS zones. Writes the file and returns the report + an AI fill prompt. Parity with the extension's generateOnboarding command.

輸入參數rel_path

cpfs_verify_onboarding

Verify the onboarding document (checks required sections, handoff coverage, dir mentions) and return a formatted report. Does not modify the file. Parity with the extension's verifyOnboarding command.

輸入參數rel_path

cpfs_approve_onboarding

Approve the onboarding document: stamp the approved frontmatter (approved: true, approved_at: today), write it back, then verify and report onboarding status. Parity with the extension's approveOnboarding command.

輸入參數rel_path

cpfs_reaudit_onboarding

Re-audit the onboarding document: run auditOnboarding (updates frontmatter audited_at/audited_commit/watch_paths) and assess staleness. Scaffolds a minimal onboarding file if none exists. Returns the audit report + staleness assessment. Parity with the extension's reauditOnboarding command.

輸入參數rel_path

cpfs_attach_onboarding

Attach an existing onboarding file (relative path) as the workspace's onboarding document. Stores it in .cpfs/config-mcp.json (onboarding.path + legacy onboardingPath). Parity with the extension's attachOnboarding command (file picker → MCP arg).

輸入參數rel_path必填

cpfs_mark_onboarding_ai_audit

Mark the onboarding document's source as 'ai_audit' (created by AI audit) in .cpfs/config-mcp.json. Used after cpfs_generate_onboarding / cpfs_reaudit_onboarding so the dashboard shows the correct source label. Reversible by attaching a user file.

無需輸入參數。

cpfs_open_onboarding

Return the onboarding document path and its contents (the extension opens the file in the editor; the MCP server has no editor, so it returns the content instead). Reports missing-file when no onboarding is configured.

無需輸入參數。

cpfs_start_formal_feature

Start a CPFS formal feature (Type 3): write a structured-test draft to .cpfs/formal_feature_draft.md and return the AI review prompt + the dashboard Formal Feature form URL. The draft is the shared workspace between the AI (chat) and the human (dashboard form). Optional tests JSON pre-fills structured tests (AI-draft fast path); the human reviews/edits in the dashboard before the feature log is created. Parity with the extension's formal feature form (webview → dashboard page).

輸入參數name必填testsproblemtarget_files

cpfs_upgrade_to_type3

Upgrade an existing Type 2 (non-formal) feature to Type 3 (formal): read its log, build a pre-filled formal-feature draft from it (feature name, target files, problem reconstructed from the opening request + success criteria), write the draft, and return the review prompt + dashboard form URL. The developer then fills in the structured tests / reference image in the dashboard. Parity with the extension's 'Upgrade to Type 3' button.

輸入參數feature必填

cpfs_edit_criteria

Open the dashboard Formal Feature form to edit the structured-test criteria of the current formal feature draft (.cpfs/formal_feature_draft.md). Returns the dashboard form URL. If no draft exists, instruct to call cpfs_start_formal_feature or cpfs_upgrade_to_type3 first. Parity with the extension's formal feature form (the webview is replaced by the dashboard page).

無需輸入參數。

cpfs_analyze_legacy_crossings

Analyze legacy crossings (blast radius) for a passed CPFS task: detect pre-existing symbols the task modified, resolve their non-CPFS callers via a standalone language server (C-LSP — selected by file extension, auto-installed for npm-based servers), and scaffold one coverage task log. Falls back to symbol-existence-only ('basic blast-radius detection') when no language server is available. Returns the report + the dashboard blast-radius URL. Parity with the extension's analyzeLegacyCrossings command (vscode-coupled LSP → standalone-server LSP).

輸入參數featurewrite_coverage

版本歷史

4
  1. v1.1.47最新Oct 30, 2026
  2. v1.1.46Oct 30, 2026
  3. v1.1.35Oct 22, 2026
  4. v1.1.31Sep 16, 2026

評分

已滿足適用檢查項的 65%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

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

  • 授權條款10 分

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