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

aoexl-mcp

v0.2.5

Published

Aoexl MCP connector for Claude Desktop, Cursor, and other MCP clients.

Downloads

711

Readme

Aoexl MCP Connector

Aoexl exposes a hosted MCP server at https://mcp.aoexl.com/mcp for creating signing requests, checking status, sending reminders, and managing templates from Claude Desktop, Cursor, and other MCP-compatible clients.

This folder now serves two roles:

  • the Cloudflare Worker that powers the hosted MCP endpoint
  • the publishable npm wrapper (aoexl-mcp) that lets users connect with npx

The main monorepo can remain private. The public connector metadata now points at the standalone public repo:

https://github.com/rails2track/aoexl-mcp

What Users Install

The public package is intended to be used like this:

AOEXL_API_KEY=your_key_here npx -y aoexl-mcp

The package starts a local stdio proxy via mcp-remote and forwards requests to:

https://mcp.aoexl.com/mcp

Tools

  • create_signing_request
  • get_signing_request_status
  • list_signing_requests
  • send_signing_reminder
  • cancel_signing_request
  • duplicate_signing_request
  • reopen_signing_request
  • list_templates
  • create_request_from_template
  • get_audit_artifacts

Authentication Model

The hosted endpoint expects:

Authorization: Bearer <AOEXL_API_KEY>

Where AOEXL_API_KEY is a customer-owned key generated inside Aoexl Settings → MCP API Keys.

Internally the Worker resolves that API key to a user_id, then performs user-scoped operations against Supabase using the service-role key. This is what makes the connector multi-tenant and safe to distribute.

Local Development

Install dependencies from the repository root:

npm install

The Worker is configured in wrangler.jsonc and includes:

  • the MCP_OBJECT Durable Object binding required by McpAgent
  • a route for mcp.aoexl.com/*
  • the Aoexl app / Supabase URLs

Required Worker secrets:

npx wrangler secret put AOEXL_SUPABASE_ANON_KEY --cwd mcp-connector
npx wrangler secret put AOEXL_SERVICE_ROLE_KEY --cwd mcp-connector

Run locally:

npm run mcp:dev

or directly:

npm run dev --workspace=aoexl-mcp -- --ip 127.0.0.1 --port 8787

Health check:

curl http://127.0.0.1:8787/health

The /mcp endpoint is SSE/streamable HTTP, so a short test looks like:

curl --max-time 2 -i http://127.0.0.1:8787/mcp -H "Authorization: Bearer aok_live_example"

Customer Setup

Claude Desktop

{
  "mcpServers": {
    "aoexl-sign": {
      "command": "npx",
      "args": ["-y", "aoexl-mcp"],
      "env": {
        "AOEXL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Direct mcp-remote alternative

{
  "mcpServers": {
    "aoexl-sign": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.aoexl.com/mcp",
        "--header",
        "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Publishing

npm package

This folder is prepared to publish aoexl-mcp publicly from npm without making the monorepo public.

Sanity check the package:

npm run package:check --workspace=aoexl-mcp

Publish from this folder:

cd mcp-connector
npm publish --access public

Smithery

Two viable paths:

  • recommended now: publish the hosted URL https://mcp.aoexl.com/mcp directly in Smithery
  • optional later: use the included smithery.yaml in a small public repo that contains only this connector

The smithery.yaml included here is ready for a repo/package-based install flow that injects AOEXL_API_KEY.

Official MCP Registry

This folder includes server.json, prepared for the current registry model:

  • mcpName in package.json
  • packages entry for aoexl-mcp
  • remotes entry for https://mcp.aoexl.com/mcp

Before publishing:

  1. ensure the npm package is live
  2. ensure https://mcp.aoexl.com/mcp is publicly reachable
  3. ensure the repository URL in server.json points at a real public repo

Then publish with the current registry tooling, not the old PR flow.

Files Added For Distribution

  • bin/aoexl-mcp.cjs — npm-exposed stdio wrapper
  • smithery.yaml — Smithery config schema / start command
  • server.json — MCP Registry metadata

Notes

  • The public package name is aoexl-mcp.
  • The MCP Registry server name is io.github.rails2track/aoexl-sign.
  • If you later decide to use a custom namespace instead of GitHub-based naming, update both server.json and package.json#mcpName.