supabase-nextjs-mcp-server

MCP.Pizza Chef: tengfone

The supabase-nextjs-mcp-server is a TypeScript-based Model Context Protocol server designed for NextJS applications. It implements a simple notes system that demonstrates core MCP concepts by exposing resources representing text notes with URIs and metadata. The server supports listing and accessing notes via note:// URIs, with each note containing a title, content, and metadata in plain text format. It also provides tools such as 'create_note' for creating new text notes and prompts for generating summaries of notes. The server requires environment variables NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY for initialization, making it a practical example of integrating MCP with Supabase and NextJS for real-time, structured context management.

Use This MCP server To

Manage and access text notes via MCP resources Create new notes programmatically with MCP tools Generate summaries of notes using MCP prompts Integrate MCP with NextJS and Supabase environments Demonstrate MCP resource and tool concepts in TypeScript

README

supabase-nextjs-server MCP Server

smithery badge

A Model Context Protocol server

This is a TypeScript-based MCP server that implements a simple notes system for NextJS. It demonstrates core MCP concepts by providing:

  • Resources representing text notes with URIs and metadata
  • Tools for creating new notes
  • Prompts for generating summaries of notes

Supabase NextJS Server MCP server

Features

Init

  • Require NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY environment variables

Resources

  • List and access notes via note:// URIs
  • Each note has a title, content and metadata
  • Plain text mime type for simple content access

Tools

  • create_note - Create new text notes
    • Takes title and content as required parameters
    • Stores note in server state

Prompts

  • summarize_notes - Generate a summary of all stored notes
    • Includes all note contents as embedded resources
    • Returns structured prompt for LLM summarization

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "supabase-nextjs-server": {
      "command": "/path/to/supabase-nextjs-server/build/index.js"
    }
  }
}

Installing via Smithery

To install Supabase Notes for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @tengfone/supabase-nextjs-mcp-server --client claude

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

supabase-nextjs-mcp-server FAQ

How do I initialize the supabase-nextjs-mcp-server?
Set the environment variables NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY before running the server.
What kind of resources does this MCP server expose?
It exposes text notes as resources accessible via note:// URIs, each with a title, content, and metadata.
Can I create new notes using this MCP server?
Yes, it provides a 'create_note' tool to programmatically create new text notes.
What format is used for note content?
Notes use plain text MIME type for simple content access.
Is this MCP server specific to any frontend framework?
It is designed for NextJS but can be adapted to other frameworks with MCP support.
Does this server support generating summaries of notes?
Yes, it includes prompts for generating summaries of notes.
What programming language is this MCP server written in?
It is implemented in TypeScript.
Can this MCP server work with different LLM providers?
Yes, it is compatible with models from OpenAI, Claude, Gemini, and others through MCP.