SoluCortex MCP
Official Model Context Protocol server for SoluCortex — living technical memory for AI agents.
Connect any MCP-compatible agent (Claude Code, Claude Desktop, Cursor, Codex, Cline, …) to your SoluCortex project so it can recall the decisions, conventions, risks and architecture that matter before it works, and remember what it learns when it's done.
Tools
| Tool | What it does | When to use |
|---|---|---|
solucortex_recall |
Builds living context for a task (ranked by semantic similarity + importance) | At the start of a task, before touching code |
solucortex_search |
Ad-hoc semantic search over the project's memories | Specific questions mid-task |
solucortex_remember |
Records a memory (stored approved + traced as an authorized agent) |
At close, or on a relevant technical decision |
solucortex_list_memories |
Lists memories without semantic search | Quick inspection / audit |
Requirements
- A SoluCortex account and a project API key (prefix
scx_) — get it from your SoluCortex dashboard. - One of:
uv(recommended), Python ≥ 3.10, or Docker.
Configuration
stdio mode (default, local)
The server is configured entirely through environment variables:
| Variable | Required | Description |
|---|---|---|
SOLUCORTEX_API_KEY |
✅ | Project API key (scx_…) |
SOLUCORTEX_PROJECT_ID |
optional | Default project UUID; if omitted, the backend infers it from the API key |
SOLUCORTEX_URL |
optional | API base URL. Default https://solucortex.ai |
HTTP mode (remote, multi-tenant)
Run with MCP_TRANSPORT=http (or --http) to serve Streamable HTTP on $PORT
(default 8080) — the mode behind https://mcp.solucortex.ai. Credentials travel with
each request and the environment is ignored:
| Header | Required | Description |
|---|---|---|
Authorization: Bearer scx_… |
✅ | The caller's project API key (401 without it) |
X-Solucortex-Project |
optional | Default project UUID; if omitted, the backend infers it from the API key |
GET /health (and /healthz locally; Cloud Run's frontend intercepts /healthz) responds without auth. The MCP endpoint is
/mcp, runs stateless, and shares nothing between requests/tenants.
Never commit your API key. Keep it in your MCP client config's env block or a local .env
(see .env.example).
Install
Remote (recommended — nothing to install)
The hosted server at https://mcp.solucortex.ai/mcp speaks Streamable HTTP; your key
travels with each request:
claude mcp add --transport http solucortex https://mcp.solucortex.ai/mcp \
--header "Authorization: Bearer scx_xxx" \
--header "X-Solucortex-Project: your-project-uuid"
Or in any client with remote MCP support:
{
"mcpServers": {
"solucortex": {
"type": "http",
"url": "https://mcp.solucortex.ai/mcp",
"headers": {
"Authorization": "Bearer scx_xxx",
"X-Solucortex-Project": "your-project-uuid"
}
}
}
}
Claude Code (local, stdio)
claude mcp add solucortex \
-e SOLUCORTEX_API_KEY=scx_xxx \
-e SOLUCORTEX_PROJECT_ID=your-project-uuid \
-- uvx --from git+https://github.com/soluai-spa/solucortex-mcp solucortex-mcp
(Once published to PyPI: replace the command with uvx solucortex-mcp.)
Claude Desktop / Cursor / Cline (JSON config)
Add to the client's MCP config (claude_desktop_config.json, Cursor mcp.json, etc.):
{
"mcpServers": {
"solucortex": {
"command": "uvx",
"args": ["--from", "git+https://github.com/soluai-spa/solucortex-mcp", "solucortex-mcp"],
"env": {
"SOLUCORTEX_API_KEY": "scx_xxx",
"SOLUCORTEX_PROJECT_ID": "your-project-uuid"
}
}
}
}
From a local clone
git clone https://github.com/soluai-spa/solucortex-mcp
cd solucortex-mcp
cp .env.example .env # fill in your key
./run.sh # loads .env, then runs via uv
# or, with SOLUCORTEX_* already exported: uv run solucortex-mcp
Docker
docker build -t solucortex-mcp .
docker run --rm -i \
-e SOLUCORTEX_API_KEY=scx_xxx \
-e SOLUCORTEX_PROJECT_ID=your-project-uuid \
solucortex-mcp
The server speaks MCP over stdio, so clients launch it as a subprocess (-i keeps stdin open).
Development
uv sync
uv run solucortex-mcp # run (stdio)
MCP_TRANSPORT=http uv run solucortex-mcp # run (HTTP on :8080)
uv run pytest # test suite
npx @modelcontextprotocol/inspector uv run solucortex-mcp # interactive test
Notes
- Memory
typevocabulary: the canonical set isarchitecture, decision, risk, convention, bug_history, tech_debt, sensitive_module, learning, external_integration. Some backends accept an older set (technical_decision, historical_bug, current_state, task_closure). The server passestypethrough and surfacesHTTP 422so you can retry with the other set. - Never store real secrets in a memory. Record location, type, severity and action taken instead.
License
MIT — see LICENSE.
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 solucortex_mcp-1.0.0.tar.gz.
File metadata
- Download URL: solucortex_mcp-1.0.0.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3b8ef3ab8201eaa11e621ad59869b6ff7a9d18479b267879bafba69b37cf99e
|
|
| MD5 |
87d02ee3377299f8153fb4dfebf17a08
|
|
| BLAKE2b-256 |
b99e4d17efb0df0c29e09b573b37ebecdcd5f696ee7e7bafdb08dc013e3fcd14
|
Provenance
The following attestation bundles were made for solucortex_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on soluai-spa/solucortex-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
solucortex_mcp-1.0.0.tar.gz -
Subject digest:
a3b8ef3ab8201eaa11e621ad59869b6ff7a9d18479b267879bafba69b37cf99e - Sigstore transparency entry: 2606675648
- Sigstore integration time:
-
Permalink:
soluai-spa/solucortex-mcp@240e0f6290693206d092b7daf793348607e01069 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/soluai-spa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@240e0f6290693206d092b7daf793348607e01069 -
Trigger Event:
push
-
Statement type:
File details
Details for the file solucortex_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: solucortex_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ba32d198edf11adda43583a17bf59d01eb20e2260b4477fe658715d617a87f3
|
|
| MD5 |
25d6ab26f696938294d610f39309f1e5
|
|
| BLAKE2b-256 |
94d8cfb6dcd0a05cef9a28f55cda4c10c2f9ca13248ccec2e46a9dcb6e633a98
|
Provenance
The following attestation bundles were made for solucortex_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on soluai-spa/solucortex-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
solucortex_mcp-1.0.0-py3-none-any.whl -
Subject digest:
7ba32d198edf11adda43583a17bf59d01eb20e2260b4477fe658715d617a87f3 - Sigstore transparency entry: 2606676729
- Sigstore integration time:
-
Permalink:
soluai-spa/solucortex-mcp@240e0f6290693206d092b7daf793348607e01069 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/soluai-spa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@240e0f6290693206d092b7daf793348607e01069 -
Trigger Event:
push
-
Statement type: