PHPackages                             seolinkmap/waasup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. seolinkmap/waasup

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

seolinkmap/waasup
=================

Website as a Server using PHP (WaaSuP) - Production-ready SaaS Model Context Protocol (MCP) server for PHP

v2.0.0(8mo ago)3185[1 issues](https://github.com/SEOLinkMap/waasup/issues)MITPHPPHP ^8.1CI passing

Since Jul 11Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/SEOLinkMap/waasup)[ Packagist](https://packagist.org/packages/seolinkmap/waasup)[ RSS](/packages/seolinkmap-waasup/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (11)Versions (6)Used By (0)

WaaSuP with your website
========================

[](#waasup-with-your-website)

[![PHP Version](https://camo.githubusercontent.com/acffb6ae1962992d26e4466782832787e79504a6250f80d732c4283458b9f497/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e312d626c75652e737667)](https://php.net)[![License](https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667)](LICENSE)[![PSR-15](https://camo.githubusercontent.com/bb117cdcc1759dce17d2c8f54bad66d46615fd2c362ef1d9c5a705be3a3a2e24/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5053522d31352d6f72616e67652e737667)](https://www.php-fig.org/psr/psr-15/)[![PSR-7](https://camo.githubusercontent.com/c5b687dddba5a6ca35a3943565efe3d7667bb82b160e08eaba68a14ede112e99/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5053522d372d6f72616e67652e737667)](https://www.php-fig.org/psr/psr-7/)[![Composer](https://camo.githubusercontent.com/276dc9bb5dfc2172d4b70dbc49cb6fd9af606ea132cf1233348e132fec33d980/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6d706f7365722d72656164792d627269676874677265656e2e737667)](https://packagist.org)

**WaaSuP** (Website as a Server using PHP) - A production-ready, SaaS-oriented Model Context Protocol (MCP) server implementation for PHP. Built with enterprise-grade features including OAuth 2.1 authentication, real-time Server-Sent Events (SSE), and comprehensive tool management.

🚀 Try It Live
-------------

[](#-try-it-live)

Want to see WaaSuP in action? **Connect to our live demo MCP server** with your favorite LLM or agentic tool!

💬 Chat With This Repository
---------------------------

[](#-chat-with-this-repository)

**Get instant help with:**

- ✅ **Installation guidance** - Step-by-step setup for your environment
- ⚙️ **Configuration assistance** - Database setup, OAuth, framework integration
- 🛠️ **Custom tool development** - Build tools specific to your use case
- 🐛 **Troubleshooting** - Debug issues with access to the full codebase
- 📚 **Code exploration** - Understand how features work under the hood

The MCP server has access to our entire repository, documentation, and examples. Ask it anything!

### 📡 Live MCP Server

[](#-live-mcp-server)

`https://seolinkmap.com/mcp-repo`

This public MCP endpoint showcases the server's capabilities with a complete Website-as-a-Server implementation (authless).

### 🔗 Need Help Connecting?

[](#-need-help-connecting)

**New to MCP servers?** Learn how to connect: **[How to Connect to MCP Servers](https://seolinkmap.com/documentation/how-to-connect-to-mcp-servers)**

Once connected, you can explore our entire repository through chat and get real-time help with WaaSuP installation and configuration.

> **Built by [SEOLinkMap](https://seolinkmap.com)** - This is our production "web server for chat and agentics" powering AI access to our entire SEO intelligence platform.

✨ Features
----------

[](#-features)

- 🔐 **OAuth 2.1 Authentication** - Complete OAuth flow with RFC 8707 Resource Indicators support for MCP 2025-06-18
- ⚡ **Multi-Transport Support** - Server-Sent Events (SSE) and Streamable HTTP for real-time message delivery
- 🛠️ **Flexible Tool System** - Easy tool registration with both class-based and callable approaches
- 🏢 **Multi-tenant Architecture** - Agency/user context isolation for SaaS applications
- 📊 **Production Ready** - Comprehensive logging, error handling, and session management
- 🔌 **Framework Agnostic** - PSR-compliant with Slim Framework and Laravel integration included
- 💾 **Database &amp; Memory Storage** - Multiple storage backends for different deployment scenarios
- 🌐 **CORS Support** - Full cross-origin resource sharing configuration
- 🎵 **Audio Content Support** - Handle audio content in tools and prompts (MCP 2025-03-26+)
- 📝 **Structured User Input** - Elicitation support for collecting structured data (MCP 2025-06-18)
- 🔄 **Progress Notifications** - Real-time progress updates with version-aware messaging
- 🏷️ **Tool Annotations** - Rich tool metadata for better LLM understanding (MCP 2025-03-26+)
- 📦 **JSON-RPC Batching** - Efficient batch request processing (MCP 2025-03-26)

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Composer
- Database (MySQL/PostgreSQL recommended for production)

MCP Protocol Compliance
-----------------------

[](#mcp-protocol-compliance)

WaaSuP implements the complete MCP specification across multiple protocol versions with automatic feature gating:

### **Feature Matrix Summary**

[](#feature-matrix-summary)

Feature2024-11-052025-03-262025-06-18Tools✅✅✅Prompts✅✅✅Resources✅✅✅Sampling✅✅✅Roots✅✅✅Ping✅✅✅Progress Notifications✅✅✅Tool Annotations❌✅✅Audio Content❌✅✅Completions❌✅✅JSON-RPC Batching❌✅❌OAuth 2.1❌❌✅Elicitation❌❌✅Structured Outputs❌❌✅Resource Links❌❌✅Resource Indicators (RFC 8707)❌❌✅ (Required)Installation
------------

[](#installation)

```
composer require seolinkmap/waasup

# For PSR-3 logging support
composer require monolog/monolog

# For Slim Framework integration
composer require slim/slim slim/psr7
```

Database Setup
--------------

[](#database-setup)

1. Import the database schema:

```
1. Open `examples/database/database-schema.sql`
2. Use either MySQL section OR PostgreSQL section (not both)
3. Customize table names/prefixes as needed
4. Create only the tables you need (if using your own table mapping)
```

2. Create your first agency:

```
INSERT INTO mcp_agencies (uuid, name, active)
VALUES ('550e8400-e29b-41d4-a716-446655440000', 'My Company', 1);
```

3. Create an OAuth token:

```
INSERT INTO mcp_oauth_tokens (
    access_token, scope, expires_at, agency_id
) VALUES (
    'your-secret-token-here',
    'mcp:read mcp:write',
    DATE_ADD(NOW(), INTERVAL 1 YEAR),
    1
);
```

Quick Start
-----------

[](#quick-start)

### Basic Server Setup

[](#basic-server-setup)

```
