Pathrule
This connector has been replaced by io.pathrule/pathrule. Pathrule's hosted MCP server now lives at https://cloud.pathrule.io/mcp (the old mcp.pathrule.io address redirects there), and the same server is available locally as the npm package @pathrule/mcp (npx -y @pathrule/mcp).
Server Details
Path-scoped team memories, rules and skills for Claude Code, Cursor, Codex and other MCP clients.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 72.8% over 82 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 33 tools
Most tools have clearly distinct resource+action purposes, and descriptions actively disambiguate (e.g. get_context vs. goto vs. get_node vs. get_tree). However, there is a cluster of context-retrieval tools (get_context, goto, get_node, get_tree, knowledge_map, list_memories) whose boundaries overlap enough that an agent could occasionally misselect.
Every tool follows a strict pathrule_<verb>_<noun> snake_case pattern (write_memory, read_rule, delete_skill, list_workspaces, take_snapshot). The convention is applied uniformly across all 33 tools with no deviations.
At 33 tools this is heavy. CRUD across three entity types (memory/rule/skill) accounts for 15 tools, and while most others (patterns, snapshots, refreshes, workspaces) are distinct, the surface feels broad with some feature creep (ping, get_local_runtime_upgrade, setup) that strains the count.
Full lifecycle coverage exists for memories, rules, and skills (create/read/update/delete), plus patterns, snapshots, refresh tasks, and context navigation. Minor gaps: workspaces support only create/list with no update/delete, and no explicit node/move management aside from embed-in-update.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Added
pathrule_knowledge_map - Changed
pathrule_update_memory1 field changed- added
Output schema / properties / related_to_checkAdded value: +{ + "description": "Up to 3 items that may need the same change (companions, links, near duplicates), from a cached knowledge map.", + "items": {}, + "type": "array" +}
- Changed
pathrule_update_rule1 field changed- added
Output schema / properties / related_to_checkAdded value: +{ + "description": "Up to 3 items that may need the same change (companions, links, near duplicates), from a cached knowledge map.", + "items": {}, + "type": "array" +}
- Changed
pathrule_update_skill1 field changed- added
Output schema / properties / related_to_checkAdded value: +{ + "description": "Up to 3 items that may need the same change (companions, links, near duplicates), from a cached knowledge map.", + "items": {}, + "type": "array" +}
32 tool updates
- Changed
pathrule_create_workspace1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "The created workspace row.", + "properties": { + "active_agent_targets": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "AI clients this workspace is configured for." + }, + "created_at": { + "description": "Creation timestamp in ISO 8601.", + "type": "string" + }, + "git_remote_url": { + "description": "Stored git remote URL, or null.", + "type": [ + "string", + "null" + ] + }, + "name": { + "description": "Workspace name as stored.", + "type": "string" + }, + "organization_id": { + "description": "Organization the workspace was created under.", + "type": "string" + }, + "workspace_id": { + "description": "UUID of the new workspace. Pass it to pathrule_setup next.", + "type": "string" + } + }, + "required": [ + "workspace_id", + "name", + "organization_id", + "git_remote_url", + "active_agent_targets", + "created_at" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "next_step": { + "description": "The call to make next, as { tool, arguments }." + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_delete_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Deleted memory: id, plus the title it had before deletion." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_delete_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Deleted rule: id, plus the name it had before deletion." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_delete_skill1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Deleted skill: id, plus the name it had before deletion." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_get_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "Router response. The remaining keys are depth-dependent and come from the shared context handler: memories, rules, skills, subtree_memory_index, discovery_signal, semantic_candidates, and next_required_action are the ones clients rely on, and which of them appear depends on the classified intent.", + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "protocol": { + "description": "Full protocol text. Sent only when the client did not already hold this protocol_version." + }, + "protocol_unchanged": { + "const": true, + "description": "Present when known_protocol_version matched, meaning `protocol` was omitted on purpose.", + "type": "boolean" + }, + "protocol_version": { + "description": "Version of the Pathrule agent protocol this response was built against. Cache it and pass it back as known_protocol_version.", + "type": "string" + }, + "workspace_id": { + "description": "Workspace the context was resolved in.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_get_local_runtime_upgrade1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "Surface comparison split by audience.", + "properties": { + "cloud_connector_can": { + "description": "What Remote MCP alone can already do.", + "items": { + "type": "string" + }, + "type": "array" + }, + "cta": { + "additionalProperties": true, + "description": "Where to send a user who wants the local runtime.", + "properties": { + "label": { + "description": "Call-to-action label.", + "type": "string" + }, + "message": { + "description": "One-line upgrade message to relay to the user.", + "type": "string" + }, + "url": { + "description": "Download page URL.", + "type": "string" + } + }, + "required": [ + "label", + "url", + "message" + ], + "type": "object" + }, + "for_fast_gui_users_desktop": { + "description": "Pitch for GUI users (Pathrule Studio)." + }, + "for_power_users_cli_plus_web": { + "description": "Pitch for terminal-first users (Pathrule CLI)." + }, + "remote_mcp_stays_useful_for": { + "description": "Cases where Remote MCP remains the right surface." + }, + "why_upgrade": { + "description": "The token-cost argument for a local runtime." + } + }, + "required": [ + "cloud_connector_can", + "cta" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_get_node1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "The node detail is spread onto the top level by the shared node handler: the node fields plus the ids of its attached memories, rules, and skills.", + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "workspace_id": { + "description": "Workspace the node belongs to. A node outside the requested workspace is reported as a not_found error instead.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_get_refresh_brief1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "ai_instructions": { + "description": "What to do with this task, written for the agent.", + "type": "string" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "local_runtime_required": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "description": "Non-null when the task needs local source inspection that Remote MCP cannot do. Do not claim it was applied in that case." + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "proposed_patch": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "description": "A pre-drafted patch when one exists, otherwise null." + }, + "refresh_id": { + "description": "The refresh task now claimed by this client.", + "type": "string" + }, + "signal": { + "description": "Why the item was flagged stale: { formulaId, humanReason, detectedAt, rawSignals }." + }, + "status": { + "description": "Task status after the claim.", + "type": "string" + }, + "subject": { + "additionalProperties": true, + "description": "The memory or rule this task proposes to update.", + "properties": { + "body": { + "description": "Current body of the subject, before any patch.", + "type": "string" + }, + "id": { + "description": "UUID of the memory or rule.", + "type": "string" + }, + "node_path": { + "description": "Workspace-relative path the subject lives at.", + "type": "string" + }, + "title": { + "description": "Current title or name of the subject.", + "type": "string" + }, + "type": { + "description": "What is being refreshed: memory or rule.", + "type": "string" + } + }, + "required": [ + "type", + "id", + "title", + "node_path", + "body" + ], + "type": "object" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_get_tree1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "nodes": { + "description": "Every node in the workspace tree, each with its id, path, name, and parent linkage.", + "items": {}, + "type": "array" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_goto2 fields changed- added
Input schema / properties / subtree_limit / descriptionAdded value: +"Maximum entries in the subtree memory index. Defaults to 50, capped at 500. Raise it only when the compact index is genuinely truncated." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "memories": { + "description": "Active memories on the node, with full content: id, title, content, source.", + "items": {}, + "type": "array" + }, + "node": { + "additionalProperties": true, + "description": "The node the target resolved to.", + "properties": { + "name": { + "description": "Node display name.", + "type": "string" + }, + "node_id": { + "description": "Tree node UUID for the resolved target.", + "type": "string" + }, + "path": { + "description": "Workspace-relative path of the node.", + "type": "string" + } + }, + "required": [ + "node_id", + "path", + "name" + ], + "type": "object" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "rules": { + "description": "Active rules on the node, with full content. Obey these.", + "items": {}, + "type": "array" + }, + "skills": { + "description": "Active skills on the node, with full content.", + "items": {}, + "type": "array" + }, + "subtree_memory_index": { + "description": "Compact index of memories below the node: { entries, total, truncated }." + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_import_pattern1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "Compact form by default. With verbose=true the full import record is spread onto the top level instead, and dry_run=true returns the same shape with nothing written.", + "properties": { + "applies_to": { + "description": "The pattern's declared fit: stacks, packages, and paths it targets." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "imported": { + "description": "The pieces actually written, grouped by kind (memories, rules, skills)." + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "skipped": { + "description": "Pieces not written, with the reason, for example an item that already existed." + }, + "slug": { + "description": "Pattern slug that was imported.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_list_memories1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "memories": { + "description": "Compact previews only. Read a full body with pathrule_read_memory.", + "items": { + "additionalProperties": true, + "properties": { + "id": { + "description": "Memory UUID. Pass it to pathrule_read_memory for the full body.", + "type": "string" + }, + "node_id": { + "description": "Tree node the memory is attached to.", + "type": "string" + }, + "preview": { + "description": "First 160 characters of the body, not the full content.", + "type": "string" + }, + "title": { + "description": "Memory title.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp in ISO 8601.", + "type": "string" + } + }, + "required": [ + "id", + "title", + "preview", + "node_id", + "updated_at" + ], + "type": "object" + }, + "type": "array" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_list_organizations1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "Organization list and its size.", + "properties": { + "count": { + "description": "Number of organizations returned.", + "type": "number" + }, + "organizations": { + "description": "Organizations the authenticated user belongs to.", + "items": { + "additionalProperties": true, + "properties": { + "id": { + "description": "Organization UUID. Pass it to pathrule_create_workspace.", + "type": "string" + }, + "name": { + "description": "Organization name.", + "type": "string" + }, + "plan": { + "description": "Billing plan identifier.", + "type": "string" + }, + "role": { + "description": "The authenticated user's role in this organization.", + "type": "string" + }, + "slug": { + "description": "Organization slug.", + "type": "string" + }, + "subscription_status": { + "description": "Billing status of the organization.", + "type": "string" + } + }, + "required": [ + "id", + "name", + "slug", + "plan", + "subscription_status", + "role" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "organizations", + "count" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_list_pending_refreshes1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "refreshes": { + "description": "Pending refresh tasks. Each carries a refresh_id for pathrule_get_refresh_brief.", + "items": {}, + "type": "array" + }, + "total": { + "description": "Number of refresh tasks returned.", + "type": "number" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_list_snapshots2 fields changed- added
Input schema / properties / workspace_id / descriptionAdded value: +"Workspace UUID from pathrule_list_workspaces." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "Snapshot metadata list. Load one in full with pathrule_read_snapshot.", + "properties": { + "count": { + "description": "Number of snapshots returned.", + "type": "number" + }, + "snapshots": { + "description": "Newest first. Metadata only: id, source, project_name, git_remote_url, branch, git_head, file_count, total_size_bytes, created_at.", + "items": {}, + "type": "array" + }, + "workspace_id": { + "description": "Workspace the snapshots belong to.", + "type": "string" + } + }, + "required": [ + "workspace_id", + "count", + "snapshots" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_list_workspaces1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "count": { + "description": "Number of workspaces returned.", + "type": "number" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "note": { + "description": "Short guidance line about the returned set.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "selection_required": { + "description": "True when the count is not exactly 1, meaning you should ask the user which workspace to use.", + "type": "boolean" + }, + "workspaces": { + "description": "Workspaces visible to the authenticated user. Never contains local filesystem paths.", + "items": { + "additionalProperties": true, + "properties": { + "archived": { + "description": "True when the workspace has been archived.", + "type": "boolean" + }, + "archived_at": { + "description": "Archive timestamp in ISO 8601, or null.", + "type": [ + "string", + "null" + ] + }, + "frozen": { + "description": "True when billing is unpaid or canceled, which blocks subscription-gated tools.", + "type": "boolean" + }, + "name": { + "description": "Workspace name.", + "type": "string" + }, + "organization": { + "additionalProperties": true, + "description": "Owning organization and its billing status.", + "properties": { + "id": { + "description": "Organization UUID.", + "type": "string" + }, + "name": { + "description": "Organization name, or null when not readable.", + "type": [ + "string", + "null" + ] + }, + "slug": { + "description": "Organization slug, or null when not readable.", + "type": [ + "string", + "null" + ] + }, + "subscription_status": { + "description": "Billing status that decides whether subscription-gated tools will run.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "name", + "slug", + "subscription_status" + ], + "type": "object" + }, + "workspace_id": { + "description": "Workspace UUID. Pass this to every workspace-scoped tool.", + "type": "string" + } + }, + "required": [ + "workspace_id", + "name", + "organization", + "archived", + "archived_at", + "frozen" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_log_activity11 fields changed- added
Input schema / properties / action / descriptionAdded value: +"What was done in this response." - added
Input schema / properties / domain / descriptionAdded value: +"Area of the product the work belongs to." - added
Input schema / properties / files_touched / descriptionAdded value: +"Which files changed. Tolerant by contract: a malformed value is dropped rather than rejected, so logging never fails on it." - added
Input schema / properties / files_touched / properties / by_area / descriptionAdded value: +"Workspace-relative file paths grouped by area, for example { \"packages/app\": [\"src/main.ts\"] }. The server normalizes and clamps these." - added
Input schema / properties / files_touched / properties / total / descriptionAdded value: +"Number of files modified in this response." - added
Input schema / properties / node_path / descriptionAdded value: +"Workspace-relative path the work happened at, for example /packages/app. Use the most specific path the change actually touched. Defaults to the workspace root." - added
Input schema / properties / scope / descriptionAdded value: +"How far the change reached, from a single file up to the whole workspace." - added
Input schema / properties / subjects / descriptionAdded value: +"Up to 5 short keywords naming what was touched, for example [\"oauth\", \"token-refresh\"]." - added
Input schema / properties / task_summary / descriptionAdded value: +"One concise sentence describing what this response actually changed. Never rejected for length: past the hard maximum it is stored auto-shortened, so do not retry a shorter version." - added
Input schema / properties / verbose / descriptionAdded value: +"Return the full stored activity row instead of the compact acknowledgement. Defaults to false." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "activity": { + "description": "The full stored activity row. Present only with verbose=true." + }, + "created_at": { + "description": "Insertion timestamp in ISO 8601. Compact form only.", + "type": "string" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "id": { + "description": "UUID of the stored activity row. Compact form only.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "summary_over_target": { + "description": "True when task_summary exceeded the soft target. The row was still written, so do not retry.", + "type": "boolean" + }, + "task_summary_chars": { + "description": "Length of the task_summary that was stored.", + "type": "number" + }, + "task_summary_hard_max_chars": { + "description": "Length past which task_summary is stored auto-shortened. Never an error.", + "type": "number" + }, + "task_summary_target_chars": { + "description": "Soft target length for task_summary.", + "type": "number" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_ping1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "authenticated": { + "description": "Present and false only on the unauthenticated public ping.", + "type": "boolean" + }, + "client_id": { + "description": "OAuth client id of the calling MCP client, or null on an unauthenticated ping.", + "type": [ + "string", + "null" + ] + }, + "cloud": { + "description": "Always true on Remote MCP. Marks the response as cloud-served, with no local cwd.", + "type": "boolean" + }, + "echo": { + "description": "The `message` argument echoed back, or null when none was sent.", + "type": [ + "string", + "null" + ] + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "pong": { + "const": true, + "description": "Present and true when the endpoint answered.", + "type": "boolean" + }, + "ts": { + "description": "Server timestamp in ISO 8601.", + "type": "string" + }, + "version": { + "description": "Connector build identifier.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_read_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "content": { + "description": "Full memory body.", + "type": "string" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "description": "Memory UUID.", + "type": "string" + }, + "node_path": { + "description": "Workspace-relative path of the node this memory hangs on.", + "type": [ + "string", + "null" + ] + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "source": { + "description": "How the memory was authored, for example claude or manual.", + "type": "string" + }, + "title": { + "description": "Memory title.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp in ISO 8601.", + "type": "string" + }, + "version_id": { + "description": "Optimistic-concurrency token. Pass it as expected_version_id to pathrule_update_memory.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_read_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "content": { + "description": "Full rule body: the constraint to obey.", + "type": "string" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "description": "Rule UUID.", + "type": "string" + }, + "name": { + "description": "Rule name.", + "type": "string" + }, + "node_path": { + "description": "Workspace-relative path the rule applies to.", + "type": [ + "string", + "null" + ] + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "priority": { + "description": "One of high, medium, or low.", + "type": "string" + }, + "scope_type": { + "description": "One of project, folder, or file_type.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp in ISO 8601.", + "type": "string" + }, + "version_id": { + "description": "Optimistic-concurrency token. Pass it as expected_version_id to pathrule_update_rule.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_read_skill1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "content": { + "description": "Full SKILL.md body, including its frontmatter.", + "type": "string" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "id": { + "description": "Skill UUID.", + "type": "string" + }, + "name": { + "description": "Skill name, as invoked with ::name.", + "type": "string" + }, + "node_path": { + "description": "Workspace-relative path the skill is attached to.", + "type": [ + "string", + "null" + ] + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "source": { + "description": "One of manual, template, or github_ref.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp in ISO 8601.", + "type": "string" + }, + "version_id": { + "description": "Optimistic-concurrency token. Pass it as expected_version_id to pathrule_update_skill.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_read_snapshot5 fields changed- added
Input schema / properties / include_file_tree / descriptionAdded value: +"Include the flat file/directory list. Defaults to true. Pass false to keep the response small." - added
Input schema / properties / include_sampled_contents / descriptionAdded value: +"Include the truncated bodies of the sampled files. Defaults to true. Pass false when you only need metadata." - added
Input schema / properties / snapshot_id / descriptionAdded value: +"Snapshot UUID from pathrule_list_snapshots." - added
Input schema / properties / workspace_id / descriptionAdded value: +"Workspace UUID from pathrule_list_workspaces." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "The snapshot row. Which columns are present depends on include_file_tree and include_sampled_contents." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_remove_pattern1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "Compact form by default. With verbose=true the full removal record is spread onto the top level instead.", + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "not_found": { + "description": "Pieces the bundle declares that were not present under the given node_path." + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "removed": { + "description": "The pieces actually deleted, grouped by kind." + }, + "slug": { + "description": "Pattern slug that was removed.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_resolve_refresh1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "refresh_id": { + "description": "The refresh task that was resolved.", + "type": "string" + }, + "resolved_at": { + "description": "Resolution timestamp in ISO 8601.", + "type": "string" + }, + "status": { + "description": "Final status recorded for the task.", + "type": "string" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_setup1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "The bootstrap brief.", + "properties": { + "body": { + "description": "The bootstrap brief to execute, step by step.", + "type": "string" + }, + "bootstrap_v2": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "description": "Reserved for the next bootstrap format. Currently null." + }, + "locale": { + "description": "Locale the brief was served in.", + "type": "string" + }, + "source": { + "description": "Where the brief came from: cloud for the requested locale, fallback for the English default.", + "type": "string" + }, + "version": { + "description": "Bootstrap prompt version.", + "type": "string" + }, + "workspace_id": { + "description": "Workspace the brief was scoped to, or null when called before a workspace exists.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "version", + "locale", + "body", + "source", + "workspace_id" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "local_runtime": { + "additionalProperties": true, + "description": "Present on tools that carry the local-runtime upgrade reminder.", + "properties": { + "cta": { + "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.", + "type": "string" + } + }, + "required": [ + "cta" + ], + "type": "object" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_take_snapshot8 fields changed- added
Input schema / properties / branch / descriptionAdded value: +"Checked-out branch name at snapshot time." - added
Input schema / properties / file_count / descriptionAdded value: +"Total number of files inventoried, before any file_tree cap is applied." - added
Input schema / properties / git_head / descriptionAdded value: +"Commit SHA that HEAD pointed at when the snapshot was taken." - added
Input schema / properties / git_remote_url / descriptionAdded value: +"Origin remote URL of the repository, or null when it has none." - added
Input schema / properties / project_name / descriptionAdded value: +"Display name of the project, usually the repository or folder name." - added
Input schema / properties / top_level_dirs / descriptionAdded value: +"Immediate child directories of the project root with their sizes, so future flows can see the shape of the tree without the full file list." - added
Input schema / properties / total_size_bytes / descriptionAdded value: +"Combined size in bytes of the inventoried files." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "additionalProperties": true, + "description": "What was stored, including the counts after server-side trimming.", + "properties": { + "created_at": { + "description": "Creation timestamp in ISO 8601.", + "type": "string" + }, + "file_count": { + "description": "Recorded file count, or null.", + "type": [ + "number", + "null" + ] + }, + "file_tree_entries_recorded": { + "description": "How many file-tree entries were stored.", + "type": "number" + }, + "project_name": { + "description": "Recorded project name, or null.", + "type": [ + "string", + "null" + ] + }, + "sampled_files_recorded": { + "description": "How many sampled file bodies were actually stored after server-side trimming.", + "type": "number" + }, + "snapshot_id": { + "description": "UUID of the stored snapshot. Pass it to pathrule_read_snapshot.", + "type": "string" + }, + "source": { + "description": "Pathrule surface that produced it.", + "type": "string" + }, + "workspace_id": { + "description": "Workspace the snapshot belongs to.", + "type": "string" + } + }, + "required": [ + "snapshot_id", + "workspace_id", + "source", + "project_name", + "file_count", + "created_at", + "sampled_files_recorded", + "file_tree_entries_recorded" + ], + "type": "object" + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_update_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Updated memory: id, version_id, and the title it now carries." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_update_rule2 fields changed- added
Input schema / properties / patch / descriptionAdded value: +"Fields to change. Omitted fields are left as they are, so send only what actually differs." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Updated rule: id, version_id, and the name it now carries." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_update_skill1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Updated skill: id, version_id, and the name it now carries." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_write_memory5 fields changed- added
Input schema / properties / allow_duplicate / descriptionAdded value: +"Set true only when a second memory with the same title on this node is intentional. Leave unset so near-duplicates are rejected." - added
Input schema / properties / content / descriptionAdded value: +"The memory body: the decision, convention, or bug pattern worth remembering, and why it matters." - added
Input schema / properties / source / descriptionAdded value: +"Who authored the memory: claude when an agent wrote it, manual when the user dictated it. Defaults to claude." - added
Input schema / properties / title / descriptionAdded value: +"Short specific title. It is the duplicate key for this node, so make it the thing being remembered, not a category." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Created memory: id, title, node_id, node_path, version_id." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + }, + "warnings": { + "description": "Non-fatal notices, for example a near-duplicate title that was allowed through.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_write_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Created rule: id, name, node_id, node_path, version_id." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
- Changed
pathrule_write_skill1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "data": { + "description": "Created skill: id, name, node_id, node_path, version_id." + }, + "error": { + "additionalProperties": true, + "description": "Present only when ok is false.", + "properties": { + "code": { + "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.", + "type": "string" + }, + "detail": { + "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope." + }, + "message": { + "description": "Human-readable explanation of the failure.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "human_message": { + "description": "One-line summary of the result, safe to relay to the user verbatim.", + "type": "string" + }, + "ok": { + "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" +}
1 tool update
- Changed
pathrule_log_activity2 fields changed- removed
Input schema / properties / files_touched / requiredRemoved value: -[ - "total", - "by_area" -] - changed
Input schema / requiredPrevious value: -[ - "workspace_id", - "domain", - "action", - "scope", - "task_summary", - "files_touched" -]New value: +[ + "workspace_id", + "domain", + "action", + "scope", + "task_summary" +]
1 tool update
- Changed
pathrule_log_activity2 fields changed- removed
Input schema / properties / subjects / maxItemsRemoved value: -5 - removed
Input schema / properties / task_summary / maxLengthRemoved value: -500
3 tool updates
- Changed
pathrule_create_workspace1 field changed- changed
Input schema / properties / active_agent_targets / items / enumPrevious value: -[ - "claude-code", - "cursor", - "windsurf", - "codex" -]New value: +[ + "claude-code", + "cursor", + "windsurf", + "codex", + "copilot" +]
- Added
pathrule_import_pattern - Added
pathrule_remove_pattern
30 tool updates
- First observed
pathrule_create_workspace - First observed
pathrule_delete_memory - First observed
pathrule_delete_rule - First observed
pathrule_delete_skill - First observed
pathrule_get_context - First observed
pathrule_get_local_runtime_upgrade - First observed
pathrule_get_node - First observed
pathrule_get_refresh_brief - First observed
pathrule_get_tree - First observed
pathrule_goto - First observed
pathrule_list_memories - First observed
pathrule_list_organizations - First observed
pathrule_list_pending_refreshes - First observed
pathrule_list_snapshots - First observed
pathrule_list_workspaces - First observed
pathrule_log_activity - First observed
pathrule_ping - First observed
pathrule_read_memory - First observed
pathrule_read_rule - First observed
pathrule_read_skill - First observed
pathrule_read_snapshot - First observed
pathrule_resolve_refresh - First observed
pathrule_setup - First observed
pathrule_take_snapshot - First observed
pathrule_update_memory - First observed
pathrule_update_rule - First observed
pathrule_update_skill - First observed
pathrule_write_memory - First observed
pathrule_write_rule - First observed
pathrule_write_skill
Related MCP Connectors
Path-scoped project memories, rules and skills for coding agents, on your machine or Pathrule Cloud.
Shared work memory for Claude Code, Codex, Cursor and chat, scoped to each repository.
Persistent cross-session memory shared by Codex, Claude Code, ChatGPT, and other AI agents.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseAqualityBmaintenancePath-scoped team memories, rules and skills for AI coding agents.301MIT
- AlicenseNot gradedqualityAmaintenanceEnables Claude Code, Cursor, Codex and Claude Desktop to carry project decisions, rules, bugs and dead ends across sessions, writing them to a repo file and bringing the relevant lines back next time, and checks each command or file edit against saved rules before it runs. Works over MCP so teams share the same memory through git.236 npmMIT
- FlicenseNot gradedqualityDmaintenanceFilesystem-native agent memory for Claude Code, enabling persistent team context across sessions through cloud-synced memory files and MCP tools.-
- FlicenseNot gradedqualityDmaintenanceAuto-captured, auto-recalled, path-scoped memory for AI coding agents and teams.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.