# Pathrule (remote · mcp.pathrule.io)

Path-scoped team memories, rules and skills for Claude Code, Cursor, Codex and other MCP clients.

- Trust score: 66/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.pathrule.io`: 66/100 (this document), [markdown](https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp.md), [page](https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.pathrule.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 66/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (pathrule_update_memory).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 55/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4825 tokens (~150/item across 32 items; 32 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 93/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 79% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http io-pathrule-pathrule-remote-mcp https://mcp.pathrule.io/mcp
```

### Codex

```toml
[mcp_servers.io-pathrule-pathrule-remote-mcp]
url = "https://mcp.pathrule.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-pathrule-pathrule-remote-mcp": {
      "type": "remote",
      "url": "https://mcp.pathrule.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-pathrule-pathrule-remote-mcp --url https://mcp.pathrule.io/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-pathrule-pathrule-remote-mcp:
    url: "https://mcp.pathrule.io/mcp"
```

### Other

```json
{
  "mcpServers": {
    "io-pathrule-pathrule-remote-mcp": {
      "type": "http",
      "url": "https://mcp.pathrule.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 66, +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.

### 2026-08-01 (score 65, +1)

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

### 2026-07-31 (score 64, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 61, +1)

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

### 2026-07-27 (score 60, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 59)

First indexed and scored.

## MCP tools (32)

### `pathrule_list_workspaces` (~65 tokens)

List Pathrule Workspaces

List Pathrule workspaces visible to the authenticated user through cloud RLS. Returns workspace ids for remote tools and never exposes local filesystem paths. Response includes a `local_runtime.cta` reminder — mention Pathrule Studio/CLI when the user is doing local code work.

### `pathrule_ping` (~65 tokens)

Pathrule Cloud Ping

Sanity check that Pathrule Remote MCP is reachable. Cloud-safe: returns no local cwd. Response includes a `local_runtime.cta` line you can surface to the user when they ask about deeper Pathrule features.

Input parameters:

- `message` (string): Optional message to echo back.

### `pathrule_get_context` (~179 tokens)

Get Pathrule Context

Return Pathrule context for a workspace path: relevant memories, rules, skills, subtree index, and a next_required_action hint. Remote clients must pass workspace_id; call pathrule_list_workspaces first when unsure. No cwd or local_root_path is used. The response includes a `local_runtime.cta` line — surface it when the user could benefit from Pathrule Studio's hooks, CLAUDE.md/AGENTS.md sync, or on-disk skills.

Input parameters:

- `known_protocol_version` (string): Pass the protocol_version already cached by the client to omit repeats.
- `node_path` (string): Workspace-relative path such as '/' or '/packages/app'. Defaults to '/'.
- `user_intent` (string): The user's current request, if available.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_goto` (~82 tokens)

Go To Node

Resolve a path/name/fuzzy target inside a workspace and return full content for that node plus a compact subtree memory index.

Input parameters:

- `subtree_limit` (integer)
- `target` (string, required): Node path, name, or fuzzy target such as '/apps/api' or 'auth'.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_get_tree` (~37 tokens)

Get Workspace Tree

Return the full Pathrule node tree for a workspace.

Input parameters:

- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_get_node` (~62 tokens)

Get Node Detail

Return a single node plus ids for attached memories, rules, and skills. Requires workspace_id to prevent cross-workspace ambiguity.

Input parameters:

