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):

{
  "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 and settings with your actual values.

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.0.tar.gz (44.3 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.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rmc_memos_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 44.3 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.0.tar.gz
Algorithm Hash digest
SHA256 52567107b667a568db539dd15b35e1bf8982e9be5ee6d04b12547d2593190d0f
MD5 2dd08ace09cc810705e09586eae624fb
BLAKE2b-256 43248c85264c36e6065a1a6d10a622939417c6eb40b391b7639aaea7852da97f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rmc_memos_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00f4fa51e487318c7f0d1f98bccad939aa3f06b77f31437e03fc0c977be6538f
MD5 0308786bdf86964a11a37831c4484a35
BLAKE2b-256 317ec42972fcab05f10b3c14bcfee1077855408f13ae5bcb086d1e532c7ed4f6

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