Murphys Laws

com.murphys-laws由 murphys-laws.com 发布v1.2.5更新于 Oct 24, 2026

Access thousands of Murphy's Laws: search, browse by category, random, daily, submit.

概览

AI 生成的概览

通过此本地 MCP 服务器访问关于生活趋向出错的幽默观察集合。

可以做什么
通过搜索、浏览类别或获取随机定律来检索墨菲定律。它允许用户查看每日定律或提交新定律供考虑。
适用场景
当您希望 AI 助手访问精心策划的、幽默的墨菲定律集合以用于趣闻或创意背景时,请使用此服务器。
运行要求
作为本地进程通过 npm 包安装运行。未声明任何外部 API 密钥或环境变量。
安装前请注意
此服务器提供公开的幽默内容,不处理敏感用户数据或执行修改外部系统的操作。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Murphys Laws,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Murphy's Laws

[Web CI] [Dependency Audit]

[PRs Welcome] [Maintenance] [License: CC0-1.0] [Node.js] [iOS] [Android]

A comprehensive collection of Murphy's Laws - humorous observations about life's tendency for things to go wrong.

Available on the Web, with iOS and Android releases forthcoming.

Platforms

AI & Developer Integration

Four official ways to integrate Murphy's Laws. No API key for reads.

PackagenpmPurpose
murphys-laws-sdk[npm]Typed TypeScript client, zero deps
murphys-laws-cli[npm]Command-line interface (npx murphys-laws-cli)
murphys-laws-mcp[npm]Model Context Protocol server for AI agents
REST API-Public HTTP API at https://murphys-laws.com/api/v1/

Full details and examples on the developer landing page.

REST API

Public API at https://murphys-laws.com/api/v1/, no auth required for reads.

TypeScript SDK

murphys-laws-sdk on npm is a tiny typed client over the REST API with zero runtime dependencies.

ts
import { MurphysLawsClient } from 'murphys-laws-sdk';const law = await new MurphysLawsClient().getRandomLaw();

Command-line interface

murphys-laws-cli on npm wraps the API for scripts and terminal use.

bash
npx murphys-laws-cli randomnpx murphys-laws-cli search "computer" --limit 3

MCP Server (Model Context Protocol)

An MCP server lets AI agents (Claude Desktop, Cursor, VS Code Copilot) query Murphy's Laws directly.

Quick start, no clone needed:

json
{  "mcpServers": {    "murphys-laws": {      "command": "npx",      "args": ["-y", "murphys-laws-mcp"]    }  }}

7 tools: search_laws, get_random_law, get_law_of_the_day, get_law, list_categories, get_laws_by_category, submit_law.

See mcp/README.md or npm, or the developer landing page for the full picture.

Repository Structure

This is a monorepo containing:

murphys-laws/├── backend/        # Node.js API server (TypeScript runtime via tsx)├── web/            # Web application (TypeScript + Vite)├── mcp/            # MCP server for AI agent integration (npm: murphys-laws-mcp)├── sdk/            # TypeScript SDK over the public REST API (npm: murphys-laws-sdk)├── cli/            # Command-line interface (npm: murphys-laws-cli)├── ios/            # iOS app (Swift + SwiftUI)├── android/        # Android app (Kotlin + Jetpack Compose)└── shared/         # Shared resources and documentation

Quick Start

Backend (API Server)

bash
cd backendnpm installnpm run build:db # Build SQLite databasenpm run dev # Start API servernpm start # Run API from src/server/api-server.ts via tsx

Web Application

bash
cd webnpm installnpm run dev # Start dev server

iOS App

bash
cd iosopen MurphysLaws.xcodeproj# Press ⌘R to run

Android App

bash
cd android./gradlew assembleDebug# Or open in Android Studio

Documentation

Testing

bash
# Run all tests (backend, web, SDK, CLI, and MCP)npm test
# Test a subset onlynpm run test:backend   # Backend Vitest suitenpm run test:web       # Web Vitest suite only (no E2E)npm run test:web:e2e   # Web E2E (Playwright) only

Development

Prerequisites

  • Node.js 22+
  • For iOS: macOS, Xcode 15+
  • For Android: Android Studio Hedgehog+, JDK 17+

Install Dependencies

bash
# Install all dependencies (root and workspaces)npm run install:all
# Or install individuallycd backend && npm installcd web && npm install

Run Development Servers

bash
# Run backend + web concurrentlynpm run dev
# Or run individuallynpm run dev:backendnpm run dev:web

Note: The predev script automatically cleans up any orphaned processes using ports 8787 and 5175 before starting.

Troubleshooting Port Issues

If you encounter EADDRINUSE errors (port already in use):

bash
# Check which processes are using development portsnpm run cleanup-ports
# Automatically kill processes using development portsnpm run cleanup-ports -- --kill
# Or manually check and killlsof -i :8787  # Check API portlsof -i :5175  # Check frontend portkill <PID>     # Kill the process

Building

bash
# Generate OpenAPI and build the web appnpm run build
# Build specific platformnpm run build:webnpm run build:backend:db

TypeScript Runtime Architecture

  • Backend runs TypeScript source directly with tsx (no JS build step required for startup).
  • Canonical backend runtime entrypoint: backend/src/server/api-server.ts.
  • PM2 runtime uses Node loader: node --import tsx.
  • Shared runtime templates are TypeScript in shared/modules/*.ts.

Deployment

See Deployment Guide for detailed instructions.

bash
# Deploy web app (builds and syncs to production)npm run deploy

Keyboard Shortcuts (Web)

Press ? anywhere on the site to see all available shortcuts:

ShortcutAction
/Focus search
↑ / ↓Navigate search suggestions (when autocomplete is open)
EnterSelect search suggestion (when autocomplete is open)
EscapeClose search suggestions / modal / popover
jNext law card
kPrevious law card
?Show shortcuts help
Enter / SpaceActivate focused card

Search Autocomplete: When typing in the search field, suggestions appear automatically. Use arrow keys to navigate, Enter to select, or Escape to close.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Policies and Support

  • Security: Private vulnerability reporting and supported versions.
  • Privacy: Data-handling policy.
  • Support: Help and troubleshooting.
  • Agent Guide: Canonical instructions for AI coding agents.
  • Design System: Token and component-contract guidance.

License

This project is licensed under CC0 1.0 Universal (Public Domain).

Acknowledgments

Thanks to all contributors who have submitted Murphy's Laws over the years!


Made with love for anyone who's ever experienced Murphy's Law in action

来源:README.md,提交 f771fd8

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:软件包安装失败。

版本历史

2
  1. v1.2.5最新Oct 24, 2026
  2. v1.2.1Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。