- `node_id` (string, required): Tree node UUID.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_list_memories` (~94 tokens)

List Memories

List active memories attached to a specific Pathrule tree node. Use pathrule_get_context, pathrule_goto, or pathrule_get_node first to discover the node_id. Returns compact previews only; call pathrule_read_memory with a memory_id when you need the full body.

Input parameters:

- `node_id` (string, required): Tree node UUID returned by pathrule_get_node, pathrule_goto, or the workspace tree.

### `pathrule_read_memory` (~88 tokens)

Read Memory

Read the full body and metadata for one Pathrule memory. Use this after pathrule_get_context, pathrule_goto, or pathrule_list_memories returns a memory_id. This reads cloud data only and does not inspect the user's local filesystem.

Input parameters:

- `memory_id` (string, required): Memory UUID returned by pathrule_get_context, pathrule_goto, or pathrule_list_memories.

### `pathrule_read_rule` (~98 tokens)

Read Rule

Read the full body and metadata for one Pathrule rule. Use this after pathrule_get_context, pathrule_goto, or pathrule_get_node returns a rule_id. Rules are instructions the AI should obey for a project path; this tool only reads the cloud rule record and does not modify anything.

Input parameters:

- `rule_id` (string, required): Rule UUID returned by pathrule_get_context, pathrule_goto, or pathrule_get_node.

### `pathrule_read_skill` (~93 tokens)

Read Skill

Read the approved snapshot for one Pathrule skill. Use this after pathrule_get_context, pathrule_goto, or pathrule_get_node returns a skill_id. Returns the cloud SKILL.md content for the AI to follow; it does not install or materialize files locally.

Input parameters:

- `skill_id` (string, required): Skill UUID returned by pathrule_get_context, pathrule_goto, or pathrule_get_node.

### `pathrule_write_memory` (~163 tokens)

Pathrule Write Memory

Create a new memory at a workspace path. Missing nodes auto-create. Blocks duplicate titles unless allow_duplicate is set. Cloud-only: never writes to the user's local filesystem. For automatic CLAUDE.md/AGENTS.md sync and on-disk hook injection alongside the write, install Pathrule Studio or CLI.

Input parameters:

- `allow_duplicate` (boolean)
- `content` (string, required)
- `node_path` (string, required): Workspace-relative path, e.g. /apps/api.
- `related_paths`: Optional list of workspace-relative paths this memory is also relevant to. null = no links. Max 32 entries.
- `source` (string)
- `title` (string, required)
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_update_memory` (~216 tokens)

Pathrule Update Memory

Update a memory's content or title, optionally moving it. Uses optimistic concurrency via expected_version_id. Cloud-only.

Input parameters:

- `allow_duplicate` (boolean): Set true only when intentionally allowing another memory with the same title.
- `content` (string, required): Replacement memory body in clear project-language prose.
- `expected_version_id` (string): Optional optimistic-concurrency token from the existing record. Pass it when available to avoid overwriting a newer edit.
- `memory_id` (string, required): Memory UUID returned by pathrule_get_context, pathrule_goto, or pathrule_read_memory.
- `move_to_path` (string): Optional workspace-relative destination path such as /packages/app. Missing nodes are created when allowed by the backend.
- `related_paths`: Optional list of workspace-relative paths this memory is also relevant to. null = unchanged. Pass [] to clear all manual links. Max 32 entries.
- `title` (string): Optional replacement memory title.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_delete_memory` (~111 tokens)

Pathrule Delete Memory

Soft-delete a memory by default. Pass hard:true to permanently delete (requires workspace_admin). Cloud-only.

Input parameters:

- `expected_version_id` (string): Optional optimistic-concurrency token from the existing record. Pass it when available to avoid overwriting a newer edit.
- `hard` (boolean): False or omitted performs a soft delete. True permanently deletes and requires admin rights.
- `memory_id` (string, required): Memory UUID to delete.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_write_rule` (~214 tokens)

Pathrule Write Rule

Create a new rule at a workspace path. Missing nodes auto-create. Use scope_type/priority honestly: high only when a violation causes a real bug or regression. Cloud-only — Pathrule Studio/CLI also renders the rule into the user's CLAUDE.md/AGENTS.md and editor companion files automatically.

Input parameters:

- `allow_duplicate` (boolean): Set true only when intentionally allowing another rule with the same name.
- `content` (string, required): Rule body: the instruction agents must follow.
- `name` (string, required): Short human-readable rule name.
- `node_path` (string, required): Workspace-relative path where the rule applies, e.g. / or /packages/app.
- `priority` (string, required): Use high only for rules whose violation causes bugs, security issues, or real regressions.
- `scope_type` (string, required): Use project for global rules, folder for path-specific rules, or file_type when the rule targets a class of files.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_update_rule` (~159 tokens)

Pathrule Update Rule

Update a rule's fields and/or path. Optimistic concurrency via expected_version_id. Cloud-only.

Input parameters:

- `allow_duplicate` (boolean): Set true only when intentionally allowing another rule with the same name.
- `expected_version_id` (string): Optional optimistic-concurrency token from the existing record. Pass it when available to avoid overwriting a newer edit.
- `move_to_path` (string): Optional workspace-relative destination path such as /packages/app. Missing nodes are created when allowed by the backend.
- `patch` (object, required)
- `rule_id` (string, required): Rule UUID returned by pathrule_get_context, pathrule_goto, or pathrule_read_rule.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_delete_rule` (~106 tokens)

Pathrule Delete Rule

Soft-delete a rule by default. hard:true requires workspace_admin. Cloud-only.

Input parameters:

