npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pathmode/mcp-server

v1.26.3

Published

Deterministic intent preflight before your agent builds: six calibrated gates, keyless, no model call. Draft and sharpen specs in conversation, or connect a Pathmode workspace to sync intent and evidence across a team.

Readme

@pathmode/mcp-server

Deterministic intent preflight before your agent builds: six calibrated gates, keyless, no model call.

No signup and no API key. Specs live in intent.md in your repo, as plain markdown you own.

This repository dogfoods the same workflow: read its intent.md.

check_intent_readiness is the first move: it scores a spec against the six gates of the intent.md profile and names the exact blockers, with no model call, so the same spec always gets the same verdict. The Intent Compiler below drafts and sharpens the spec that preflight grades.

Intent Compiler

The Intent Compiler turns Claude Code into a Socratic product thinking partner. Describe a problem, paste a support ticket, or explain what's broken — Claude challenges vague thinking, asks pointed questions, runs live quality checks on weak fields, and builds a structured spec.

> Help me write an intent spec for our checkout flow

  What's broken about it? When you say "checkout flow" — is the whole
  thing failing, or is there one specific moment where users bail?

> Payment step times out and users get confused

  When you say "times out" — is that 5 seconds or 30? And what does
  the user actually see? A spinner? A blank screen? An error?

> About 8 seconds, they see a spinner with no feedback

  Proposed Objective: "Reduce cart abandonment caused by payment step
  timeouts exceeding 3 seconds, where users see a spinner with no
  status feedback or recovery path."

  Does that capture it, or is there more to the pain?

When the spec is ready, Claude saves it as intent.md and optionally exports as .cursorrules, CLAUDE.md, or AGENTS.md (Codex/Cursor) — so every AI agent in your project sees the intent as its implementation context.

Quick Start

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "pathmode": {
      "command": "npx",
      "args": ["@pathmode/mcp-server"]
    }
  }
}

Then in Claude Code:

> Help me write an intent spec for [your problem here]

That's it. No API key needed.

What You Get

intent.md — Structured spec with YAML frontmatter, written in the open IntentSpec format:

---
id: "intent_17291..."
version: 1
status: "draft"
readiness: "passed 6/6"
---
# Fix Checkout Payment Timeout

## Objective
Reduce cart abandonment caused by payment step
timeouts exceeding 3 seconds.

## Outcomes
- [ ] Payment completes in under 3 seconds (p95)
- [ ] Users see real-time status during processing
- [ ] Failed payments show actionable error with retry

## Edge Cases
- **Network timeout during payment**: Show retry button, no double-charge
- **Unknown provider status**: Hold order, notify user within 30s

The readiness line is the deterministic preflight verdict, stamped on every save — "passed 6/6", or "failed N/6" naming the blocking gates — so any agent reading the file knows whether the spec cleared the gate without re-running it. Specs exported from a Pathmode workspace also carry source: (the canonical intent URL — the file is a working copy of that record) and evidence: (how many linked evidence items back it).

.cursorrules — Agent-directive format for Cursor:

# CURRENT OBJECTIVE
You are implementing: "Fix Checkout Payment Timeout"

# SUCCESS OUTCOMES
Your implementation MUST satisfy ALL of these:
- Payment completes in under 3 seconds (p95)
- Users see real-time status during processing
- Failed payments show actionable error with retry

CLAUDE.md — Appends a <!-- PATHMODE:START --> section so Claude Code sees the intent in every conversation.

Skill Pack for Claude Code

The package also ships 9 Claude Code skills that auto-trigger based on what you ask — no slash commands required.

| Skill | Use when | |-------|----------| | setup-pathmode-workflow | First-time project setup (test commands, issue tracker, status conventions) | | compile-intent | Building a structured spec for what to ship | | preflight | Running the deterministic six-gate readiness verdict before implementation | | implement-intent | Implementing a repository intent only after Preflight and required human authorization | | verify-intent | Designing the executable feedback loop for a spec | | grill-intent | Stress-testing an existing spec for weaknesses | | split-intent-to-issues | Breaking a spec into Linear / Jira / GitHub Issues tickets | | review-against-intent | Checking code changes against intent outcomes | | handoff-intent | Capturing decisions at end of session |

Install after running the MCP setup:

npx @pathmode/mcp-server install-skills            # project-local (.claude/skills/)
npx @pathmode/mcp-server install-skills --global   # global (~/.claude/skills/)

Restart Claude Code. The skills register at session start and auto-invoke when your request matches their description. See skills/README.md for details.

Intent Compiler Tools

