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

@aigentyc/mcp

v0.2.2

Published

Model Context Protocol server for aiGentyc — content & authoring tools for LLM agents

Readme

@aigentyc/mcp

Model Context Protocol server for aiGentyc — lets Claude Code, Cursor, Windsurf, and any other MCP-compatible agent drive the content/authoring side of your aiGentyc project (documents, crawling, data stores, custom tools, config, backups, …) without clicking through the dashboard.

Chat/search embedding is not part of this package — use the separate aigentyc-chat-sdk (React) for user-facing chat.

Install

npx @aigentyc/mcp login \
  --api-key tyco_pk_XXXX \
  --project-id proj_XXXX

login verifies the key against /api/auth/api-keys/verify and writes ~/.aigentyc/config.json with 0600 perms.

Dev-only flag: pass --allow-insecure to permit plaintext HTTP against non-loopback hosts (e.g. a staging box without TLS). Never use this against production — all real traffic must be HTTPS.

Then wire it into your agent:

Claude Desktop / Claude Code

~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "aigentyc": {
      "command": "npx",
      "args": ["-y", "@aigentyc/mcp"]
    }
  }
}

Cursor

Settings → MCP → add server:

{
  "aigentyc": {
    "command": "npx",
    "args": ["-y", "@aigentyc/mcp"]
  }
}

Commands

aigentyc-mcp serve      Run the stdio MCP server (default when invoked with no args)
aigentyc-mcp login      Save + verify an API key profile
aigentyc-mcp logout     Remove a profile
aigentyc-mcp doctor     Verify config + dashboard reachability

Tools (86 total, 20 domains)

End-to-end coverage. Highlights:

  • aigentyc_get_started — call this first. Returns project status + a prioritised list of next steps the agent should walk the user through.
  • Embed the chatchat_widget_setup (paste snippet for existing app), chat_widget_scaffold (runs npm create aigentyc-chat@latest for a fresh starter), chat_widget_get_snippet (just the code).
  • Add contentfiles_upload, documents_create_from_text, extract_from_urls, link_sources_create, data_stores_*.
  • Configureconfig_update (system prompt, model, …), personas_upsert, tools_create + flows_create (custom tool actions).
  • Operatebackups_*, analytics_*, jobs_status / jobs_wait.

See llms.txt for the full tool inventory and recipes.

Vibe-coder one-shot

You:    "Add my docs/ folder, set the system prompt, and scaffold a Next.js
         chat app at ./my-app."

Claude: aigentyc_get_started        → "kb empty, no system prompt"
        files_upload({ paths: [...] })
        config_update({ patch: { systemPrompt: "..." } })
        chat_widget_scaffold({ destination: "./my-app", template: "next",
                               confirm: true })
        → ✓ done. cd my-app && npm install && npm run dev

Security

  • API keys are project-scoped; a key for project A cannot read/write B.
  • ~/.aigentyc/config.json is written 0600. The server refuses to start with wider perms.
  • The HTTP client refuses plaintext HTTP to non-loopback hosts.
  • Destructive operations (e.g. documents_delete) require confirm: true.
  • Per-API-key rate limits: 300 reads/min, 60 writes/min (429 over limit).
  • Every API-key-authed request is logged server-side (api_key_audit_log table) with keyId, projectId, route, method, status, and X-Request-Id for tracing.
  • files_upload refuses paths that escape $CWD or $HOME, rejects non-regular files, and caps batches at 50MB/file, 500MB total.
  • extract_from_urls prefilters RFC1918 / loopback / cloud-metadata URLs.

Publishing

cd mcp-server
npm run build
npm run smoke           # stdio JSON-RPC smoke test
npm pack --dry-run      # inspect what would ship
npm publish --access public

Deferred features

Tracked for v0.2+:

  • backups_download_all (ZIP) secret redaction for API-key callers. Current implementation redacts JSON downloads but not the archived ZIP. Session callers are unaffected. Recommendation: use session for now.
  • /api/extract/* dual-auth + binary-file uploads (PDF/DOC/DOCX). The extract proxy currently has no auth guard — not exposed to MCP. files_upload is therefore restricted to UTF-8 text formats only.
  • Analytics sessions/comments write paths — MCP is read-only by design.
  • Custom rate-limit overrides per-key — one limit for all keys today.