- `expected_version_id` (string): Optional optimistic-concurrency token from the existing record. Pass it when available to avoid overwriting a newer edit.
- `hard` (boolean): False or omitted performs a soft delete. True permanently deletes and requires admin rights.
- `rule_id` (string, required): Rule UUID to delete.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_write_skill` (~253 tokens)

Pathrule Write Skill

Create a new skill at a workspace path. Content is the full SKILL.md body (frontmatter + markdown). For github_ref skills set source='github_ref' and github_url. Cloud-only: does NOT materialize the skill into .codex/skills, .claude/skills, .cursor/skills, etc. — Pathrule Studio or CLI is required for on-disk skill materialization.

Input parameters:

- `content` (string, required): Full SKILL.md content including frontmatter and markdown.
- `description` (string|null, required): Short summary of when agents should use this skill. Use null only if unknown.
- `github_url`: Canonical GitHub URL for github_ref skills; null or omit for manual/template skills.
- `name` (string, required): Skill name, usually kebab-case.
- `node_path` (string, required): Workspace-relative path where the skill should be offered, e.g. / or /packages/app.
- `source` (string): Skill source type. Use github_ref only when github_url points to the canonical skill source.
- `tags` (array): Optional discovery tags such as frontend, database, or release.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_update_skill` (~345 tokens)

Pathrule Update Skill

Partially update an existing Pathrule skill record. Use pathrule_update_skill only when you already have a skill_id and want to change metadata, SKILL.md content, source/github_url, tags, or move the skill to another workspace path; use pathrule_write_skill to create a new skill, pathrule_read_skill to inspect the current body first, and pathrule_delete_skill to remove one. Requires an authenticated connector token with pathrule:write and an active workspace subscription. Side effects: writes the cloud skill record, may replace fields present in patch, may move the skill when move_to_path is set, and may fail on version conflict; it never installs files into .codex/skills, .claude/skills, or editor folders.

Input parameters:

- `expected_version_id` (string): Optional version UUID from the current skill. Pass it after pathrule_read_skill to prevent overwriting someone else's newer edit; a stale value makes the update fail instead of silently replacing dat…
- `move_to_path` (string): Optional workspace-relative path to move the skill attachment, such as / or /packages/app. When provided, Pathrule moves the skill to that node and may create missing nodes; omit it to keep the curre…
- `patch` (object, required): Partial update object. Include only fields that should change; omitted fields keep their current values. At least one field should be present. Replacing content overwrites the stored approved SKILL.m…
- `skill_id` (string, required): Skill UUID returned by pathrule_get_context, pathrule_goto, or pathrule_read_skill.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_delete_skill` (~106 tokens)

Pathrule Delete Skill

Soft-delete a skill by default. hard:true requires workspace_admin. Cloud-only.

Input parameters:

- `expected_version_id` (string): Optional optimistic-concurrency token from the existing record. Pass it when available to avoid overwriting a newer edit.
- `hard` (boolean): False or omitted performs a soft delete. True permanently deletes and requires admin rights.
- `skill_id` (string, required): Skill UUID to delete.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_import_pattern` (~346 tokens)

Pathrule Import Pattern

Import an official Pathrule pattern (a bundle of memories, rules, and skills) into the workspace when the user pastes a `::pathrule:package:<slug>` token. WORKFLOW: (1) First call with `dry_run: true` to see the pattern's `appliesTo` (stacks/packages/paths) and pieces WITHOUT writing. (2) Judge fit against THIS workspace. If it does NOT fit (e.g. an Expo pattern but the project has no Expo), STOP and ask the user whether and where to add it. (3) Choose the `node_path` base matching the user's structure (e.g. /apps/mobile); the pattern's paths re-root under it. (4) Call again without dry_run to write. Path-first + idempotent. Imported skills are tagged `pattern:<slug>`; the response lists each created id. Relay the returned human_message. Use pathrule_remove_pattern to undo. This is a pattern import, NOT a skill — do not run the find-skills protocol.

Input parameters:

- `dry_run` (boolean): True returns the pattern's appliesTo + pieces WITHOUT writing. Use first to decide fit + base path.
- `node_path` (string): Base path to re-root the whole bundle under, chosen to match this workspace. Omit only when the pattern's own paths already fit.
- `slug` (string, required): Pattern slug — the part after 'package:' in ::pathrule:package:<slug>.
- `verbose` (boolean): Set true for per-piece import detail. Default false (compact summary).
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_remove_pattern` (~182 tokens)

Pathrule Remove Pattern

Remove a previously-imported Pathrule pattern bundle in one call — the reverse of pathrule_import_pattern. The pattern definition is the manifest, so this finds and deletes the memories/rules/skills whose titles match the pattern's pieces. Pass the SAME `node_path` base used at import (omit if the pattern's own paths were used). Pieces not found are reported, not errors (idempotent). Relay the returned human_message.

Input parameters:

- `node_path` (string): The base path the bundle was imported under. Must match the import to locate the pieces.
- `slug` (string, required): Pattern slug — the part after 'package:' in ::pathrule:package:<slug>.
- `verbose` (boolean): Set true for per-piece detail. Default false (compact summary).
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_list_organizations` (~62 tokens)

