
logisky/logisheets-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
実際に考えることができるスプレッドシートをAIエージェントに与える: 決定的なExcel互換数学+構造化されたメモリ(ブロック)、実際の.xlsxアウト。 オープンソース、セルフホスト可能.
概要
Excel互換式は、その頭で行う必要はありません、座標ではなく名前でアドレスを格納するテーブル、そして、その人が開いたり、監査したり、使用し続けることができる最後に本物の.xlsxです。 Rust のスプレッドシートエンジンである LogiSheets の MCP サーバー。 MITは、あなたの機械で動く、ソケットを開けません。 5年間の投影のためのモデルを依頼し、手作業で調整された行番号で20式を書いています。 サイレントミスが命じるところです。B8を意味しているB7を読み、合計は盗みやすく見え、エラーが発生しません。 それからシートは動きます。 誰かが一番上に行を差し込み、1年削除し、列を追加します。 モデルは保持していたすべての座標が一つでオフになっていて、気づく方法がないため、質問の代わりに物事がどこに行ってきたかを調べるために、次の回転セルを費やします。 そして、すべての " if" は往復を要します。入力、再計算、出力を読み、それを戻します.
概要(AI 翻訳)
エージェントが考えることができる実際のスプレッドシートエンジン。 Excel対応式
頭の中で行う必要はありません。, 代わりに名前でアドレスするテーブル
相手が開いたり、監査したりできる最後に、本物.xlsxを調整し、
使い続ける。
MCP サーバーを上回る LogiSheets、書かれたスプレッドシートエンジン Rustで。 MITは、あなたの機械で動く、ソケットを開けません。
グリッドのトラブル
5年間の投影モデルを依頼し、それぞれ20式を書いています。
手で調整された行番号。 サイレントの間違いが命じるところです。
[B8]を意味する[[B7]]を読み込み、合計は盗みやすく見え、何も
エラーを上げます。
それからシートは動きます。 誰かが一番上に行を差し込み、1年削除し、 カラム。 模型が保持していたのは、ひとつひとつずつオフになっていて、 気づく方法、従ってそれはどこに働くために次の回転再読の細胞を消費します あなたが尋ねた質問の代わりに物事が行きました。
そして、すべての " if" は往復を要します。入力、再計算、読みます 出力、それを戻して下さい。 16 のシナリオは 16 のそれらの, 死ぬスキャン ハーフウェイはモデルの背後にあるシナリオを残します。
ブロック
A block は、シート上の名前付きテーブルです.
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
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"]
}
}
}