
logisky/logisheets-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
aI 에이전트는 스프레드 시트를 실제로 생각할 수 있습니다. deterministic Excel 호환 수학 + 구조 메모리 (블록), 실제 .xlsx. 오픈 소스, 자체 호스팅.
개요
Excel 호환 수식은 머리에서 할 필요가 없으며, 테이블은 좌표 대신 이름에 의해 주소와 사람이 열 수 있음을 끝에 .xlsx를 열고 감사를 유지해야합니다. LogiSheets에 MCP 서버, Rust에서 작성된 스프레드 시트 엔진. MIT는, 당신의 기계에, 소켓을 엽니다. 5 년 투사 모델에 대해 물어보고 20 개의 공식을 작성하고 손으로 조절 한 행 번호로 각각 작성합니다. 그것이 침묵하는 실수가 살고있는 곳이다 : 그들 중 하나는 B8을 의미하는 B7을 읽고, 총은 가벼움을 보인다, 아무것도 오류를 제기. 그런 다음 시트가 이동합니다. 누군가 상단에 행을 삽입, 1 년 삭제, 열을 추가. 모든 좌표 모델이 붙은 것은 이제 하나에 의해 떨어져 있으며 통지 할 수있는 방법이 없습니다. 그래서 당신이 물었다 질문 대신 어떤 것들을 수행하기 위해 다음 차례 다시 읽기 세포를 소비합니다. 그리고 모든 "what if"는 라운드 여행을 비용 - 입력을 작성, recalculate, 출력을 읽고, 다시 넣어.
개요(AI 번역)
** 실제 스프레드 시트 엔진은 에이전트가 생각할 수 있습니다. ** Excel 호환 수식
그것은 머리에서 할 필요가 없습니다, 테이블 그것은 대신 이름에 의해 주소
좌표, 그리고 정품 .xlsx 끝에서 사람이 열 수, 감사 및
이용안내
MCP 서버 LogiSheets, 작성된 스프레드 시트 엔진 Rust에서. MIT는, 당신의 기계에, 소켓을 엽니다.
그리드의 문제
5 년 투상을위한 모델을 묻고 20 가지 공식을 작성합니다.
손으로 조정된 행 수. 그것은 침묵하는 실수가 살고있는 곳 : 하나
그들은 B7] 그것이 의미있는 B8, 총보기 가용, 아무것도
오류 발생.
그런 다음 시트가 이동합니다. 누군가 상단에 행을 삽입, 1 년 삭제, 추가 열. 모든 좌표 모델이 유지되었습니다. 이제 하나에 의해 꺼지고 없습니다. 눈에 띄는 방법, 그래서 그것은 다음 차례로 다시 읽기 세포를 사용 질문 대신에 갔다.
그리고 모든 "what if"는 라운드 여행을 비용 — 입력을 작성, recalculate, 읽기 산출은, 그것을 뒤로 뒀습니다. 여섯 개의 시나리오는 그 중 15 개이며, 다이 스캔 반 방법 당신의 모형에서 뒤에 시나리오를 나눕니다.
블록
**블록 **는 시트의 이름표입니다.
이 페이지는 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"]
}
}
}