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

@infolang/mcp-setup

v0.2.0

Published

Install InfoLang MCP for any client: print snippets, merge --out, or use client presets

Readme

@infolang/mcp-setup

Install InfoLang MCP for any client: print a pasteable snippet, merge into --out <file>, or use a known --client preset. Same OAuth / API-key flow as @infolang/cursor-setup, via @infolang/setup-core.

No hooks or rules — this CLI only configures the MCP server entry. For agent prompt guidance (auto_investigate / auto_memorize), see CURSOR_SETUP.md or CLAUDE_SETUP.md.

One-click install

Add to Cursor Add to VS Code

Hosted https://api.infolang.ai/v1/mcp/ + client-native OAuth. Regenerate links with node scripts/generate-install-links.mjs from the services repo root.

Quick start (CLI)

npx @infolang/mcp-setup

Prints ready-to-paste mcpServers JSON (OAuth stdio gateway by default).

npx @infolang/mcp-setup --key il_live_YOUR_KEY --print

Hosted https://api.infolang.ai/v1/mcp/ + Bearer.

Write targets

# Arbitrary JSON (mcpServers schema; .bak backup, mode 0600)
npx @infolang/mcp-setup --out ./mcp.json --key il_live_YOUR_KEY

# Presets
npx @infolang/mcp-setup --client vscode     # .vscode/mcp.json (servers schema)
npx @infolang/mcp-setup --client windsurf   # ~/.codeium/windsurf/mcp_config.json
npx @infolang/mcp-setup --client gemini     # ~/.gemini/settings.json
npx @infolang/mcp-setup --client codex      # TOML print-only for ~/.codex/config.toml

OAuth (no --key) opens the browser (?client=mcp), stores session + backup key under ~/.config/infolang/, installs the durable gateway, and starts the local proxy on :17342 (LaunchAgent on macOS).

Proxy helpers

npx @infolang/mcp-setup proxy status
npx @infolang/mcp-setup proxy install
npx @infolang/mcp-setup proxy uninstall

Workspace sync (local Obsidian vault / markdown folder)

npx @infolang/mcp-setup workspace link ~/Notes --include "Projects/**" --include "Areas/**"
npx @infolang/mcp-setup workspace sync            # first sync always previews (dry-run)
npx @infolang/mcp-setup workspace sync --confirm  # actually sends
npx @infolang/mcp-setup workspace watch           # sync on file change
npx @infolang/mcp-setup workspace status
npx @infolang/mcp-setup workspace unlink <name>

Manifest-diff sync (only changed files/chunks are re-sent), thin wrapper over @infolang/setup-core/lib/{sync,vault-parse,vault-ignore,vault-link,workspace-cli}.mjs.

Privacy, non-negotiable: link requires explicit --include <glob> (repeatable) — never the whole vault by default (omit on a TTY to pick folders interactively). .obsidian/ and every binary/attachment are always excluded, and sync summaries always report what was skipped and why. The first sync on a fresh link is always a dry-run preview (files/chunks/bytes/destination) until --confirm is passed; link and the first sync print a disclosure of what leaves the device, where it goes, and how to remove it later.

Parsing coverage: wikilinks (incl. multiple [[links]] in one frontmatter field), embeds (![[...]], distinct from links), YAML frontmatter tags/metadata, .canvas (JSON Canvas), Dataview inline fields (key:: value).

Known limitation: production /v1/execute has been observed to reject a batched remember op (400 unknown op); sync falls back to bounded-concurrency individual /v1/remember calls. Namespace isolation is via the X-InfoLang-Workspace-Id header only — the body RememberRequest.namespace field is known to be ignored by the managed edge. See @infolang/setup-core/lib/vault-transport.mjs.

Local development

cd packages/mcp-setup
npm install
npm test

Docs

Depends on @infolang/setup-core via file:../setup-core in the monorepo (switch happens only inside scripts/publish-npm-packages.sh for npm publish).

Publish

Publish @infolang/setup-core first (and overlay if core still needs a new release), then:

scripts/publish-npm-packages.sh mcp-setup
# or full ordered set:
scripts/publish-npm-packages.sh