Skip to content

sanlty/standardnotesMCP

Repository files navigation

Standard Notes MCP Server

A Model Context Protocol (MCP) server that provides Claude with read and write access to your Standard Notes account. This enables persistent memory, conversation storage, and seamless note management directly from Claude conversations.

Features

📖 Read Operations

  • Search Notes: Find notes by content or title
  • Get Notes by Tag: Retrieve all notes with specific tags
  • Get All Notes: List all notes with optional limits

✍️ Write Operations

  • Create Notes: Add new notes with titles, content, and tags
  • Update Notes: Modify existing note content, titles, or tags
  • Append to Notes: Add content to existing notes
  • Delete Notes: Remove notes from your account

Installation

  1. Clone and Setup

    git clone <repository-url>
    cd standard-notes-mcp
    npm install
  2. Configure Environment

    cp .env.example .env
    # Edit .env with your Standard Notes credentials
  3. Build the Server

    npm run build

Configuration

Environment Variables

Create a .env file with your Standard Notes credentials:

# Standard Notes API Configuration
SN_SERVER_URL=https://api.standardnotes.com
SN_EMAIL=your-email@example.com
SN_PASSWORD=your-password

# Optional: For self-hosted instances
# SN_SERVER_URL=https://your-selfhosted-instance.com

# MCP Server Configuration (optional)
MCP_SERVER_NAME=standard-notes-mcp
MCP_SERVER_VERSION=1.0.0
DEBUG=false
LOG_LEVEL=info

Claude Desktop Integration

Add this server to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "standard-notes": {
      "command": "node",
      "args": ["/path/to/standard-notes-mcp/dist/index.js"],
      "env": {
        "SN_SERVER_URL": "https://api.standardnotes.com",
        "SN_EMAIL": "your-email@example.com",
        "SN_PASSWORD": "your-password"
      }
    }
  }
}

Usage Examples

Daily Briefing Integration

Hey Claude, save our daily briefing conversation to Standard Notes with the tag "daily-briefing"

Conversation Persistence

Claude, create a note called "Project Ideas - September 2025" and save our discussion about the MCP server project

Context Retrieval

Claude, search my notes for "workout optimization" and use that context for today's fitness recommendations

Meeting Notes

Claude, create a note for today's team meeting and include the action items we discussed

Available Tools

search_notes

Search for notes by text content or title.

{
  "query": "daily briefing"
}

get_notes_by_tag

Get all notes with a specific tag.

{
  "tag": "meeting-notes"
}

create_note

Create a new note with optional tags.

{
  "title": "Daily Briefing - Sept 11, 2025",
  "content": "Today's schedule and priorities...",
  "tags": ["daily-briefing", "automation"]
}

update_note

Update an existing note's content, title, or tags.

{
  "note_uuid": "abc123-def456",
  "title": "Updated Title",
  "content": "New content..."
}

append_to_note

Add content to an existing note.

{
  "note_uuid": "abc123-def456",
  "content": "Additional information to append..."
}

get_all_notes

Retrieve all notes with optional limit.

{
  "limit": 50
}

Integration with Daily Briefing System

This MCP server is designed to work seamlessly with Austin's existing daily briefing PowerShell script. Here's how to integrate:

Enhanced PowerShell Script

# Add to your existing DailyBriefingScript.ps1

# Function to save briefing to Standard Notes via Claude
function Save-BriefingToStandardNotes {
    param([string]$BriefingContent, [string]$Date)
    
    # Use Claude with MCP to save the briefing
    $prompt = @"
Claude, please save this daily briefing to Standard Notes:

Title: Daily Briefing - $Date
Tags: daily-briefing, automation, calendar-sync
Content:
$BriefingContent

Also, search for any previous briefings from this week and note any recurring patterns or suggestions.
"@
    
    # Call Claude API with the enhanced prompt
    # (Your existing Claude API call code here)
}

Conversation Memory

The MCP server enables Claude to:

  • Remember previous conversations and insights
  • Build patterns over time about your preferences
  • Reference past recommendations and their effectiveness
  • Maintain context across multiple briefing sessions

Security Considerations

  • Store credentials securely using environment variables
  • Consider using Standard Notes' secure password or dedicated app password
  • The MCP server runs locally and communicates directly with Standard Notes
  • No conversation data is stored externally beyond your Standard Notes account

Troubleshooting

Authentication Issues

  • Verify your Standard Notes email and password
  • Check if two-factor authentication is enabled (may require app password)
  • Ensure the server URL is correct for your instance

Connection Problems

  • Check network connectivity to Standard Notes servers
  • Verify firewall settings allow outbound HTTPS connections
  • For self-hosted instances, ensure the server is accessible

Claude Integration

  • Restart Claude Desktop after configuration changes
  • Check the Claude Desktop logs for MCP server connection status
  • Verify the path to the compiled server is correct

Development

Running in Development Mode

npm run dev

Building for Production

npm run build
npm start

Testing

npm test

License

MIT License - feel free to modify and distribute as needed.

Contributing

This project is designed for Austin Keenan's personal daily briefing system, but contributions and improvements are welcome!

About

This is an MCP for use with Claude Desktop that connects to Standard Notes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors