MCP server that gives AI coding agents persistent memory via the Neuroloom API
Project description
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
Project details
Release history Release notifications | RSS feed
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 neuroloom_mcp-0.1.0.tar.gz.
File metadata
- Download URL: neuroloom_mcp-0.1.0.tar.gz
- Upload date:
- Size: 75.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
730d932b621aa6114a6f4d6df196df97b7008493aeda4e471a86fa5b570ec6d1
|
|
| MD5 |
e2942c3c7659b21b60722d1a6f0f1e73
|
|
| BLAKE2b-256 |
9b6226463cd49459de884ec3ea40c8f5e47d01fe58d38c3e2fa8ed205c503b5d
|
Provenance
The following attestation bundles were made for neuroloom_mcp-0.1.0.tar.gz:
Publisher:
publish-mcp.yml on endless-galaxy-studios/neuroloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
neuroloom_mcp-0.1.0.tar.gz -
Subject digest:
730d932b621aa6114a6f4d6df196df97b7008493aeda4e471a86fa5b570ec6d1 - Sigstore transparency entry: 1241875657
- Sigstore integration time:
-
Permalink:
endless-galaxy-studios/neuroloom@bb579106d6b3e6ce6dc0a05507e3faf9b0f26bf4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/endless-galaxy-studios
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mcp.yml@bb579106d6b3e6ce6dc0a05507e3faf9b0f26bf4 -
Trigger Event:
repository_dispatch
-
Statement type:
File details
Details for the file neuroloom_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: neuroloom_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 53.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce5df0632eb1e0c3557a3494b5045e2e019a94cf0ce6b9dd724a94750904841c
|
|
| MD5 |
71458a17636289b27be867744deb2604
|
|
| BLAKE2b-256 |
3b535e1885148a5f2d61e26e500299af5f3fca730e92461ea086a9840e997120
|
Provenance
The following attestation bundles were made for neuroloom_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish-mcp.yml on endless-galaxy-studios/neuroloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
neuroloom_mcp-0.1.0-py3-none-any.whl -
Subject digest:
ce5df0632eb1e0c3557a3494b5045e2e019a94cf0ce6b9dd724a94750904841c - Sigstore transparency entry: 1241875760
- Sigstore integration time:
-
Permalink:
endless-galaxy-studios/neuroloom@bb579106d6b3e6ce6dc0a05507e3faf9b0f26bf4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/endless-galaxy-studios
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mcp.yml@bb579106d6b3e6ce6dc0a05507e3faf9b0f26bf4 -
Trigger Event:
repository_dispatch
-
Statement type: