Stele

What is Stele?

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Recall: One-call semantic + full-text recall over the graph — a ranked bundle of the decisions, tasks, risks, and documents most relevant to a question or topic. The default way to load context before
  • Search: Find nodes or documents by the words they contain. Nothing here matches by meaning, so use `recall` for a natural-language question. method "keyword" (default): ranked full-text search over ac
  • Fetch: Fetch one node in full by its shareable id (TASK-N/KNOW-N/COMP-N/DOC-N/NODE-N), with its edges — this is how you read a full body (recall/search return summaries). Pass version to fetch a histo

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

What is Stele?

Stele is shared, persistent project memory for AI coding agents. It keeps one record of what your project decided, what it learned, what can go wrong, and what is being worked on. Claude Code, Cursor, Codex, GitHub Copilot, OpenCode and any other MCP client read it before they act and write back what they find, so a new session, a different tool, or a teammate starts where the last one stopped.

What agents can do with it

  • Recall before acting. Pull the decisions, lessons and risks that bear on the current task, so an agent does not repeat a mistake the project already made.
  • Record as they work. Save a decision, a lesson or a risk the moment it happens, linked to the component and task it belongs to.
  • Coordinate tasks. Create, claim and complete tasks. Claims are atomic, so two agents never pick up the same work.
  • Keep the record true. A newer decision supersedes an older one, facts can expire or retire when their task closes, and stale entries are flagged for review.
  • Trace why. Walk from a decision back to the task, document and risk behind it.

Connect

Add the server to any MCP client:

https://app.stele-ai.dev/api/mcp

Sign-in uses OAuth. The first time your client connects, it opens a browser to sign in or create a free account. Setup guides for each client: https://stele-ai.dev/docs/setup-mcp

Pricing

  • Free: unlimited public projects and one private project.
  • Pro: $12 a month, unlimited private projects.
  • Team: $20 per person a month.

Reads and searches are never metered.

Links

Как подключить

Как подключить Stele к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://stele--stele-ai.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить Stele к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://stele--stele-ai.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить Stele к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://stele--stele-ai.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (20)

Технические названия из tools/list. Нужны только разработчикам.

recallOne-call semantic + full-text recall over the graph — a ranked bundle of the decisions, tasks, risks, and documents most relevant to a question or topic. The default way to load context before acting; reach for `search` only for an exact-term or document-scoped lookup.
searchFind nodes or documents by the words they contain. Nothing here matches by meaning, so use `recall` for a natural-language question. method "keyword" (default): ranked full-text search over active nodes; terms are AND-combined, and a multi-word query that matches nothing is retried once as an OR of its words. It returns cards, not bodies (default limit 5). method "exact": the matching line per node for a literal substring, or a POSIX regex with regex:true, across every status including done and archived (default limit 50). scope "documents": a literal-substring line search of document bodies; it ignores method, type, and regex. Every hit carries id, title, and url; limit is at most 50, with no paging. Read a full body with `fetch`.
fetchFetch one node in full by its shareable id (TASK-N/KNOW-N/COMP-N/DOC-N/NODE-N), with its edges — this is how you read a full body (recall/search return summaries). Pass version to fetch a historical snapshot instead of the current one.
list_tasksList tasks, most-recently-updated first, filterable by status, component, assignee, and kind — the roadmap/board view of work. It returns task cards without bodies unless include_body is true; read one task in full with `fetch`. In clients that display apps, the result also renders as a task board for the user, so summarize it rather than repeating every task.
listList a collection: what = nodes | components | topics | documents | diagrams | objectives | workspaces | comments | node_versions | projects, with per-what filters. what:"projects" is the project-less bootstrap (discover your slugs). Most collections page with limit/offset; a few return everything up to limit with no further paging.
inspectInspect one thing in depth: action = context (a node's neighborhood bundle) | provenance (why a node exists / what it superseded) | briefing (a session briefing) | claim_history (a task's claim/release trail) | workspace (a workspace's detail) | stats (project totals) | loop (fail-closed local Git verification of a task's protected check paths) | rag_status (what automatic topic recall is currently focused on).
projectManage projects. action = create (bootstrap a new project and its root component, owned by you). This is the first thing to call when you have no project yet; discover existing ones with list what:"projects". New projects are private unless you pass visibility:"public"; plans allow a limited number of private projects and unlimited public ones.
taskTask lifecycle. action = create | claim | complete | release | reopen | force_release | loop_finalize. Claim before you start and complete when done — these route through the atomic claim path that records accountability; never flip a task's status by hand. loop_finalize keeps correctness, independent review, and intent/scope verdicts separate. Irreversible task actions (cancel, force-claim) live in the `destructive` tool.
knowledgeCapture or curate knowledge. action = create (file a typed fact — decision, lesson, risk, …) | review (mark a node re-verified against current reality). create files one fact under a component; it requires a lifecycle choice (expires_on_task, expires_at, due_at — pass null to skip each), and durable decisions and architecture usually skip all three. Merging duplicate knowledge lives in the `destructive` tool.
nodeEdit a node or its structure. action = update (edit fields/body) | move (re-file under a component or workspace) | link (add a typed edge between two nodes). Removing an edge (unlink) lives in the `destructive` tool.
objectiveShape the roadmap. action = create | add_milestone | attach (task → milestone) | move (task → objective) | detach | reorder | set_target | achieve. Retiring an objective lives in the `destructive` tool.
workspaceManage a workspace overlay. action = create | update. Hosted MCP is stateless, so checkout-local activate/deactivate actions are not exposed; promoting or archiving a workspace lives in the `destructive` tool.
commentDiscuss on a node. action = add | update | resolve (mark a thread settled) | delete (soft tombstone; replies are preserved). Replies are one level deep: reply to a top-level comment only. Read a node's comments with list(what="comments").
documentCreate long-form artifacts. action = create (a document — a plan, spec, or imported file) | create_diagram (a d2 diagram node). For create, pass the body inline or a repo-relative file_path for the server to read. Recall and search surface a document by title only; read its body with `fetch`.
timelineThe project's Timeline: automatic events captured on graph writes and task lifecycle actions, plus one-line custom entries. action = list (read it, newest first, keyset-paginated — not offset-based) | log (append a one-line custom entry). A logged entry is a short journal line, never reasoning or decisions — link the graph nodes that hold those instead. Logging can be turned off for a project; when it is, the call still succeeds but writes nothing.
organizeProject housekeeping. action = add_component (a durable area of ownership) | rename_topic | feedback (report how well Stele is helping). Automatic topic recall is a local feature and is not available over this connection; use recall(question) whenever you need context from the graph.
destructiveOperations that require extra caution or confirmation. dedupe_knowledge is a read-only candidate scan; the remaining actions are consequential. Action names carry their resource because this tool spans resources. action = cancel_task | force_claim_task | dedupe_knowledge | dedupe_pair | unlink | restore_node_version | retire_objective | merge_workspace | cherry_pick_workspace | archive_workspace | archive_component | merge_topics | run_loop_attempt | doctor. run_loop_attempt executes the exact declared shell command supplied in the approval arguments with a scrubbed environment when trusted local repository execution is available; hosted MCP fails closed.
open_steleOpen the Stele app for the user: browse their projects, open tasks, recent activity, and search. Use it when the user wants to see or browse their project, not to answer a question.
open_project_boardOpen the Stele project board beside this conversation, so the user can watch tasks while you work on them.
show_nodeShow one Stele node (a task, knowledge entry, or document) to the user as a card in the conversation: its title, status, body, links, and provenance. Use it when the user wants to see a node. To read a node yourself, use fetch.