neuroloom-mcp
MCP server that gives AI coding agents persistent memory via the Neuroloom knowledge graph API.
Install via pip
Requires Python 3.12+
pip install neuroloom-mcp
neuroloom-mcp install-plugin
Then restart Claude Code. The plugin and MCP server are configured together.
Set your API key with /plugins configure neuroloom in Claude Code.
To upgrade:
pip install --upgrade neuroloom-mcp
neuroloom-mcp install-plugin --force
Hosted (Cloud) Connection
The Neuroloom MCP server is available as a hosted service — no local installation required.
Public endpoint: https://mcp.neuroloom.dev/mcp
Prerequisites
You need a Neuroloom API key. Create one at app.neuroloom.dev/settings/api-keys.
Claude Code
Create .mcp.json in your project root (the directory where you run Claude Code):
{
"mcpServers": {
"neuroloom": {
"type": "http",
"url": "https://mcp.neuroloom.dev/mcp",
"headers": {
"Authorization": "Bearer nl_your_api_key_here"
}
}
}
}
Other MCP Clients
Any MCP client that supports HTTP (streamable HTTP) transport can connect using the url transport type and the Authorization header shown above.
Claude Desktop: Claude Desktop currently supports only the stdio transport. To use Neuroloom with Claude Desktop, follow the local stdio setup instructions below.
Verifying Your Connection
Check MCP server connectivity (unauthenticated):
curl https://mcp.neuroloom.dev/health
Expected response: {"status": "ok", "version": "0.1.0"} with HTTP 200.
Validate your API key against the Neuroloom API directly:
curl -H "Authorization: Token nl_your_api_key_here" https://api.neuroloom.dev/api/v1/workspaces/
HTTP 200 confirms the key is valid.
Note: MCP clients send
Authorization: Bearer <key>; the Neuroloom API usesAuthorization: Token <key>. The MCP server translates between the two schemes automatically.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
401 authentication_failed |
API key is invalid or revoked | Create a new key at app.neuroloom.dev/settings/api-keys |
503 upstream_unavailable |
Neuroloom API is temporarily down | Retry after a moment |
| Connection refused | MCP client doesn't support url (streamable HTTP) transport |
Check client docs; Claude Desktop only supports stdio |
| Connection timeout | Server unreachable or slow to respond | Check https://mcp.neuroloom.dev/health for availability |
| MCP client says it needs to complete an OAuth flow | Client is connecting to an older server version without the OAuth compatibility layer | Upgrade to the latest server version and retry |
OAuth Compatibility Layer
The server implements GET /.well-known/oauth-protected-resource as specified by RFC 9728. Some MCP clients (including newer versions of Claude Code) probe this endpoint before connecting to determine whether they need to start an OAuth authorization flow.
The handler returns an empty authorization_servers array, which signals to the client that no OAuth flow is needed — authentication is handled via the Authorization: Bearer <key> header that operators and developers already configure.
The implementation lives in neuroloom_mcp/server.py (oauth_protected_resource_handler). The route is registered without authentication middleware so the discovery probe is always reachable, even before a valid API key is presented.
Local Development (stdio)
For local use or Claude Desktop, install and run the MCP server as a stdio process.
Requires uv (Python package manager).
cd mcp && uv sync
Required environment variables
| Variable | Description |
|---|---|
MEMORIES_API_TOKEN |
API key generated from the Neuroloom dashboard |
MEMORIES_WORKSPACE_ID |
Workspace ID found under Settings > Workspaces |
MEMORIES_API_URL |
Neuroloom API URL (default: https://api.neuroloom.dev) |
# MEMORIES_API_URL=https://api.neuroloom.dev (default, override for local dev)
MEMORIES_API_TOKEN=your_api_key_here
MEMORIES_WORKSPACE_ID=your_workspace_id_here
Claude Code (stdio)
Add to your project's .mcp.json:
{
"mcpServers": {
"neuroloom": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "/path/to/neuroloom/mcp", "run", "neuroloom-mcp"],
"env": {
"MEMORIES_API_TOKEN": "your_api_key_here",
"MEMORIES_WORKSPACE_ID": "your_workspace_id_here"
}
}
}
}
Replace /path/to/neuroloom/mcp with the absolute path to the mcp/ directory in your local clone.
Documentation
Full setup guide and configuration reference: https://neuroloom.dev/docs
Metadata
Release files for neuroloom-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| neuroloom_mcp-0.1.0.tar.gz | 75.5 kB | With provenance | Details for neuroloom_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| neuroloom_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for neuroloom_mcp-0.1.0-py3-none-any.whl |
Total release size: 129.3 kB
Release files / neuroloom_mcp-0.1.0.tar.gz
| Download URL | neuroloom_mcp-0.1.0.tar.gz |
|---|---|
| Size | 75.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
730d932b621aa6114a6f4d6df196df97b7008493aeda4e471a86fa5b570ec6d1
|
|
BLAKE2b-256 checksum How to use checksums |
9b6226463cd49459de884ec3ea40c8f5e47d01fe58d38c3e2fa8ed205c503b5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / neuroloom_mcp-0.1.0-py3-none-any.whl
| Download URL | neuroloom_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 53.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce5df0632eb1e0c3557a3494b5045e2e019a94cf0ce6b9dd724a94750904841c
|
|
BLAKE2b-256 checksum How to use checksums |
3b535e1885148a5f2d61e26e500299af5f3fca730e92461ea086a9840e997120
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logSecurity for neuroloom-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for neuroloom_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.