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

Schema Laravel Package

php-mcp/schema

A PHP package for defining and working with Model Context Protocol (MCP) schemas. It provides typed schema objects and helpers for describing tools, resources, and prompts, making it easier to build and validate MCP servers cleanly in PHP applications.

Deep Wiki
Context7

Product Decisions This Supports

  • Feature viability: "expose our Laravel app to AI clients." This package is the typed contract layer for the Model Context Protocol — DTOs for Tool, Resource, Prompt, content blocks (text/image/embedded resource), JSON-RPC request/response envelopes, and enums for roles, protocol versions, and client/server capabilities. It lets you scope an MCP feature by answering "what do we advertise, and in what shape?" before committing to transport, auth, or hosting work.
  • Build vs. buy on the type layer. The alternative is hand-writing and maintaining PHP classes that mirror a spec that is still moving. Adopting this package converts an ongoing spec-tracking chore into a version bump — a clear buy signal if the package keeps pace.
  • Roadmap sequencing and cost of a spike. Because this is types-only (no server, no routing, no transport), it is the cheapest possible first increment: an engineer can produce a spec-shaped payload in hours. That makes "should we support MCP at all?" a one-sprint experiment rather than a quarterly bet.
  • Protocol standardization: MCP vs. OpenAPI/function-calling. Typed MCP messages let you compare an MCP tool surface against your existing REST/OpenAPI surface on equal footing — same inputs, same serialization concerns — before picking a direction.
  • Integration use cases this unlocks for evaluation: internal developer tooling (Claude Desktop, Cursor, IDE agents hitting your app), customer-facing agent integrations, and exposing read-only domain resources (catalog, docs, tickets) as MCP resources rather than bespoke endpoints.
  • Contract-stability decisions. The enums and DTOs force explicit decisions on protocol version pinning and on how much of the spec you claim to support — useful inputs for a public API/SDK commitment and for deprecation policy.
  • Interoperability positioning. If you ship MCP-shaped output, the same payload works across multiple AI clients. That's a distribution argument, not just an engineering one.

When to Consider This Package

Consider it when:

  • You are building an MCP server or client in PHP/Laravel and want the message layer typed instead of passing associative arrays around.
  • You want MCP types isolated from your domain models — DTOs give you a clean serialization boundary and testable fixtures.
  • You are running a time-boxed spike to prove an MCP endpoint; the cost of adoption is one Composer entry.
  • You plan to pair it with a transport/server package in the same family, so the schema version and the transport version move together.
  • You value MIT licensing and zero runtime footprint over vendor backing.

Look elsewhere when:

  • A first-party Laravel MCP package now covers this. Verify before adopting — an official package would make this redundant and better supported.
  • You need transport, HTTP routing, auth/OAuth, or session handling — this package does none of that. Buying it expecting a framework is the most likely disappointment.
  • You only need to call one tool from one client: raw arrays and an HTTP client are cheaper than a dependency.
  • You require vendor support, an SLA, or a security review trail. At ~19 stars with an unattributed repository, treat maintenance as unproven.
  • The package's protocol version lags current spec revisions, or release cadence is unclear. MCP is churning; stale types are worse than no types.
  • Your stack isn't PHP, or you need the schema at a boundary where a language-neutral IDL (OpenAPI/JSON Schema) already exists.

Adoption guardrails: pin an exact version, wrap the DTOs behind your own adapter/factory layer so a swap is a one-file change, and record the supported protocol version in your docs. Do repository due diligence — maintainer identity, release history, issue responsiveness — before it becomes load-bearing.

How to Pitch It (Stakeholders)

For executives: This is a small MIT-licensed PHP package that gives us ready-made, typed definitions for the Model Context Protocol — the emerging standard for letting AI assistants call into applications. It is not a product; it is the vocabulary layer. For roughly a day of engineering, it lets us prototype "expose our app to Claude, Cursor, and similar clients" without hand-maintaining a moving specification. Cost is near zero, lock-in is near zero, and the strategic value is optionality: it tells us quickly whether MCP is worth a roadmap line before we spend a quarter finding out.

For engineering: This is DTOs and enums only — no server, no routing, no transport. It buys you spec-shaped payloads, serialization, and type safety, and it keeps protocol churn out of your domain code. Two caveats: the project is early (low star count, unattributed repo), so pin the version and hide it behind our own adapter; and confirm no first-party Laravel MCP package already supersedes it. If either caveat bites, the fallback — our own thin type layer — is a few days of work, which is exactly why this is a low-risk bet rather than an architecture decision.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons