solucortex-mcp

Living technical memory for AI agents: recall approved project context, record what was learned.

我該用這個嗎

品質與安全性

A
說明品質
97%
結構描述完整度
91%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,726Token(工具定義)
~2.2 KB典型回應大小
中等的注意力影響(128k 上下文的 1.35%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "solucortex-mcp": {
      "command": "uvx",
      "args": [
        "solucortex-mcp"
      ]
    }
  }
}

可執行的套件

pypisolucortex-mcp1.1.2stdio

遠端端點

https://mcp.solucortex.ai/mcpstreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢solucortex_recall(query, project_id)

Build living context for a task (POST /context/build). Call this at the START of a task, before touching code: returns approved, active memories (decisions, conventions, risks, sensitive modules, architecture) ranked by semantic similarity + importance. Uses OpenAI embeddings (slower, 20 req/min).

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_recallDictOutput"
}
🟢solucortex_search(query, limit, project_id)

Ad-hoc semantic search of memories (POST /search/semantic). Use for specific questions during a task (e.g. 'how is authentication implemented?'), distinct from recall which builds the full startup context. Uses OpenAI embeddings (20 req/min).

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_searchDictOutput"
}
🟢solucortex_remember(type, title, content, importance, project_id)

Record a memory in SoluCortex (POST /memories). Call when closing a task or making a relevant technical decision. As an authorized agent (Bearer api_key), the memory is stored with status 'approved' and traced. Never store real secrets: if you find one, record location/type/severity and action taken, with a redacted reference.

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_rememberDictOutput"
}
🟡solucortex_update_memory(memory_id, content, title, importance, type)

Correct an existing memory (PATCH /memories/{id}). Agents propose, humans govern: the edit is applied but the memory returns to PENDING until a human re-approves it. ALWAYS tell the user the change awaits their approval in the SoluCortex panel. Status changes are not possible here.

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_update_memoryDictOutput"
}
⚪solucortex_flag_memory(memory_id, reason, suggested_action)

Flag a memory as outdated/incorrect (POST /memories/{id}/flag). The memory is marked for human review in the SoluCortex panel; nothing is deleted or unpublished. ALWAYS tell the user a memory awaits their decision in the panel. Deletion is human-only by design.

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_flag_memoryDictOutput"
}
🟢solucortex_list_memories(limit, project_id)

List the project's memories without semantic search (GET /memories). Useful for quick inspection/audit or to confirm a just-created memory was stored. Does not consume OpenAI quota.

輸入結構描述

{
  "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"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "solucortex_list_memoriesDictOutput"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具