
logisky/logisheets-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
дайте вашему агенту ИИ таблицу, в которой он действительно может мыслить: детерминированная Excel-совместимая математика + структурированная память (блоки), реальный .xlsx. Открытый исходный код, самоуправляемый.
Обзор
Совместимые с Excel формулы, которые он не должен делать в своей голове, таблица, к которой он обращается по имени, а не по координате, и подлинный .xlsx в конце, который человек может открывать, проверять и продолжать использовать. MCP-сервер над LogiSheets, движок электронных таблиц, написанный на Rust. MIT, работает на вашей машине, не открывает розетки. Попросите модель для пятилетней проекции, и она напишет двадцать формул, каждая с номером строки, отрегулированным вручную. Вот где живет молчаливая ошибка: один из них читает B7, где это означало B8, итог выглядит правдоподобным, и ничто не вызывает ошибку. Затем лист перемещается. Кто-то вставляет строку вверху, удаляет год, добавляет столбец. Каждая координата, которую держала модель, теперь отключена, и у нее нет возможности заметить, поэтому она тратит следующие очереди на перечитывание ячеек, чтобы выяснить, куда все пошло, а не на вопрос, который вы задали. И каждое «что, если» стоит круглой поездки — запишите вход, пересчитайте, прочитайте выход, положите его обратно.
Обзор (машинный перевод)
** Настоящий движок электронной таблицы, в котором ваш агент может мыслить.** Совместимые с Excel формулы
Это не обязательно делать в голове, таблица, к которой он обращается по имени, а не по имени.
Координация и подлинное .xlsx в конце, которое человек может открыть, проверить и проверить.
Продолжай использовать.
MCP сервер над LogiSheets, двигатель электронной таблицы в ржавчине. MIT, работает на вашей машине, не открывает розетки.
Проблемы с сеткой
Попросите модель для пятилетней проекции, и она напишет двадцать формул. Номер строки корректируется вручную. Вот где живет молчаливая ошибка: одна из Они читают [[Т1]], где это означало [[Т2]], в целом выглядит правдоподобно, и ничего. Вызывает ошибку.
Затем лист перемещается. Кто-то вставляет строку вверху, удаляет год, добавляет колонна. Каждая координата, которую держала модель, теперь выключена одной, и у нее нет способ замечать, поэтому он тратит следующие обороты перечитывая ячейки, чтобы выяснить, где Вместо того, чтобы отвечать на вопрос, который вы задали.
И каждое «что, если» стоит круглой поездки — напишите ввод, пересчитайте, прочитайте выход, положи обратно. Шестнадцать сценариев — шестнадцать из них, и сканирование, которое умирает. Полпути оставляют сценарий позади в вашей модели.
Блоки
block — таблица с именами на листе.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
logisheets-mcp
A real spreadsheet engine your agent can think in. Excel-compatible formulas
it doesn’t have to do in its head, a table it addresses by name instead of by
coordinate, and a genuine .xlsx at the end that a person can open, audit and
keep using.
An MCP server over LogiSheets, a spreadsheet engine written in Rust. MIT, runs on your machine, opens no sockets.
The trouble with a grid
Ask a model for a five-year projection and it writes twenty formulas, each with
the row number adjusted by hand. That is where the silent mistake lives: one of
them reads B7 where it meant B8, the total looks plausible, and nothing
raises an error.
Then the sheet moves. Someone inserts a row at the top, deletes a year, adds a column. Every coordinate the model was holding is now off by one and it has no way to notice, so it spends the next turns re-reading cells to work out where things went instead of on the question you asked.
And every “what if” costs a round trip — write the input, recalculate, read the output, put it back. Sixteen scenarios is sixteen of those, and a scan that dies half way leaves a scenario behind in your model.
Blocks
A block is a named table on the sheet. Rows have keys, columns have names, and everything is addressed by those rather than by position.
- A field’s formula is stated once, for the whole column — not per cell. Add a row and it computes. There is no twentieth formula to get wrong.
- A reference names what it means: the
pvfield of the row keyedY3. Insert a row above it and the reference still says the same thing, because it never said “row 8”. - The engine owns computed values. A formula field cannot be overwritten with a number the model worked out itself.
create_block proj fields: year, fcf, df, pv
set_field_rule proj.pv = fcf × df ← once, for the column
add_block_rows Y1 … Y5
describe_block proj
→ Y1 147.2727 Y2 144.5950 Y3 141.9660 Y4 139.3848 Y5 136.8506
… the sheet is then reshaped: two rows inserted at the top, a column at the left …
describe_block proj
→ Y3 141.9660 ← same answer, same address, nothing re-derived
Blocks are created by the agent as it works, so nothing needs preparing. Point it
at a blank workbook or at a spreadsheet someone emailed you — convert_to_block
adopts a table that is already in ordinary cells, reading the field names off the
header row and working out which column is the key.
The second session
The conversation that builds a spreadsheet is almost never the conversation that has to answer a question about it. A week later there is a new session, with none of the context, holding only the file — and what the file records is what
Установка
npx -y logisheets-mcpКонфигурация
{
"mcpServers": {
"logisheets": {
"command": "npx",
"args": ["-y", "logisheets-mcp"]
}
}
}