Server definition
- Hash
- sha256:30c1126d985a67b1b7ad2889f37675cf3b30053cfaac7a5daed16727dadf1c64
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "SoluCortex is the project's living technical memory: approved decisions, conventions,\nrisks, architecture and learnings, governed per project. Follow this workflow:\n\n1. START of a task: call `solucortex_recall` with a description of the task/module\n BEFORE touching code. Treat the returned memories as current project truth — they\n outrank older docs and your assumptions.\n2. DURING the task: call `solucortex_search` for specific questions (e.g. \"how is\n authentication implemented?\") instead of re-deriving answers.\n3. CLOSE of a task: evaluate whether something reusable was learned. If so, call\n `solucortex_remember` with the right `type`:\n - architecture (how the system is built), decision (choice + why),\n convention (rule to follow), risk (what can go wrong),\n bug_history (bug + root cause + fix), tech_debt (known shortcut),\n sensitive_module (handle with care + why), learning (reusable insight),\n external_integration (third-party service behavior/gotchas).\n Set `importance` 1-10 (8+ only for decisions/risks that shape future work).\n Depending on the project's governance, a memory may be stored as pending until a\n human approves it — that is expected, do not retry.\n\nCorrections and lifecycle (agents propose, humans govern):\n- To fix or improve an existing memory, call `solucortex_update_memory`. The edit is\n applied but the memory returns to PENDING: always tell the user they must review\n and approve the change in the SoluCortex panel (https://solucortex.ai).\n- If a memory looks outdated, wrong or duplicated, call `solucortex_flag_memory` with\n a clear reason (optionally suggesting archive/delete). A human decides in the panel.\n- Agents can never approve, reject or delete memories — deletion is human-only by design.\n\nRules: never store secrets (tokens, passwords, .env values) in a memory — record\nlocation/type/severity and the action taken instead. Do not log or echo API keys.\nOne memory per fact; for small corrections prefer `solucortex_update_memory` over\ncreating a near-duplicate.\n",
"tools": [
{
"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.",
"inputSchema": {
"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"
},
"name": "solucortex_flag_memory",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_flag_memoryDictOutput",
"type": "object"
}
},
{
"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.",
"inputSchema": {
"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"
},
"name": "solucortex_list_memories",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_list_memoriesDictOutput",
"type": "object"
}
},
{
"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).",
"inputSchema": {
"properties": {
"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"
},
"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"
}
},
"required": [
"query"
],
"title": "solucortex_recallArguments",
"type": "object"
},
"name": "solucortex_recall",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_recallDictOutput",
"type": "object"
}
},
{
"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.",
"inputSchema": {
"properties": {
"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"
},
"title": {
"description": "Short, clear title (~80 chars max).",
"maxLength": 120,
"title": "Title",
"type": "string"
},
"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"
}
},
"required": [
"type",
"title",
"content"
],
"title": "solucortex_rememberArguments",
"type": "object"
},
"name": "solucortex_remember",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_rememberDictOutput",
"type": "object"
}
},
{
"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).",
"inputSchema": {
"properties": {
"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"
},
"query": {
"description": "Question or topic to search across the project's memories.",
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "solucortex_searchArguments",
"type": "object"
},
"name": "solucortex_search",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_searchDictOutput",
"type": "object"
}
},
{
"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.",
"inputSchema": {
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Corrected full content.",
"title": "Content"
},
"importance": {
"anyOf": [
{
"maximum": 10,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Corrected priority 1-10.",
"title": "Importance"
},
"memory_id": {
"description": "UUID of the memory to correct.",
"title": "Memory Id",
"type": "string"
},
"title": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Corrected title.",
"title": "Title"
},
"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"
},
"name": "solucortex_update_memory",
"outputSchema": {
"additionalProperties": true,
"title": "solucortex_update_memoryDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:30c1126d985a67b1b7ad2889f37675cf3b30053cfaac7a5daed16727dadf1c64 | sha256sum