Token导航 LogoToken导航TokenDH.com
No-as-a-Service (NoaaS) logo
AI代理stdio官方级别未说明来源级核验

No-as-a-Service (NoaaS)

MCP Server

wrangler

NoaaS是一个提供1000多种创意拒绝回复的REST API服务,适用于需要优雅或幽默方式拒绝请求的场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
API集成JavaScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Koneisto

提供方

Koneisto

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx wrangler login --config deployment/wrangler.toml

详细介绍

无服务

](https://www.npmjs.com/package/no-as-service) ![CI](https://github.com/Koneisto/no-as-a-service/actions/workflows/ci.yml) ![License: MIT](https://opensource.org/licenses/MIT)

因为现在说“不”显然需要API。

像这个项目? 给它一个⭐ 在GitHub上!

API服务,提供1000多种创造性的方式来拒绝请求。对于那些认为说“不”需要比应有的更复杂的架构,或者只是欣赏专业拒绝的准确性的人来说。

这是什么?

NoaaS是一个 REST API服务 带着一个 MCP服务器包装器 它提供了四类创造性的拒绝反应:

两个组件:

  • REST API (主要)-公共HTTP API任何人都可以直接调用
  • MCP服务器 (包装器)-通过stdio传输将Claude Desktop连接到REST API

建筑

                     REST API (Primary Service)
    +-------------+  +-------------+  +-------------+
    |   Express   |  | Cloudflare  |  |   Docker    |
    |  (Node.js)  |  |   Workers   |  |  Container  |
    +-------------+  +-------------+  +-------------+
            |              |              |
            +--------------+--------------+
                           |
                     reasons.json
                   (1000+ responses)
                           |
         +-----------------+-----------------+
         |                 |                 |
       HTTP              HTTP              HTTP
         |                 |                 |
    +----+----+      +-----+-----+     +-----+-----+
    |Web Apps |      |curl/fetch |     |MCP Server |
    | Mobile  |      |  Python   |     |  (stdio)  |
    +---------+      +-----------+     +-----+-----+
                                             |
                                           stdio
                                             |
                                    +-----------------+
                                    | Claude Desktop  |
                                    | Cursor IDE      |
                                    +-----------------+

要点:

  • REST API 是具有所有业务逻辑的主要服务
  • MCP服务器 是一个将人工智能助手桥接到REST API的瘦stdio包装器
  • 适用于Claude Desktop、Cursor和其他MCP兼容客户端

响应类别:

  • 礼貌的 -因为当你想让他们认为你真的考虑了他们的要求
  • 幽默的 -因为添加一个笑话会让拒绝感觉不那么像拒绝(事实并非如此)
  • 专业的 -公司认可的拒绝方式,听起来像你在乎(你不在乎)
  • 创意 -对于那些认为聪明会让他们更有趣(有争议)的人来说
注: 原始回复由人工智能生成。252条专业企业术语回复和完整的分类系统由Claude(Anthropic)撰写和组织。所以,如果它们偶尔会变得奇怪、荒谬,或者听起来像是机器人太努力地想要成为人类,这就是原因。不管怎样,我们都保留了它们。质量控制被高估了。

快速开始

使用公共服务

只需调用API。没有安装,没有注册,没有废话。

curl -X POST https://api.mcp-for-no.com/v1/tools/call \
  -H "Content-Type: application/json" \
  -d '{"method":"getRandomNo","params":{"category":"humorous"}}'

答复:

{
  "jsonrpc": "2.0",
  "result": {
    "response": "I'd love to say yes, but my calendar is allergic to that date."
  }
}

部署您自己的

想运行自己的实例吗?我们尊重您的信任问题。

推荐:Cloudflare Workers(免费)

零维护,全球边缘网络,自动扩展。明智的选择。

npm install
# Copy wrangler config template
cp deployment/wrangler.toml.example deployment/wrangler.toml
npx wrangler login --config deployment/wrangler.toml
npx wrangler kv:namespace create "REASONS_KV" --config deployment/wrangler.toml
npx wrangler kv:namespace create "RATE_LIMIT_KV" --config deployment/wrangler.toml
# Update deployment/wrangler.toml with the KV namespace IDs from the output above
npm run worker:kv:upload
npm run worker:deploy

请参阅: docs/deployment/QUICKSTART_WORKERS.md 详细说明。

替代方案:Docker(企业/自托管)

当您与云提供商或合规要求存在信任问题时。

# Docker Compose (recommended)
npm run docker:up

# Or plain Docker
npm run docker:build
docker run -d -p 3000:3000 \
  -e NODE_ENV=production \
  -e CORS_ORIGIN=https://your-domain.com \
  noaas

高级:Node.js/Express

直接部署在VPS、PM2或systemd上。你知道你在做什么。

npm install
cp .env.example .env
# Edit .env with your configuration
npm start

请参阅: 文档/指南/安全.md 用于安全配置和最佳实践。

与克劳德桌面(MCP)一起使用

NoaaS包括一个具有stdio传输的本地MCP服务器。不幸的是,Claude Desktop需要本地安装,因为它无法直接连接到web服务。

为什么选择本地安装? Claude Desktop通过stdio(stdin/stdout)为MCP服务器生成本地进程。它不能直接连接到HTTP端点,即使实际数据来自我们的REST API。本地MCP服务器充当将Claude Desktop桥接到REST API的瘦包装器。

先决条件

你需要安装Node.js(v18+)和Git:

  • macOS: brew install node git
  • 窗户: 下载自
  • Linux: 使用您的包管理器(例如。, apt install nodejs git)

安装

1.克隆并构建MCP服务器:

cd ~
git clone https://github.com/Koneisto/no-as-a-service.git
cd no-as-a-service
npm install
npm run mcp:build

这创造了 build/mcp-server.js 在克隆的目录中。

2.获取绝对路径:

虽然还在 no-as-a-service 目录,运行:

pwd

这显示了您的完整路径,类似于: /Users/yourname/no-as-a-service

📝 把这写下来——下一步你需要它。

Claude桌面配置

1.查找您的配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2.编辑文件并添加此配置:

替换 /YOUR/PATH/HERE 与路径从 pwd 上面的命令:

{
  "mcpServers": {
    "noaas": {
      "command": "node",
      "args": [
        "/YOUR/PATH/HERE/no-as-a-service/build/mcp-server.js"
      ],
      "env": {
        "API_BASE_URL": "https://api.mcp-for-no.com"
      }
    }
  }
}

⚠️ 重要提示:

  • 使用正斜杠(/)即使在Windows上
  • 替换 /YOUR/PATH/HERE 从步骤2开始的实际路径
  • 一个拼写错误就行不通了——路径区分大小写

3.重新启动克劳德桌面:

完全关闭Claude Desktop(退出应用程序,而不仅仅是关闭窗口),然后重新打开它。

4.测试:

问克劳德:

  • _“给我一个礼貌的方式来拒绝这次会议”_
  • _“你有多少种不同的拒绝方式?”_

如果它不起作用,请检查配置文件中的拼写错误。

可用工具

  • Getrandomno -获得创造性拒绝(可选类别:礼貌、幽默、专业、创意)
  • getNoCount -获取总计数(1021)

故障排除

配置文件错误?

路径错误?

  • ls build/mcp-server.js 在repo目录中验证文件是否存在

仍然不工作吗?

  • 查看日志 ~/Library/Logs/Claude/mcp*.log (macOS)
  • 确保已安装Node.js: node --version
  • 确保您完全重新启动了Claude Desktop

与游标IDE(MCP)一起使用

Cursor还支持MCP服务器。相同的本地安装要求,不同的配置文件。

先决条件

与Claude Desktop相同-Node.js(v18+)和Git。如果您已经克隆了Claude Desktop的仓库,请跳到配置。

安装

如果你还没有:

cd ~
git clone https://github.com/Koneisto/no-as-a-service.git
cd no-as-a-service
npm install
npm run mcp:build
pwd

请注意以下路径 pwd -你会需要它的。

光标配置

1.查找或创建配置文件:

  • 全球(所有项目): ~/.cursor/mcp.json
  • 项目具体: `

/.cursor/mcp.json`

2.添加MCP服务器配置:

替换 /YOUR/PATH/HERE 根据您的实际路径:

{
  "mcpServers": {
    "noaas": {
      "command": "node",
      "args": [
        "/YOUR/PATH/HERE/no-as-a-service/build/mcp-server.js"
      ],
      "env": {
        "API_BASE_URL": "https://api.mcp-for-no.com"
      }
    }
  }
}

3.重新启动游标

关闭并重新打开游标。MCP服务器现在应该可用。

可用工具

与Claude Desktop相同:

  • Getrandomno -获得创造性拒绝(可选类别:礼貌、幽默、专业、创意)
  • getNoCount -获取总计数(1021)

API使用(直接HTTP)

您还可以直接使用REST API:

# Get a random rejection
curl -X POST https://api.mcp-for-no.com/v1/tools/call \
  -H "Content-Type: application/json" \
  -d '{"method":"getRandomNo","params":{"category":"humorous"}}'

# Get count
curl -X POST https://api.mcp-for-no.com/v1/tools/call \
  -H "Content-Type: application/json" \
  -d '{"method":"getNoCount"}'

examples/usage-examples.md 用于各种语言的代码示例。

特性

  • 无认证 -没有信用卡,没有注册,没有价值主张
  • 快速响应时间 -因为等待拒绝显然是不可接受的
  • 全球分布 -立即从世界任何地方说不
  • 无跟踪 -我们不太关心你的行踪
  • 速率限制 -每分钟30个请求。每2秒一次。仍然慷慨。
  • MCP兼容\*-\*通过本地stdio包装器,因为SSE传输太有意义了
  • 1000+响应 -因为显然100种说不的方式还不够多
  • 无认证 -只需发送请求。我们懒得实现OAuth。

api参考

随机拒绝

POST /v1/tools/call
Content-Type: application/json

{
  "method": "getRandomNo",
  "params": {
    "category": "polite"  // optional: polite, humorous, professional, creative
  }
}

获取计数

POST /v1/tools/call
Content-Type: application/json

{
  "method": "getNoCount"
}

健康检查

GET /health

API完整文档: 技术.md

项目结构

no-as-a-service/
├── src/
│   ├── index.js            # Node.js/Express server
│   └── worker.js           # Cloudflare Workers server
├── data/
│   └── reasons.json        # 921 rejection messages
├── deployment/
│   ├── Dockerfile          # Docker deployment
│   ├── docker-compose.yml  # Docker Compose config
│   └── wrangler.toml       # Cloudflare Workers config
├── docs/
│   ├── deployment/
│   │   ├── QUICKSTART_WORKERS.md
│   │   ├── WORKERS_DEPLOYMENT.md
│   │   ├── CLOUDFLARE_DEPLOY.md
│   │   └── PAGES_DEPLOYMENT.md
│   ├── guides/
│   │   ├── SECURITY.md     # Security best practices
│   │   └── DAILY_LIMIT_GUIDE.md
│   └── TECHNICAL.md        # Full API reference
├── examples/
│   ├── usage-examples.md   # Code examples
│   └── mcp-client-config.json
├── .env.example            # Environment variables template
├── .gitignore              # Git ignore rules
├── package.json            # Dependencies
├── README.md               # You are here
└── LICENSE

部署选项

方法成本设置时间最适合
Cloudflare员工$0/月5分钟每个人(认真)
码头工人 🐳变量10分钟企业版,自托管,K8s
Node.js/Express每月5-12美元15分钟VPS,自定义部署
Cloudflare隧道每月0美元15分钟防火墙后

推荐: Cloudflare Workers(免费层,每天10万个请求,全球边缘网络,零维护)

何时使用Docker: 合规要求、气隙环境、现有容器基础设施或与云提供商的信任问题(可以理解)。

文档

部署指南

配置和安全

技术参考

例子

JavaScript

const response = await fetch('https://noaas.your-deployment.workers.dev/v1/tools/call', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    method: 'getRandomNo',
    params: { category: 'professional' }
  })
});

