waasup
Production-ready SaaS Model Context Protocol (MCP) server for PHP
claude mcp add --transport stdio seolinkmap-waasup docker run -i seolinkmap/waasup-php:latest \ --env WAASUP_DB_HOST="Database host (e.g., localhost or a DB service)" \ --env WAASUP_DB_NAME="Database name" \ --env WAASUP_DB_PASS="Database password" \ --env WAASUP_DB_USER="Database user" \ --env WAASUP_BASE_URL="Base URL for MCP endpoints" \ --env WAASUP_OAUTH2_URL="OAuth 2.1 provider URL"
How to use
WaaSuP is a production-ready PHP MCP server that provides a feature-rich Website-as-a-Server implementation. It delivers OAuth 2.1 authentication, real-time Server-Sent Events (SSE), multi-tenant support, a flexible tool system, and PSR-compliant integration hooks for Slim and Laravel. You can register and manage tools, prompts, and resources, and expose an MCP endpoint that clients (LLMs, agents, or dashboards) can call to run tasks, retrieve structured outputs, and receive real-time progress updates. The server is designed to work with a database backend and supports multiple storage backends, logging, and session management, making it suitable for SaaS-style deployments with enterprise-grade features. To use WaaSuP, first configure your environment (OAuth provider, DB connection, and base URLs), then run the MCP server and connect via the public MCP endpoint provided in your deployment. The server supports both programmatic tool registration (via PHP code) and built-in tools for common operations, such as ping/status checks and server information. Once running, you can interact with the MCP endpoints to register tools, manage prompts, run batches of JSON-RPC requests, and receive progress notifications through SSE.
How to install
Prerequisites:
- PHP 8.1 or higher
- Composer
- A database (MySQL or PostgreSQL) with appropriate credentials
Installation steps:
- Create a project and install WaaSuP via Composer:
composer require seolinkmap/waasup
- (Optional) Install logging and framework integration helpers:
composer require monolog/monolog
composer require slim/slim slim/psr7
- Set up the database schema:
- Import the provided schema from examples/database/database-schema.sql (adjust for your DB dialect).
- Create initial data (agency and OAuth tokens) as documented in the repository.
- Configure environment variables and databases in your deployment. Typical values include:
- WAASUP_DB_HOST, WAASUP_DB_NAME, WAASUP_DB_USER, WAASUP_DB_PASS
- WAASUP_OAUTH2_URL for the OAuth provider
- WAASUP_BASE_URL for the MCP endpoint host
- Run the server in your preferred environment (Docker example shown below) and verify the MCP endpoint.
Docker quick start (example):
# Run WaaSuP container (adjust image and env as needed)
docker run -d --name waasup \
-e WAASUP_DB_HOST=localhost \
-e WAASUP_DB_NAME=mcp_server \
-e WAASUP_DB_USER=mcp_user \
-e WAASUP_DB_PASS=securepassword \
-e WAASUP_OAUTH2_URL=https://auth.example.com \
-e WAASUP_BASE_URL=https://your-domain.com \
seolinkmap/waasup-php:latest
- Access the MCP endpoints at the configured base URL and follow the documentation for tool and prompt registration.
Additional notes
Tips and caveats:
- Ensure PHP 8.1+ is running and the PDO extensions for your database are enabled.
- Use the provided OAuth 2.1 flow for secure authentication and access controls. Configure RFC 8707 Resource Indicators if you plan to support advanced scopes.
- WaaSuP supports SSE for real-time progress; ensure your client can handle streaming events.
- For production, enable proper logging (Monolog) and consider using a managed database with appropriate backups.
- When integrating tools, you can register both class-based and callable tools. Use the built-in tools (e.g., PingTool, ServerInfoTool) for basic health checks and metadata.
- If you switch between environments (dev, staging, prod), keep separate base URLs, OAuth clients, and database credentials to avoid cross-environment data leakage.
Related MCP Servers
laravel-loop
Laravel Loop is a powerful Model Context Protocol (MCP) server designed specifically for Laravel applications. It connects your Laravel application with AI assistants using the MCP protocol.
ai-command
Control WordPress using WP-CLI, AI, and MCP.
SmartDB_MCP
Universal database MCP server connecting to MySQL, PostgreSQL, SQL Server, MariaDB,DM8,Oracle,not only provides basic database connection such as OAuth 2.0 authentication , health checks, SQL optimization, and index health detection
pluggedin-app
The Crossroads for AI Data Exchanges. A unified, self-hostable web interface for discovering, configuring, and managing Model Context Protocol (MCP) servers—bringing together AI tools, workspaces, prompts, and logs from multiple MCP sources (Claude, Cursor, etc.) under one roof.
maas-webapp
The code that powers the 'MCP as a Service' web application.
fastmcp-builder
A comprehensive Claude Code skill for building production-ready MCP servers using FastMCP. Includes reference guides, runnable examples, and a complete implementation with OAuth, testing, and best practices.