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_memorylist_memoriessearch_memoriesget_memoryupdate_memorydelete_memorydelete_all_memoriesmemory_historylist_entitiesdelete_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 asX-API-Key)MEM0_BEARER_TOKEN(sent asAuthorization: Bearer ...)
Optional:
FASTMCP_TRANSPORT(stdioby default)HOST/PORTfor 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d5567ade5617d753694d7ae554b1a7da675615f6dab0cbbaa65bd86f48446c8
|
|
| MD5 |
f646ea1ac2908e196eaa52589f726149
|
|
| BLAKE2b-256 |
b8d22cc531db2db6a102a8fe9aca5be6f2ee3bd39e6c32b9cc096866204b171e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08c2576d73921ddfc570c00fb70e6108e006515843d13f569f00bb19d1c9ea7a
|
|
| MD5 |
68303f12c7ca2958436c12e16b789974
|
|
| BLAKE2b-256 |
1fc89cd0637084595de4bea26552af88e800e279cbf2f5615113ccb4da26b0dc
|