const data = await response.json();
console.log(data.result.response);

python

import requests

response = requests.post(
    'https://noaas.your-deployment.workers.dev/v1/tools/call',
    json={'method': 'getRandomNo', 'params': {'category': 'polite'}}
)

print(response.json()['result']['response'])

更多示例: examples/usage-examples.md

贡献

添加新的拒绝消息

  1. 编辑 reasons.json
  2. 将您的拒绝添加到相应的类别部分
  3. 提交PR

类别按数组索引划分:

  • 礼貌: 0-25%
  • 幽默: 25-50%
  • 专业: 50-75%
  • 创意: 75-100%

报告问题

发现bug了吗? 打开一个问题.

代码贡献

欢迎PR:

  • 错误修正
  • 文档改进
  • 新功能(请先打开一个问题)

常见问题解答

Q: 费用是多少? A: 没有。这可能会让你担心,但我们相信你无论如何都会使用它。

Q: 利率限制是什么? A: 每个IP每分钟30个请求。每2秒一次。如果你需要更多,那你就做错了。

Q: 我可以在商业上使用它吗? A: 当然。无论是个人还是商业,我们都不歧视。当你的用户讨厌你的应用程序时,不要责怪我们。

Q: 是否有SLA? A: 你的期望应该与你为此付出的代价相匹配。

Q: 你为什么建造这个? A: 有人不得不这么做。显然,是我们。我们想,不用客气。

许可证

📄 麻省理工学院——无论做什么,都不要在应该说不的时候说“是”。归因受到赞赏,但不是必需的。

鸣谢

  • 由优先级有问题的人建造
  • 受到所有无法拒绝的人的启发
  • 由Cloudflare Workers提供支持(可能)
  • 克劳德(Anthropic)撰写的回应分类和252份专业企业回应
  • 人工智能生成的769条原始回复

链接

______________________________________________________________________

诺亚 -自2025年以来,帮助您更有效地浪费每个人的时间。

目录标签

目录标签

API集成JavaScriptClaudeAPI服务本地部署创意回复拒绝工具RESTAPIMCP集成

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

wrangler

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP