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

pi-mcp-connector

v1.0.2

Published

MCP Gateway for Pi — stdio/SSE/Streamable HTTP transports, session recovery, connection pooling, structured error handling.

Downloads

265

Readme

Pi MCP Connector

中文版

Lightweight Model Context Protocol (MCP) gateway extension for Pi. Routes, pools, and lazy-loads configured local and remote MCP servers through a single proxy tool.


Key Features

  1. Multi-transport Protocol Support

    • Fully compatible with the three core transport channels defined by the MCP specification:
      • Stdio: Spawns local subprocesses communicating via standard input/output streams (stdin/stdout) using JSON-RPC.
      • SSE (Server-Sent Events): Interacts with remote servers using push event streams over HTTP.
      • Streamable HTTP: Exchanges high-throughput messages over chunked HTTP streams.
  2. Lazy Client Instantiation & Pooling

    • Loads tool schemas instantly from a local cache at startup, and establishes the underlying connection channel only when a tool on that server is first invoked, drastically improving boot times and freeing connections automatically on exit.
  3. Proactive Schema Injections

    • Automatically populates the system prompt with a detailed manifest of all cached tools, descriptions, and strict properties schemas, ensuring the model knows exactly how to invoke your servers.
  4. Schema Bypassing (JSON Object Passthrough)

    • Declares execution parameters as JSON Any, allowing advanced LLMs to pass raw structured argument payloads directly without string-escaping issues, while remaining backwards compatible with legacy stringified payloads.
  5. Fuzzy Routing & Auto-Correction

    • Auto-corrects tool calls using string distance similarity metrics if the model misspells a tool name or misses a server prefix (similarity $\ge 85%$).

Project Structure

pi-mcp-connector/
├── index.ts                  # Pi extension entry point (re-exports src/index.ts)
├── src/
│   ├── index.ts               # Gateway `mcp` registration & TUI dashboard
│   ├── config.ts              # Loads local/global MCP config (~/.pi/pi-mcp-connector/config.json)
│   ├── client.ts              # SimpleMcpClient (stdio, sse, streamable http support)
│   ├── proxy.ts               # MCP requests and resource proxy server
│   ├── cache.ts               # Metadata caching for connected tools
│   ├── logger.ts              # Local debugging log utility
│   ├── mutex.ts               # Mutex lock for non-readonly tool queuing
│   ├── types.ts               # TypeScript type definitions
│   └── dispatch-classifier.ts # Smart classifier for readonly vs concurrent requests
├── test.ts                   # Unit & integration tests
└── biome.json

Installation

pi install npm:pi-mcp-connector

Configuration & Usage

In the Pi terminal:

  • /mcp — Interactive TUI control panel for server management.
  • /mcp <serverName> — Toggle connection state for a specific configured server.

Testing

Run the native TypeScript unit test suite (Node.js native test runner):

npm run test

Development

We align with the code quality and security standards of the primary pi-main workspace:

  1. Linter & Formatter: Biome is configured to auto-format and check codebase. We use tab indentation with a width of 3 characters.
  2. Commands:
    • Check format and Lint: npm run check
    • Run tests: npm test

License

MIT