About negirau
Negirau is a public service for anonymously looking up appreciation counts for people and groups behind everyday work. Its API is read-only and avoids rankings and bulk data dumps.
Key features
- 01Anonymous, read-only public API
- 02Search subjects by query
- 03Bounded nearby search
- 04Reaction counts capped at 100+
Use cases
- 01Look up appreciation for a public service
- 02Find subjects by name or query
- 03Check nearby subjects and their counts
MCP support
The project includes an MCP server that registers tools dynamically from the live API specification.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y negirau-mcpNEGIRAU_BASE_URLOverride the API base URL (default https://api.negirau.com/v1)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENegirau
日頃の担い手に、ねぎらいを。 Negirau (negirau.com) lets anyone send a one-tap, login-free appreciation to the people behind everyday work — fire stations, event crews, online services, open-source maintainers.
- No accounts, no user-generated text, no visitor data stored.
- Counts are shown exactly up to 100 and as "100+" beyond — by design, this service cannot become a ranking.
- Runs entirely on Cloudflare Workers + D1 within the free tier.
Development
Prerequisites: bun (plus pnpm for packages/client-ts and packages/mcp-server, and uv for packages/client-py).
bun install
cp .dev.vars.example .dev.vars
bun run db:migrate && bun run db:seed
bun run dev
See AGENTS.md for the full check list, architecture invariants, and gotchas.
Repository layout
| Path | What | License |
|---|---|---|
/ (server + web app) | React Router 7 app on Cloudflare Workers | AGPL-3.0-only |
packages/client-ts | TypeScript API client (npm), hand-written + spec contract tests | Apache-2.0 |
packages/client-py | Python API client (PyPI), hand-written + spec contract tests | Apache-2.0 |
packages/mcp-server | MCP server (npm), registers tools dynamically from the live spec | Apache-2.0 |
skills/negirau | Agent Skill (SKILL.md), generated from the route manifest | Apache-2.0 |
Everything under packages/ is held to the OpenAPI spec: both clients run spec-driven contract tests, mcp-server reads the live spec at startup, and SKILL.md is generated with a CI drift gate.
Public API
Read-only, anonymous, CORS-open, based at https://api.negirau.com/v1.
The spec is served at /v1/openapi.json and generated from the zod schemas at build time — it cannot drift from the implementation.
There are no bulk dumps and no ranking endpoints, on purpose: the lookup path is server-side search (q= on /v1/subjects) and bounded nearby search.
License
Copyright (C) 2026 Shinsuke Mori.
The server and web app are licensed under AGPL-3.0-only.
Client packages under packages/ are licensed under Apache-2.0 (see each package's LICENSE).
The "Negirau" name and the heart-pin logo are not covered by these licenses.
Attribution
- Map tiles: OpenFreeMap © OpenStreetMap contributors
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.