supabase nextjs mcp server
A TypeScript-based MCP server for handling a simple notes system with NextJS that supports creating and summarizing text notes using MCP concepts.
A TypeScript-based MCP server for handling a simple notes system with NextJS that supports creating and summarizing text notes using MCP concepts.
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:
NEXT_PUBLIC_SUPABASE_URL
and NEXT_PUBLIC_SUPABASE_ANON_KEY
environment variablesnote://
URIscreate_note
- Create new text notessummarize_notes
- Generate a summary of all stored notesInstall dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
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"
}
}
}
To install Supabase Notes for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @tengfone/supabase-nextjs-mcp-server --client claude
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.
[
{
"description": "Query data from Supabase",
"inputSchema": {
"properties": {
"filters": {
"type": "object"
},
"select": {
"type": "string"
},
"table": {
"type": "string"
}
},
"required": [
"table"
],
"type": "object"
},
"name": "query_data"
},
{
"description": "Insert a record into Supabase",
"inputSchema": {
"properties": {
"data": {
"type": "object"
},
"table": {
"type": "string"
}
},
"required": [
"table",
"data"
],
"type": "object"
},
"name": "insert_record"
},
{
"description": "Update a record in Supabase",
"inputSchema": {
"properties": {
"data": {
"type": "object"
},
"filters": {
"type": "object"
},
"table": {
"type": "string"
}
},
"required": [
"table",
"filters",
"data"
],
"type": "object"
},
"name": "update_record"
},
{
"description": "Delete a record from Supabase",
"inputSchema": {
"properties": {
"filters": {
"type": "object"
},
"table": {
"type": "string"
}
},
"required": [
"table",
"filters"
],
"type": "object"
},
"name": "delete_record"
}
]