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

contextpro-mcp

v1.6.0

Published

Local-first MCP code intelligence: bounded source context, exact references, and evidence-aware coding workflows.

Readme

ContextPro

npm version CI License: MIT

Exact find-all-references for your coding agent on TypeScript/JavaScript repos — answered by the TypeScript compiler, not grep.

ContextPro is a local MCP server for agents such as Claude Code, Codex, Cursor and OpenCode. Its compiler-backed "find all references" means a rename or refactor is far less likely to miss callers that import the function under another name or through a re-export (within the files the compiler can check). It also serves source reads with a size limit, so the agent gets the lines it needs instead of whole files. It runs on your machine and needs no API key.

Quick start

Requirements: Node.js 20–26 (24 LTS recommended). No API key or Ollama needed. For compiler references, install the target project's dependencies first (npm install); otherwise files can't be checked.

Fastest try (Claude Code):

cd your-project
claude mcp add contextpro -e CONTEXTPRO_TOOL_PROFILE=lean -- npx -y contextpro-mcp
claude mcp list   # contextpro: ... ✔ Connected

Keep the server name before -e, which would otherwise swallow it.

Claude Code, whole team (commits .mcp.json plus agent instructions in AGENTS.md and CLAUDE.md):

npx -y contextpro-mcp init claude
claude   # start it in the repository root and approve "contextpro" once

Codex:

codex mcp add contextpro --env CONTEXTPRO_TOOL_PROFILE=lean -- npx -y contextpro-mcp

Codex starts the server in the folder where you start codex, so start it in your project.

Cursor: run npx -y contextpro-mcp init cursor in your project. It writes .cursor/mcp.json with the workspace folder as the root.

Other clients that read mcpServers JSON (in the project's own config file):

{ "mcpServers": { "contextpro": {
    "command": "npx",
    "args": ["-y", "contextpro-mcp"],
    "env": { "CONTEXTPRO_TOOL_PROFILE": "lean" } } } }

Never put a fixed --root in a global config: every project would then use that one repository.

OpenCode: run npx -y contextpro-mcp init opencode, then opencode mcp list.

Try it. Ask your agent:

  • "Use contextpro to find every caller of <function> in <file>."
  • "Use contextpro to show me how <feature> works."

INSTALL.md covers VS Code, team approval, a smoke test that works without any client, running from source and troubleshooting.

What it is good at

  • Safe renames and refactors. The compiler tells apart aliased imports, re-exports and different functions that share a name, and the answer says how many results exist and whether any were cut off.
  • Reading just enough source. The agent asks for a file, a symbol or a line range under a size budget and is told what was left out.
  • Several agents on one repository. Each Git worktree gets its own index, kept up to date as files change.
  • A small tool list. The recommended lean setup shows the agent three tools (context, exact_references and discover_tools); the other 65 stay hidden until the agent asks for them.

Python references work through a configured Pyright; other languages fall back to structural and text search.

Honest results

ContextPro has not been shown to make agents finish tasks faster. Our own trials, published in docs/benchmarks, include the losses.

It is worth trying for renames and refactors where aliased or re-exported callers matter, or when you don't know where the code lives.

| Measured | Result | | --- | --- | | Compiler reference checks on two fixtures (barrel aliases, same-named bindings) | 24 of 24 timed queries passed | | Response size on six retrieval tasks vs a scripted rg/git baseline | about 41% fewer response tokens, but about 6.8× slower per call | | Matched agent trials (2 read-only tasks), lean profile vs native tools | 23.8% more total input, 19.2% more wall time | | Matched agent trials (2 read-only tasks), workflow profile vs native tools | 128.7% more total input |

For simple lookups, plain grep is cheaper. We welcome reproducible comparisons, including ones where another tool wins; see how we compare.

Learn more

License and origins

ContextPro began as a fork of Context+ by ForLoop and has since been largely rewritten. It is distributed under the MIT license; the original ForLoop copyright notice is preserved, see NOTICE.