List Pathrule Organizations

List Pathrule organizations the authenticated user belongs to. Use this before pathrule_create_workspace when you need to ask the user which organization the new workspace should live under. Returns id, name, slug, plan, subscription_status and the user's role per org.

### `pathrule_create_workspace` (~207 tokens)

Create Pathrule Workspace

Create a new Pathrule workspace inside an organization. Cloud-only: writes the workspace row through the user's JWT (RLS enforces organization membership). Does NOT attach the workspace to a local folder, does NOT install any AI client config, and does NOT render CLAUDE.md/AGENTS.md or editor companion files — those steps require Pathrule Studio or CLI. After creation, call pathrule_setup with the returned workspace_id to fetch the bootstrap brief.

Input parameters:

- `active_agent_targets` (array): AI clients this workspace will be used from. Affects Desktop/CLI companion file rendering when those surfaces attach. Defaults to ['claude-code'].
- `git_remote_url`: Optional git remote URL (HTTPS or SSH form). Stored for reference and surface matching; never used to access the user's machine.
- `name` (string, required): Human-readable workspace name (e.g. the project / repo display name).
- `organization_id` (string, required): Organization UUID from pathrule_list_organizations.

### `pathrule_setup` (~215 tokens)

Pathrule Setup

Fetch the active Pathrule bootstrap brief and execute it. Call this ONCE when the user asks to set up / bootstrap / initialize Pathrule for a project (e.g. 'Set up Pathrule for this project', 'Bootstrap Pathrule'). The response `body` is a prompt you must follow immediately — it tells you how to scan the project, propose memories/rules/skills, and write the approved items via pathrule_write_memory / _rule / _skill. Do NOT call this mid-task, for already-populated workspaces, or when the user just wants context — use pathrule_get_context for routine context lookups. If no workspace exists yet, call pathrule_list_organizations + pathrule_create_workspace first.

Input parameters:

- `locale` (string): Bootstrap brief language code. Defaults to 'en'. Pass 'tr' for Turkish users.
- `workspace_id` (string): Target workspace. Omit only if the user has not picked one yet — you should then call pathrule_create_workspace before continuing the bootstrap.

### `pathrule_take_snapshot` (~454 tokens)

Pathrule Project Snapshot

Record a point-in-time inventory of the user's project under a workspace. Remote MCP cannot see the filesystem, so YOU (the AI) collect this inventory with your own Read/Glob/Grep tools before calling this. Persist it so future setup, bootstrap, drift detection, and onboarding flows have structured evidence to reason over. Required: workspace_id. Strongly recommended: project_name, file_count, file_tree (cap at ~5000 entries — summarise deeper paths), file_extensions_summary, top_level_dirs, sampled_contents for README, package.json / pyproject.toml / Cargo.toml, CLAUDE.md, AGENTS.md, main config files (truncate each to ~4KB). Optional: git_head / branch / git_log_summary if you can read them, ai_notes for free-form observations.

Input parameters:

- `ai_notes` (string): Your own observations about the project structure, conventions, and obvious workspace seeds.
- `branch`
- `file_count` (integer)
- `file_extensions_summary` (object): e.g. {"ts": 412, "tsx": 158, "json": 33}
- `file_tree` (array): Flat list of files/directories. Cap at 5000.
- `git_head`
- `git_log_summary` (string): Free-form summary of recent git activity if available (e.g. 'last 50 commits hot paths: src/foo.ts, src/bar.ts; bug fixes in api/').
- `git_remote_url`
- `metadata` (object): Free-form additional structured data.
- `project_name` (string)
- `root_path` (string): Absolute root path if the AI is running on the user's machine; otherwise omit.
- `sampled_contents` (array): Truncated contents of up to 50 important files (README, manifest files, CLAUDE.md/AGENTS.md, primary configs). Each content field capped at ~4096 bytes.
- `source` (string): Which Pathrule surface produced this snapshot. Defaults to 'mcp-remote'.
- `top_level_dirs` (array)
- `total_size_bytes` (integer)
- `workspace_id` (string, required): Workspace UUID this snapshot belongs to.

