Skip to main content
Glama
monsteruk-crm

Example Next.js MCP Server

Rejectionism CampaignOS

The operational headquarters for REJECTIONISM, the satirical art movement built around rejection.

SECURITY WARNING: UNAUTHENTICATED_TEST_MODE=true
UNAUTHENTICATED TEST SYSTEM — DO NOT STORE PRIVATE OR SENSITIVE DATA
This test version intentionally has no authentication. Never store passwords, tokens, bank details, or sensitive personal data. Proper authentication and authorization is the first post-MVP milestone.


Documentation


Related MCP server: Example Next.js MCP Server

Architecture Overview

CampaignOS exposes two primary interfaces powered by the same shared server-only domain service layer (lib/campaign/) and PostgreSQL database:

  1. Admin Web Interface (/admin): Interactive operations dashboard and registers for Work Items, Canon, Decisions, Visual Assets, Websites, Content Pieces, and Contacts.

  2. Remote MCP Server (/api/mcp): Stateless Model Context Protocol endpoint exposing 10 campaign management tools and bootstrap diagnostic tools for AI clients.

All mutations use optimistic concurrency control (expectedVersion) and record an auditable Activity entry in the same database transaction.


Environment Configuration

Configure the following variables in .env (or Vercel settings):

# PostgreSQL connection string for Prisma pg adapter
DATABASE_URL=postgresql://user:password@localhost:5432/campaignos

# Temporary unauthenticated test mode (must be exactly "true" to enable operations)
UNAUTHENTICATED_TEST_MODE=true

When UNAUTHENTICATED_TEST_MODE is not "true", the application fails closed: /admin shows a disabled notice and all MCP tool writes return a TEST_MODE_DISABLED error.


Local Development Quick Start

# 1. Install dependencies
pnpm install

# 2. Generate Prisma client
pnpm db:generate

# 3. Apply migrations to your local/dev database
pnpm db:migrate

# 4. Seed canonical Rejectionism data
pnpm db:seed

# 5. Start development server
pnpm dev

Visit:

  • Admin Dashboard: http://localhost:3000/admin

  • Health Diagnostic: http://localhost:3000/api/health

  • MCP Endpoint: http://localhost:3000/api/mcp


Connecting AI Clients (OpenAI Codex, Claude Desktop, ChatGPT)

OpenAI Codex / Claude Desktop / Cursor (claude_desktop_config.json):

{
  "mcpServers": {
    "rejectionism-campaign-os": {
      "url": "http://localhost:3000/api/mcp"
    }
  }
}

MCP Inspector (Interactive Tool Debugging):

npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp

Running the Smoke Client:

pnpm test:client -- http://localhost:3000

Next Mandatory Milestone

The first post-MVP milestone is implementing proper authentication and authorization (e.g. OAuth 2.0 / CIMD / session auth) to replace the temporary unauthenticated test mode.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A drop-in Model Context Protocol server implementation for Next.js projects that enables AI tools, prompts, and resources integration using the Vercel MCP Adapter.
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A template for building MCP servers in Next.js applications using the Vercel MCP Adapter. Provides a foundation for adding custom tools, prompts, and resources to any Next.js project with deployment support on Vercel.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A template for deploying Model Context Protocol servers as Next.js routes using the mcp-handler adapter, enabling easy integration of MCP tools, prompts, and resources into any Next.js application.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/monsteruk-crm/rejectionism-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server