Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Jsonrpc Server Sdk Laravel Package

yoanm/jsonrpc-server-sdk

A framework-agnostic PHP SDK for building JSON-RPC 2.0 servers: define methods, dispatch requests and notifications to handlers, and return spec-compliant responses, with middleware and flexible configuration for integrating the protocol into your app.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract decision: JSON-RPC 2.0 vs REST/GraphQL. This package is only relevant if the answer is already "JSON-RPC." It lets you commit to that contract cheaply, so it's an enabler for that decision rather than a driver of it.
  • Build vs buy for the protocol layer. The package covers the undifferentiated plumbing of JSON-RPC 2.0 — parsing request strings, dispatching to method handlers, shaping success/error responses, batch and notification semantics — so you can decide to buy that compliance instead of writing ~200–400 lines of dispatcher plus tests.
  • Scope of the integration surface. Useful when the feature is "expose a small, named set of domain operations to another service or partner" rather than a broad public API. Each RPC method maps to a bounded capability, which makes scope negotiation and deprecation explicit.
  • Roadmap sequencing for integrations. Batch support and notification (fire-and-forget) semantics come from the spec rather than your backlog, so you can plan whether async/queue handling is needed now or later.
  • Use cases that fit: internal service-to-service calls, a legacy or third-party system that already speaks JSON-RPC, a non-HTTP transport (the "string in, string out" design means it isn't coupled to PSR-7 or Laravel's HTTP layer), and tooling/gateway endpoints where a typed method registry beats route sprawl.
  • Dependency posture. MIT license, transport-agnostic core, and Laravel integration via a single controller means the choice doesn't constrain your framework or hosting decisions — it stays swappable.

When to Consider This Package

Adopt when:

  • The counterparty or spec already mandates JSON-RPC 2.0 — the decision is made for you and this saves the compliance work.
  • You need spec-correct behavior you'd otherwise get wrong: standard error codes, batch arrays, notification handling, ID echo semantics.
  • You want the protocol logic isolated in one adapter/controller so domain code stays framework-free.
  • The surface is internal or low-traffic, and the team can read and patch a small dependency if needed.
  • You're prototyping and want a working endpoint in an afternoon.

Look elsewhere when:

  • Adoption risk is a blocker. 5 stars, zero dependents, and a single maintainer is a bus-factor-1 signal. For anything on a public SLA or a multi-year contract, prefer a Laravel-native option such as sajya/server (larger community, first-party Laravel ergonomics) or a hand-rolled controller you fully own.
  • You actually want REST or GraphQL. Do not stretch JSON-RPC to cover a product API; clients, docs, caching, and gateway tooling all get worse.
  • You need batteries. Auth, rate limiting, per-method authorization, OpenAPI/typed client generation, and observability are not in scope here — you build all of it.
  • You need a typed, versioned schema. If contract-first codegen matters, this is a dispatcher, not a schema tool.
  • Your team can't own a fork. Assume you may need to vendor and patch it.

How to Pitch It (Stakeholders)

To executives: This is a small MIT-licensed library that handles the JSON-RPC plumbing if we decide to expose operations over that protocol. Cost is near zero, license risk is nil, and it doesn't lock us into a stack. The caveat is community validation — very low adoption and a single maintainer — so I'd recommend it for an internal or partner-facing integration with a bounded method set, not for a strategic public API. Budget a small contingency for vendoring it.

To engineering: It's a thin, transport-agnostic request-string-to-response-string layer. We wire it into one controller, register method handlers that delegate to existing services, and keep the domain code untouched. That containment is the main selling point: if we outgrow it or swap to sajya/server, the blast radius is a single adapter plus its tests. Recommend a one-day spike to validate error and batch behavior before committing.

Recommendation: Conditional adopt — spike it, keep it behind an interface, and revisit if the integration becomes customer-facing or the maintainer goes quiet.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings