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

@mcptoolshop/mcp-aside

v1.0.0

Published

MCP server that maintains an in-memory interjection inbox with guardrails (TTL, rate-limit, dedupe).

Readme


为什么?

大型语言模型(LLMs)容易遗忘信息。一些零星的想法、未完成的顾虑,以及那些“我们应该回头再讨论”但最终被忽略的话题。mcp-aside 为模型提供一个专门的收件箱,用于存放这些被暂时搁置的信息。该收件箱具有速率限制、去重和自动过期等功能,以防止其自身成为一个问题。

把它想象成一个放在对话旁边的便签纸。模型会写下一些笔记。您(或模型)可以在适当的时候阅读这些笔记。

工作原理

  1. 模型会使用一个想法,并将其通过 aside.push 方法发送出去,该想法会根据优先级进行标记。
  2. 保护机制会检查是否存在重复项、速率限制以及时间限制。
  3. 如果通过检查,该信息会存储在内存中的收件箱中。
  4. 客户端会通过 notifications/resources/updated 接口收到通知。
  5. 任何人都可以通过 interject://inbox 资源访问收件箱。

没有数据库。没有数据持久化。如果服务器停止运行,收件箱中的内容将会丢失——这是设计上的一个特点。

快速入门指南

npm install
npm run build
node build/index.js

服务器使用 MCP 协议通过标准输入/输出 (stdio) 进行通信。可以将任何兼容 MCP 协议的客户端连接到该服务器:

{
  "mcpServers": {
    "aside": {
      "command": "node",
      "args": ["build/index.js"]
    }
  }
}

工具

| 工具。 | 它的作用/功能。 | | Please provide the English text you would like me to translate. I am ready to assist you. | Please provide the English text you would like me to translate. I am ready to assist you. | | aside.push | 将一条消息插入收件箱。支持以下参数:text(消息内容),priority(优先级,可选项:低、中、高),reason(原因),tags(标签),expiresAt(过期时间),source(来源)以及 meta(元数据)。 | | aside.configure | 在运行时调整安全防护机制,包括:TTL(生存时间)限制、速率限制、去重窗口以及通知阈值。 | | aside.clear | 清理收件箱。 | | aside.status | 仅供读取的收件箱大小和当前安全策略配置快照。 |

资源

| URI (统一资源标识符) | 描述。 | | Please provide the English text you would like me to translate. I am ready to assist you. | Please provide the English text you would like me to translate. I am ready to assist you. | | interject://inbox | JSON 数组,包含待处理的插入内容,按最新排序。已过期的条目在读取时会被过滤掉。 |

护栏

所有配置项都可以通过 aside.configure 函数进行设置。默认设置如下:

| 场景设置。 | 默认设置。 | 它控制的内容。 | | Please provide the English text you would like me to translate. I am ready to assist you. | Please provide the English text you would like me to translate. I am ready to assist you. | Please provide the English text you would like me to translate. I am ready to assist you. | | defaultTtlSeconds | 600 (10分钟) | 如果未设置明确的过期时间,一个临时数据的有效时长是多久? | | maxTtlSeconds | 3600分钟(1小时) | 即使调用者请求更高的值,TTL(传输时间限制)也存在上限。 | | dedupeWindowSeconds | 300 (5分钟) | 相同优先级、文本内容和原因组合会导致信息在当前窗口中被屏蔽。 | | rateLimitWindowSeconds | 60 | 滑动窗口限流机制。 | | rateLimitMax | 低:6,中:3,高:1。 | 每个优先级,每个窗口允许的最大推送数量。 | | notifyAtOrAbove | 高。 | 仅为优先级等于或高于此级别的项目发送日志通知。 |

配置

定时触发

内置定时器每5分钟触发一次,执行一个低优先级的“是否存在任何阻塞?”的检查。它遵循与手动触发相同的规则(因此,它会像其他操作一样被去重或限速)。要禁用它,请在 index.ts 文件中注释掉 startTimerTrigger 的调用。

MCP 检查员

用于本地测试:

Transport: STDIO
Command:   node
Args:      build/index.js

注释

  • 日志信息输出到标准错误流(stderr),标准输出流(stdout)则保留用于 MCP JSON-RPC 通信。
  • 收件箱是临时的。重启系统会清除所有内容。
  • 消息按最新时间排序存储。过期消息会在每次读取和推送时被清理。

许可

[麻省理工学院] (LICENSE)


MCP Tool Shop 制作。