Skip to main content

Model Context Protocol (MCP) server for usememos/memos

Project description

Memos MCP Server

A Model Context Protocol (MCP) server to interact with usememos/memos (an open-source, self-hosted memo hub). Built using the official Python MCP SDK with FastMCP and Pydantic v2 for type-safe validation.

Features

This server exposes a set of tools to any MCP-compatible client (e.g., Claude Desktop, Cursor) allowing them to manage your Memos instance:

  • Get User Info: Retrieve details about the authenticated user and verify connectivity.
  • List Memos: List memos with support for sorting, state filtering (NORMAL/ARCHIVED), and pagination.
  • Get Memo: Fetch a specific memo by ID or resource name.
  • Create Memo: Create new memos with optional visibility (PRIVATE, PROTECTED, PUBLIC) and pinning.
  • Update Memo: Update existing memo content, visibility, pin state, or archival status.
  • Delete Memo: Permanently delete a memo.
  • Search Memos: Easily search memos by content text and/or hashtags.

Prerequisites

  • Python: >=3.14 (configured via pyproject.toml)
  • uv: Modern Python package manager
  • Memos: A running Memos instance (compatible with Memos v1 API)
  • Access Token: A Personal Access Token (PAT) from your Memos account settings

Setup

  1. Clone the Repository
  2. Create Environment Configuration Copy the example environment file:
    cp .example.env .env
    
    Edit .env and fill in your Memos server details:
    MEMOS_URL="https://your-memos-instance.com"
    MEMOS_TOKEN="your_personal_access_token_here"
    

Configuration

To integrate this server with Claude Desktop, add the following configuration to your Claude Desktop config file (typically ~/Library/Application Support/Claude/claude_desktop_config.json on macOS).

Option 1: Running with uvx (Recommended, no cloning required)

You can run the server directly from PyPI using uvx without setting up a local repository:

{
  "mcpServers": {
    "memos": {
      "command": "uvx",
      "args": ["rmc-memos-mcp"],
      "env": {
        "MEMOS_URL": "https://your-memos-instance.com",
        "MEMOS_TOKEN": "your_personal_access_token_here"
      }
    }
  }
}

Option 2: Running from Local Source

If you are developing locally and want to run the server from this cloned repository, use the following configuration:

{
  "mcpServers": {
    "memos": {
      "command": "uv",
      "args": ["run", "-m", "memos_mcp"],
      "cwd": "/absolute/path/to/memos_mcp",
      "env": {
        "MEMOS_URL": "https://your-memos-instance.com",
        "MEMOS_TOKEN": "your_personal_access_token_here"
      }
    }
  }
}

Make sure to replace /absolute/path/to/memos_mcp with your actual directory path.

Development & Testing

This project uses uv for dependency management, and includes linting, type-checking, and test tools.

Installing Dependencies

uv sync

Running Linter and Formatter (Ruff)

uv run ruff check .

Running Type Checker (Mypy)

uv run mypy .

Running Unit Tests (Pytest)

PYTHONPATH=src uv run pytest

Debugging with MCP Inspector

You can debug the MCP server interactively using the official Inspector tool:

npx @modelcontextprotocol/inspector uv run -m memos_mcp

This launches a web interface to test the tools manually.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rmc_memos_mcp-0.1.1.tar.gz (44.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rmc_memos_mcp-0.1.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file rmc_memos_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: rmc_memos_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 44.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rmc_memos_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e1ec404c08bd229bc908703574a912b57a0d2527ac80f5bf22d1025308394a5f
MD5 0542f30b86af8996e8efb5ca7cb7ebcf
BLAKE2b-256 4ecc3b6a1960a89110204aee8261c841ec69c68a08a7b203053be50078833e51

See more details on using hashes here.

File details

Details for the file rmc_memos_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rmc_memos_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rmc_memos_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5a5d745c5ed65b1957e737f5aca508292bd3e5121e7d2afebcd77f57114a53f
MD5 8339ecf9c90b7df942e3ebc94a758a1a
BLAKE2b-256 c3eeb87fbd2496b58783982b192ed9fdc8bb636237b4dab0efe830875b66b92f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page