| Tool | Description | |------|-------------| | check_intent_readiness | The deterministic preflight: six calibrated gates, no model call, the same spec always gets the same verdict. With no arguments it resolves the intent.md bound to this repository | | confirm_intent_dimension | Resolve a dimension the gate READ but could not confirm (it matches a fixed English vocabulary and misses valid phrasing, including other languages), or waive one as not applicable | | intent_save | Save an intent spec to intent.md in the project root | | intent_export | Export as .cursorrules, a CLAUDE.md or AGENTS.md section, or an Outcomes rubric | | intent_import | Adopt an existing OpenSpec change as the intent record; the change folder is never modified |

Intent Compiler Prompt

| Prompt | Description | |--------|-------------| | compile-intent | Start a Socratic conversation to build an intent spec |


Team Features (API Key Required)

For teams shipping with AI agents, connect to your Pathmode workspace for dependency tracking, strategic context, and governance.

Setup with API Key

Automatic setup:

npx @pathmode/mcp-server@latest setup pm_live_...
{
  "mcpServers": {
    "pathmode": {
      "command": "npx",
      "args": ["@pathmode/mcp-server"],
      "env": {
        "PATHMODE_API_KEY": "pm_live_..."
      }
    }
  }
}

Works with Claude Code (.mcp.json in the project root), Claude Desktop (claude_desktop_config.json), and Cursor (.cursor/mcp.json).

Get your API key from Settings > API Keys in the Pathmode app.

Adopt an existing repository intent

If your repository already contains a preflighted intent.md, start from the repo onboarding door in Pathmode. After you choose a workspace and Product, the page gives you a short-lived one-time command:

npx @pathmode/mcp-server@latest adopt pm_adopt_...

Run it from the repository root. The command uploads the existing spec, adds only Pathmode's canonical identity fields to its frontmatter, and configures that repository to use the selected workspace. The one-time code expires after 15 minutes and is never stored in the repository.

The safe repository binding lives in .pathmode/config.json. The API key lives separately at ~/.pathmode/workspaces/<workspace-id>.json, so connecting one repository does not repoint other repositories on the same machine. Add .pathmode/ to .gitignore if your team does not want to commit the non-secret workspace binding.

Local Mode (Offline)

Local mode is the default when no API key is configured. It reads and writes intent.md in your project directory, and nothing leaves your machine. Local mode includes check_intent_readiness — the deterministic preflight that scores a spec against six calibrated gates and names the exact blockers, with no model call (the same gate that runs at preflight.pathmode.io). The plain block is a complete keyless setup:

{
  "mcpServers": {
    "pathmode": {
      "command": "npx",
      "args": ["@pathmode/mcp-server"]
    }
  }
}

Pass --local only to force local mode when an API key is configured:

{
  "mcpServers": {
    "pathmode": {
      "command": "npx",
      "args": ["@pathmode/mcp-server", "--local"]
    }
  }
}

Configuration

