{"name":"io.github.soluai-spa/solucortex-mcp","slug":"soluai-spa-solucortex-mcp","title":null,"description":"Living technical memory for AI agents: recall approved project context, record what was learned.","url":"https://mcp.market/server/soluai-spa-solucortex-mcp","rating":null,"grade":"A","score":90,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-07T17:03:08.000Z","license":"MIT"},"uptime":{"percent":100,"checks":5,"ok":5,"last_checked_at":"2026-09-20T18:26:03.938Z","last_ok_at":"2026-09-20T18:26:03.938Z","latency_ms":464},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/soluai-spa/solucortex-mcp","website":null,"version":"1.1.2","remotes":[{"type":"streamable-http","url":"https://mcp.solucortex.ai/mcp","headers":[{"description":"Bearer <your SoluCortex project API key (scx_...)>. Get one at https://solucortex.ai.","isRequired":true,"isSecret":true,"name":"Authorization"},{"description":"Default project UUID. Optional: the backend infers it from the API key.","name":"X-Solucortex-Project"}]}],"packages":[{"registryType":"pypi","identifier":"solucortex-mcp","version":"1.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"SoluCortex project API key (scx_...). Get one at https://solucortex.ai.","isRequired":true,"isSecret":true,"name":"SOLUCORTEX_API_KEY"},{"description":"Default project UUID. Optional: the backend infers it from the API key.","name":"SOLUCORTEX_PROJECT_ID"}]}],"tools":[{"name":"solucortex_flag_memory","description":"Flag a memory as outdated/incorrect (POST /memories/{id}/flag).\n\n    The memory is marked for human review in the SoluCortex panel; nothing is\n    deleted or unpublished. ALWAYS tell the user a memory awaits their decision\n    in the panel. Deletion is human-only by design.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"memory_id":{"description":"UUID of the memory to flag.","title":"Memory Id","type":"string"},"reason":{"description":"Why it needs review: outdated, incorrect, duplicated... (10-500 chars).","maxLength":500,"minLength":10,"title":"Reason","type":"string"},"suggested_action":{"default":"review","description":"What you suggest the human does: update, archive, delete or review.","title":"Suggested Action","type":"string"}},"required":["memory_id","reason"],"title":"solucortex_flag_memoryArguments"}},{"name":"solucortex_list_memories","description":"List the project's memories without semantic search (GET /memories).\n\n    Useful for quick inspection/audit or to confirm a just-created memory was stored.\n    Does not consume OpenAI quota.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"default":20,"description":"Max memories to return.","maximum":100,"minimum":1,"title":"Limit","type":"integer"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Project UUID. If omitted, the session default applies, else the backend infers it from the API key.","title":"Project Id"}},"title":"solucortex_list_memoriesArguments"}},{"name":"solucortex_recall","description":"Build living context for a task (POST /context/build).\n\n    Call this at the START of a task, before touching code: returns approved, active\n    memories (decisions, conventions, risks, sensitive modules, architecture) ranked by\n    semantic similarity + importance. Uses OpenAI embeddings (slower, 20 req/min).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"Describe the current task/module in natural language, e.g. 'implement API key rotation in the secrets module'. Used to semantically retrieve the most relevant memories.","title":"Query","type":"string"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Project UUID. If omitted, the session default applies, else the backend infers it from the API key.","title":"Project Id"}},"required":["query"],"title":"solucortex_recallArguments"}},{"name":"solucortex_remember","description":"Record a memory in SoluCortex (POST /memories).\n\n    Call when closing a task or making a relevant technical decision. As an authorized\n    agent (Bearer api_key), the memory is stored with status 'approved' and traced. Never\n    store real secrets: if you find one, record location/type/severity and action taken,\n    with a redacted reference.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"description":"Memory type. The backend validates the value. Canonical vocabulary: architecture, decision, risk, convention, bug_history, tech_debt, sensitive_module, learning, external_integration. (Older backends may use technical_decision, historical_bug, current_state, task_closure.) On HTTP 422, retry with the alternate vocabulary.","title":"Type","type":"string"},"title":{"description":"Short, clear title (~80 chars max).","maxLength":120,"title":"Title","type":"string"},"content":{"description":"Full content: what to remember, why it matters, where it applies and what it prevents. NEVER include real secrets (tokens, passwords, .env, credentials).","title":"Content","type":"string"},"importance":{"default":5,"description":"Priority 1-10. Default 5. 6-7 high; 8-9 important decision/risk/convention; 10 critical.","maximum":10,"minimum":1,"title":"Importance","type":"integer"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Project UUID. If omitted, the session default applies, else the backend infers it from the API key.","title":"Project Id"}},"required":["type","title","content"],"title":"solucortex_rememberArguments"}},{"name":"solucortex_search","description":"Ad-hoc semantic search of memories (POST /search/semantic).\n\n    Use for specific questions during a task (e.g. 'how is authentication implemented?'),\n    distinct from recall which builds the full startup context. Uses OpenAI embeddings\n    (20 req/min).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"Question or topic to search across the project's memories.","title":"Query","type":"string"},"limit":{"default":10,"description":"Max memories to return.","maximum":50,"minimum":1,"title":"Limit","type":"integer"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Project UUID. If omitted, the session default applies, else the backend infers it from the API key.","title":"Project Id"}},"required":["query"],"title":"solucortex_searchArguments"}},{"name":"solucortex_update_memory","description":"Correct an existing memory (PATCH /memories/{id}).\n\n    Agents propose, humans govern: the edit is applied but the memory returns to\n    PENDING until a human re-approves it. ALWAYS tell the user the change awaits\n    their approval in the SoluCortex panel. Status changes are not possible here.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"memory_id":{"description":"UUID of the memory to correct.","title":"Memory Id","type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Corrected full content.","title":"Content"},"title":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"default":null,"description":"Corrected title.","title":"Title"},"importance":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Corrected priority 1-10.","title":"Importance"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Corrected memory type (one of the 9 canonical types).","title":"Type"}},"required":["memory_id"],"title":"solucortex_update_memoryArguments"}}],"scan":{"score":90,"grade":"A","scanned_at":"2026-09-20T00:26:56.843Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:26:56.817Z","components":{"code":{"score":25,"max":25,"notes":["9 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1169ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 12 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.solucortex.ai/mcp","reachable":true,"authRequired":false,"latencyMs":1169,"serverInfo":{"name":"solucortex","version":"1.30.0"}}],"packages":[{"registryType":"pypi","identifier":"solucortex-mcp","version":"1.1.2","found":true,"license":"MIT","dependencyCount":2,"publishedAt":"2026-09-07T17:03:48.231842Z","repositoryUrl":"https://github.com/soluai-spa/solucortex-mcp"}],"repo":{"found":true,"owner":"soluai-spa","repo":"solucortex-mcp","archived":false,"pushedAt":"2026-09-07T17:03:08Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/321471607?v=4","ownerCreatedAt":"2026-08-26T15:43:51Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-07T17:03:08.000Z","score":20}}}},"grade_history":[],"reviews":[]}