Skip to main content

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.

Release files for rmc-memos-mcp 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rmc-memos-mcp 0.1.4
File Size Uploaded
rmc_memos_mcp-0.1.4.tar.gz 90.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rmc-memos-mcp 0.1.4
File Interpreter ABI Platform
rmc_memos_mcp-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 98.7 kB

Release files / rmc_memos_mcp-0.1.4.tar.gz

Download URL rmc_memos_mcp-0.1.4.tar.gz
Size 90.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cd85cdc948d581cecdf45923322edbeeaa48fb649d396a00bd9266cd03102bdd
BLAKE2b-256 checksum
How to use checksums
2fbfb3434a9a5efd6fab1f448961fa7de1c761e3d40f50345d6c21ce77a2631d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rmc_memos_mcp-0.1.4-py3-none-any.whl

Download URL rmc_memos_mcp-0.1.4-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaccf59cd2e05499505fbca6c202eba28d978c6d6cc4d7fee5eb952adc5ad505
BLAKE2b-256 checksum
How to use checksums
3a78186894733f16c8748135b107c65ed29179af1f5efd479be49d92a40b6914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page