Skip to main content

mem0-selfhosted-fastmcp

Thin FastMCP bridge for a self-hosted Mem0 REST API.

It fetches the live OpenAPI spec from a Mem0 server, prunes it to the useful memory operations, and exposes those endpoints as MCP tools for OpenCode or other MCP clients.

Implementation note:

  • this uses FastMCP's official OpenAPI integration via FastMCP.from_openapi
  • there is no handwritten MCP protocol layer here; the bridge is generated from the live Mem0 OpenAPI spec at startup and then lightly curated (path pruning plus friendly MCP tool names)

Scope

Exposed tools:

  • add_memory
  • list_memories
  • search_memories
  • get_memory
  • update_memory
  • delete_memory
  • delete_all_memories
  • memory_history
  • list_entities
  • delete_entity

Excluded on purpose:

  • auth/login/refresh flows
  • setup/bootstrap endpoints
  • admin/configure/request-log endpoints

Environment

Required:

  • MEM0_BASE_URL (default: http://mem0-memory:8765)
  • one of:
    • MEM0_API_KEY (sent as X-API-Key)
    • MEM0_BEARER_TOKEN (sent as Authorization: Bearer ...)

Optional:

  • FASTMCP_TRANSPORT (stdio by default)
  • HOST / PORT for HTTP transports

Install

Published package:

Install with uvx (recommended for MCP clients):

uvx mem0-selfhosted-fastmcp --help

Install into a Python environment:

uv pip install mem0-selfhosted-fastmcp

or:

pip install mem0-selfhosted-fastmcp

Usage

Stdio mode for OpenCode-style spawning:

MEM0_BASE_URL=http://mem0-memory:8765 \
MEM0_API_KEY=... \
uvx mem0-selfhosted-fastmcp

Dump the pruned OpenAPI used for generation:

MEM0_BASE_URL=http://mem0-memory:8765 \
MEM0_API_KEY=... \
uvx mem0-selfhosted-fastmcp --dump-openapi

Run as HTTP MCP server:

MEM0_BASE_URL=http://mem0-memory:8765 \
MEM0_API_KEY=... \
uvx mem0-selfhosted-fastmcp --transport streamable-http --port 8081

Maintenance

Because the bridge loads the live OpenAPI spec at startup, many Mem0 API changes are picked up automatically without code generation. The places most likely to need manual updates are:

  • path allowlist changes in server.py
  • operationId -> MCP name mappings when upstream operationIds change
  • auth header strategy if Mem0 auth changes

Helpful targets:

make sync              # install/update dependencies
make dump-openapi      # print the pruned live OpenAPI used by the bridge
make snapshot-openapi  # save the current pruned live OpenAPI to generated/
make check-live        # smoke-test server creation against the live Mem0 API
make run               # stdio mode for OpenCode
make run-http          # streamable-http mode for shared/server use

OpenCode MCP example

[servers.mem0]
transport = "stdio"
command = "uvx"
args = ["mem0-selfhosted-fastmcp"]
env.MEM0_BASE_URL = "http://mem0-memory:8765"
env.MEM0_API_KEY = "${MEM0_API_KEY}"

For a pinned version:

[servers.mem0]
transport = "stdio"
command = "uvx"
args = ["mem0-selfhosted-fastmcp==0.1.1"]
env.MEM0_BASE_URL = "http://mem0-memory:8765"
env.MEM0_API_KEY = "${MEM0_API_KEY}"

Metadata

Release files for mem0-selfhosted-fastmcp 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 mem0-selfhosted-fastmcp 0.1.4
File Size Uploaded
mem0_selfhosted_fastmcp-0.1.4.tar.gz 53.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mem0-selfhosted-fastmcp 0.1.4
File Interpreter ABI Platform
mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 59.1 kB

Release files / mem0_selfhosted_fastmcp-0.1.4.tar.gz

Download URL mem0_selfhosted_fastmcp-0.1.4.tar.gz
Size 53.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9d5567ade5617d753694d7ae554b1a7da675615f6dab0cbbaa65bd86f48446c8
BLAKE2b-256 checksum
How to use checksums
b8d22cc531db2db6a102a8fe9aca5be6f2ee3bd39e6c32b9cc096866204b171e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 / mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl

Download URL mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08c2576d73921ddfc570c00fb70e6108e006515843d13f569f00bb19d1c9ea7a
BLAKE2b-256 checksum
How to use checksums
1fc89cd0637084595de4bea26552af88e800e279cbf2f5615113ccb4da26b0dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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

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

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