mattrguerra/meridian-orders-mcpmainPrivate on GitHub, published here in full

README.md

Language Markdown1.9 KB47 lines

README.md

  1. # Meridian Orders MCP
  2. A read-only [Model Context Protocol](https://modelcontextprotocol.io) server
  3. that lets Claude look up orders, customers, statuses and split shipments in
  4. Meridian Display Co.'s order system, Plinth.
  5. **The company is fictional.** This server was built for, and used at, a real
  6. print and display shop. Here it serves **Meridian Display Co.**, the invented
  7. company behind
  8. [meridian-ops-board](https://github.com/mattrguerra/meridian-ops-board) and
  9. [meridian-crm-mcp](https://github.com/mattrguerra/meridian-crm-mcp). Plinth,
  10. its API, its endpoint, method and field names, and every number in its
  11. reference are invented too; the engineering is the real server's.
  12. ## What is worth reading
  13. - **A write-prevention failsafe** (`mcp-server/src/lib/guard.ts`). The API is
  14. one endpoint where a query parameter picks the action, so a read and a write
  15. differ by one string. Four independent layers make a write impossible to
  16. dispatch, even through the passthrough tools or from plain JavaScript.
  17. - **A shared rate limiter** (`mcp-server/src/lib/rateLimit.ts`,
  18. `mcp-server/src/rateLimiterDO.ts`). The API allows 10 requests per 10
  19. seconds across everyone. A pure scheduling function paces requests rather than
  20. failing them, backed by one Durable Object on Workers so the budget holds
  21. across every session.
  22. - **Two runtimes, one core.** The same tools run over stdio for local use and
  23. over HTTP on Cloudflare Workers for a shared, hosted server.
  24. - **A live-request gate.** Nothing reaches production until
  25. `PLINTH_ALLOW_LIVE_REQUESTS=true` and a key are both set.
  26. ## Layout
  27. ```
  28. mcp-server/ the server (see its README)
  29. docs/PLINTH-API.md the API reference the server is written against
  30. ```
  31. ## Setup
  32. There is no `package.json` at the repo root; the server manages its own
  33. dependencies.
  34. ```
  35. cd mcp-server
  36. npm install
  37. npm run dev # local stdio server
  38. ```