Skip to main content

FastMCP bridge for a self-hosted Mem0 REST API

Project description

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}"

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

mem0_selfhosted_fastmcp-0.1.4.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

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

mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file mem0_selfhosted_fastmcp-0.1.4.tar.gz.

File metadata

  • Download URL: mem0_selfhosted_fastmcp-0.1.4.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for mem0_selfhosted_fastmcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9d5567ade5617d753694d7ae554b1a7da675615f6dab0cbbaa65bd86f48446c8
MD5 f646ea1ac2908e196eaa52589f726149
BLAKE2b-256 b8d22cc531db2db6a102a8fe9aca5be6f2ee3bd39e6c32b9cc096866204b171e

See more details on using hashes here.

File details

Details for the file mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for mem0_selfhosted_fastmcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 08c2576d73921ddfc570c00fb70e6108e006515843d13f569f00bb19d1c9ea7a
MD5 68303f12c7ca2958436c12e16b789974
BLAKE2b-256 1fc89cd0637084595de4bea26552af88e800e279cbf2f5615113ccb4da26b0dc

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