| Method | Details | |--------|---------| | Environment variable | PATHMODE_API_KEY=pm_live_... | | Repository binding | .pathmode/config.json, with its key stored outside the repo in ~/.pathmode/workspaces/<workspace-id>.json | | Config file | ~/.pathmode/config.json with apiKey, apiUrl, workspaceId | | Local mode | Automatic when no key is found. Reads intent.md and .pathmode/intents/*.md; --local forces it | | No config | Local mode. The Intent Compiler needs no configuration |

Team Tools

Intent Management

| Tool | Description | |------|-------------| | get_current_intent | Get the active intent (first approved, or most recent) | | get_intent | Get a single intent by ID with full details | | get_intent_evidence | Dereference one intent's repo-safe evidence IDs with trust tiers | | propose_spec_change | Propose an exact, revision-bound correction for a person to accept; stores the observation as unreviewed agent evidence | | list_intents | List all intents, optionally filtered by status | | search_intents | Search intents by keyword across goals, objectives, and outcomes | | create_intent | Create an intent in the workspace without writing a file. Inside a repo prefer intent_save | | update_intent | Update an existing intent's content; pass only the fields you want to change | | update_intent_status | Move an intent through draft > validated > approved > shipped > verified. Not for work delivered by pull request: name the intent on the branch or in the PR body and let the merge grade the real diff and set shipped. Use it for work that never appears in a PR, and for shipped > verified once the outcome is confirmed in production |

PM-to-Repository Change Requests

| Tool | Description | |------|-------------| | list_intent_change_requests | Discover structured PM requests workspace-wide, or narrow to one repository-authority intent; reading records agent consumption | | get_intent_change_request | Read one request with its exact base revision, operation, proposed value, and reason | | reject_intent_change_request | Report an unworkable request with an API-key-attributed reason |

Apply a request by editing intent.md, then call intent_save with both changeRequestId and baseRepoBodyRevision. Pathmode compares immutable snapshots and closes the request itself; an agent cannot submit a success flag or diff.

Delivery & Verification

| Tool | Description | |------|-------------| | verify_implementation | Grade an implementation against the spec by reading the pull request. Pass prUrl and Pathmode fetches the diff itself, grading each outcome, constraint, constitution rule, edge case and verification check against what the code actually shows, with citations. Describing your own work instead is weaker evidence and the result says so | | record_implementation_finding | The spec was wrong: record what it assumed and what building revealed. Targeting a verification check flips that check to failing. Open findings ride into future agent prompts until a human reconciles them | | record_implementation_context | Hand back what the repo actually looks like where this intent lands: files and modules involved, how it behaves today, what a change would risk, how to verify it | | record_outcome_measurement | What actually happened to an outcome after it shipped. The spec said what should change; this says whether it did | | log_implementation_note | The handoff to the next session. The newest notes render into the next agent's execution prompt, so write each one self-contained |

An agent never settles its own delivery. The merge owns the shipped transition for PR-delivered work, and a proposed correction (propose_spec_change) waits for a signed-in person to accept it.

Evidence

| Tool | Description | |------|-------------| | query_evidence | Search evidence items by product, type, severity, or text; returns IDs that can be linked to intents | | create_evidence | Create an evidence item: a discovered bug, a user quote, a behavioral observation, a feature request | | link_evidence | Link or unlink evidence to an intent, establishing traceability between user problems and planned solutions |

Strategic Analysis

| Tool | Description | |------|-------------| | analyze_intent_graph | Analyze dependency graph for critical path, cycles, bottlenecks | | get_intent_relations | Get the dependency graph for a specific intent |

Context & Export

| Tool | Description | |------|-------------| | export_context | Generate CLAUDE.md, AGENTS.md (Codex/modern Cursor), .cursorrules, or intent.md files. For claude-md/agents-md, optionally pass a product ID; for cursorrules/intent-md, product is derived from the resolved intent | | get_agent_prompt | Get a structured execution prompt for an intent | | get_workspace | Get workspace details including strategy, active products, and constitution | | get_constitution | Get mandatory constraint rules for the workspace | | sync_context | Write this workspace's canonical context into the repo's CLAUDE.md or AGENTS.md, idempotently, replacing the PATHMODE-marked section in place |

Team Prompts

| Prompt | Description | |--------|-------------| | implement-intent | Full implementation workflow for a specific intent | | review-risks | Analyze the intent graph for architectural risks | | what-next | Suggest the highest-priority intent to work on next |

Resources

| URI | Description | |-----|-------------| | intent://current | Currently active intent | | intent://graph | Full intent dependency graph | | intent://workspace-strategy | Workspace vision, principles, and active constitution rules |

Troubleshooting

"No Pathmode configuration found" This no longer causes an error. The Intent Compiler works without any configuration. Team features require an API key.

Team tools are missing from the tool list In local mode the cloud-only tools are not registered, so the agent only sees tools that work. Configure an API key (setup pm_live_xxx) to get intent management, evidence, and graph tools.

Connection timeout Ensure your API key is valid and has the correct scopes. Check your network connection to pathmode.io.

setup starts the server instead of the installer Use the latest package version:

npx @pathmode/mcp-server@latest setup pm_live_...

As a fallback, you can bypass setup entirely by setting the key directly in the MCP config:

{
  "mcpServers": {
    "pathmode": {
      "command": "npx",
      "args": ["@pathmode/mcp-server"],
      "env": {
        "PATHMODE_API_KEY": "pm_live_..."
      }
    }
  }
}

Privacy Policy

This MCP server connects to the Pathmode API (pathmode.io) to read and write intent specifications, workspace data, and constitution rules on behalf of the authenticated user.

The Intent Compiler works entirely offline — specs are saved to your project directory and their contents are never sent to Pathmode servers.

Data collected (team features only): The server transmits your API key for authentication and sends/receives workspace data via the Pathmode API. It also reports two usage signals: that a client launched (the client's name and version), and, for each tool that runs, the tool's name and whether it succeeded — including tools such as intent_save that write only to your project. Those signals carry nothing else: no arguments, no spec content, no file paths, nothing read out of your repository.

Keyless local mode sends nothing. With no API key configured, the server makes no network request at all — no usage signals and no telemetry of any kind.

Data storage: The MCP server stores intent.md and, when a repository is adopted, a non-secret binding in .pathmode/config.json plus its API key in ~/.pathmode/workspaces/<workspace-id>.json. The legacy setup command stores configuration in ~/.pathmode/config.json. Persistent workspace data is stored in Pathmode's cloud infrastructure.

Third-party sharing: No data is shared with third parties. The server communicates exclusively with the Pathmode API.

Full privacy policy: pathmode.io/privacy

Links

License

MIT