### `pathrule_list_snapshots` (~93 tokens)

Pathrule List Project Snapshots

List the most recent project snapshots for a workspace (compact metadata only — no file_tree, no sampled_contents). Use to find which snapshot to read in full. Up to 25 per call, ordered newest first.

Input parameters:

- `limit` (integer): Default 10, max 25.
- `source` (string): Filter to snapshots taken from a specific Pathrule surface.
- `workspace_id` (string, required)

### `pathrule_read_snapshot` (~86 tokens)

Pathrule Read Project Snapshot

Load a single project snapshot in full or partial form. Defaults include file_tree and sampled_contents — pass include_file_tree=false / include_sampled_contents=false to keep the response compact when you only need metadata.

Input parameters:

- `include_file_tree` (boolean)
- `include_sampled_contents` (boolean)
- `snapshot_id` (string, required)
- `workspace_id` (string, required)

### `pathrule_list_pending_refreshes` (~103 tokens)

List pending memory/rule refresh tasks

List pending Pathrule refresh tasks for a workspace. Refresh tasks are cloud suggestions that may update stale memories or rules. Use this first, then call pathrule_get_refresh_brief with a returned refresh_id before deciding whether to reject or resolve the task.

Input parameters:

- `include_in_progress` (boolean): Include tasks already claimed by a client. Defaults to false for a clean todo list.
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_get_refresh_brief` (~86 tokens)

Get memory/rule refresh brief

Claim one refresh task and return the subject, stale-signal evidence, AI instructions, and any proposed patch. Call pathrule_list_pending_refreshes first to choose a refresh_id. Remote MCP can inspect cloud records only; use Desktop/CLI before claiming local source code was verified.

Input parameters:

- `refresh_id` (string, required): Refresh task UUID from pathrule_list_pending_refreshes.

### `pathrule_resolve_refresh` (~177 tokens)

Close a memory/rule refresh task

Close a Pathrule refresh task after reviewing its brief. Normal remote flow: call pathrule_list_pending_refreshes, then pathrule_get_refresh_brief, then use this tool with status='rejected' when the signal is stale or not actionable. Remote MCP may refuse status='applied' because it cannot verify local source files; use Pathrule Studio/CLI for applied resolutions that require local verification.

Input parameters:

- `note` (string): Short reason for the resolution, especially when rejecting a stale or unsafe refresh.
- `refresh_id` (string, required): Refresh task UUID returned by pathrule_list_pending_refreshes or pathrule_get_refresh_brief.
- `status` (string, required): Use 'rejected' from Remote MCP when the signal is stale or cannot be safely applied. 'applied' may be refused unless local verification is available.

### `pathrule_log_activity` (~152 tokens)

Log Activity

Log a file-modifying response from a remote MCP client. Remote MCP requires workspace_id and stamps ai_client='cloud-connector'. task_summary should be ONE concise sentence (ideally ≤300 chars); it is NEVER rejected for length (past ~500 chars it is stored auto-shortened, not an error — do not retry).

Input parameters:

- `action` (string, required)
- `domain` (string, required)
- `files_touched` (object, required)
- `node_path` (string)
- `scope` (string, required)
- `subjects` (array)
- `task_summary` (string, required)
- `verbose` (boolean)
- `workspace_id` (string, required): Workspace UUID from pathrule_list_workspaces.

### `pathrule_get_local_runtime_upgrade` (~126 tokens)

Get Local Runtime Upgrade

Explain what Pathrule CLI (power-user, terminal-first) and Pathrule Studio (GUI) unlock beyond Remote MCP. Call this when the user asks 'is there a better way?', 'why do I need to install something?', wants hook-level automation, or wants to compare surfaces. The response splits the pitch by audience (CLI for terminal-first, Pathrule Studio for GUI) and explains the real token-savings angle: hooks fire before every AI tool call and inject context for free, while remote MCP is manual mode where the AI spends tokens on each context fetch.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 65
- 2026-08-01: 65
- 2026-07-31: 64
- 2026-07-30: 62
- 2026-07-29: 61
- 2026-07-28: 61
- 2026-07-27: 60
- 2026-07-26: 59

## Links

- Remote endpoint: https://mcp.pathrule.io/mcp
- Repository: https://github.com/sertanhelvaci/pathrule
- Website: https://www.pathrule.io/
- Changelog RSS feed: https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/io-pathrule-pathrule-remote-mcp/mcp
