AIStatusDashboard

Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.

0MITdevtools

Install

Config snippet generator goes here (5 client tabs)

README

# AI Status Dashboard
[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.aistatusdashboard%2Faistatusdashboard/versions/latest)
[![OpenAPI](https://img.shields.io/badge/OpenAPI-available-success)](https://aistatusdashboard.com/openapi.json)
[![Datasets](https://img.shields.io/badge/Datasets-available-informational)](https://aistatusdashboard.com/datasets)

A real-time status dashboard for AI service providers (OpenAI, Anthropic, Google Gemini, etc.).

## Features
- **Real-time Status Monitoring**: Active checks via `StatusService`.
- **Historical Data**: Firestore-backed history and incident logging.
- **Analytics**: Dashboard for uptime, response times, and costs.
- **Notifications**: Email alerts via SMTP (Nodemailer) and Webhooks.
- **Stack**: Next.js (App Router), Tailwind CSS, Firebase Firestore.

## Getting Started

### Prerequisites
- Node.js 18+
- Firebase Project (Firestore enabled)

### Installation
1. Clone the repository
2. Install dependencies:
   ```bash
   npm install
   ```
3. Copy `.env.example` to `.env.local` and configure your Firebase credentials.
   ```bash
   cp .env.example .env.local
   ```

### Running Locally
```bash
npm run dev
```

### Quick links
- OpenAPI: https://aistatusdashboard.com/openapi.json
- MCP server: https://aistatusdashboard.com/mcp
- MCP Quickstart: https://aistatusdashboard.com/docs/agent/mcp-quickstart
- Discoverability audit: https://aistatusdashboard.com/docs/discoverability-audit.md
- Datasets: https://aistatusdashboard.com/datasets
- Citing: https://aistatusdashboard.com/docs/citations.md

### Deployment (Firebase App Hosting)
1. Configure production environment variables in `apphosting.yaml`.
2. Store secrets in Secret Manager and grant App Hosting access.
3. Deploy:
   ```bash
   firebase deploy --only apphosting --project ai-status-dashboard
   ```

### Testing
- Unit Tests: `npm run test:unit`
- E2E Tests: `npm run test:e2e`

## Architecture
- **App Router**: APIs located in `app/api`.
- **Services**: Business logic in `lib/services`.
- **Database**: Firestore (collections: `status_history`, `emailSubscriptions`, `emailQueue`, `analytics_events`, `webhooks`, `comments`).
- **Cron**:
  - `/api/cron/status` runs a monitoring cycle and persists status changes.
  - `/api/cron/notifications` processes the email queue (set `CRON_SECRET` / `APP_CRON_SECRET` in prod; or explicitly set `APP_ALLOW_OPEN_CRON=true`).
- **Webhook registration**:
  - `/api/webhooks` accepts new webhook registrations. Set `WEBHOOK_SECRET` / `APP_WEBHOOK_SECRET` in prod (or explicitly set `APP_ALLOW_PUBLIC_WEBHOOKS=true`).

## License
MIT