SooTool

by jinho-von-choi

Not rated
GitHub

About

Precision Calc MCP: Decimal-only deterministic calculation server for LLM tool use

Details

Author
jinho-von-choi
Categories
Productivity, Other

Setup

Install SooTool in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/jinho-von-choi/SooTool

Follow the installation instructions in the repository README, then restart your MCP client.

도구 카탈로그 (254개 기본 + 10개 admin, 18 계산 도메인 + sootool 운영 도구)

전체 도구 사양은docs/user_guide.mdsootool.skill_guideMCP 호출로 조회한다.

세무 체인 파이프라인. 월급 3,000,000원을 연소득으로 환산한 뒤 2026년 한국 소득세를 계산한다.

{ "name": "core.pipeline", "arguments": { "steps": ](https://github.com/JinHo-von-Choi/SooTool/blob/HEAD/bench/results/2026-04-24-sota.md)[ {"id": "annual", "tool": "core.mul", "args": {"operands": ["3000000", "12"]}}, {"id": "tax", "tool": "tax.kr_income", "args": {"taxable_income": "${annual.result.result}", "year": 2026}} ] } }

재무 시나리오 비교 배치. 동일 현금흐름에 대해 할인율 3종 NPV를 동시 산출한다.

{ "name": "core.batch", "arguments": { "items": [ {"id": "s1", "tool": "finance.npv", "args": {"rate": "0.05", "cashflows": ["-100","30","40","50"], "rounding": "HALF_EVEN", "decimals": 2}}, {"id": "s2", "tool": "finance.npv", "args": {"rate": "0.08", "cashflows": ["-100","30","40","50"], "rounding": "HALF_EVEN", "decimals": 2}}, {"id": "s3", "tool": "finance.npv", "args": {"rate": "0.10", "cashflows": ["-100","30","40","50"], "rounding": "HALF_EVEN", "decimals": 2}} ] } }

공학 레이놀즈 수. 밀도·속도·특성길이·점성으로 층류/전이/난류 영역을 판정하고 trace에 공식을 남긴다.

{ "name": "engineering.fluid_reynolds", "arguments": {"density": "1000", "velocity": "2", "length": "0.05", "viscosity": "0.001"} }

통계 회귀 + 신뢰구간 배치. 단일 왕복으로 선형회귀 계수·p-value와 평균 95% 신뢰구간을 동시 반환한다.

{ "name": "core.batch", "arguments": { "items": [ {"id": "reg", "tool": "stats.regression_linear", "args": {"X": [[1],[2],[3],[4]], "y": [2.1, 4.0, 6.2, 8.1]}}, {"id": "ci", "tool": "stats.ci_mean", "args": {"data": [2.1, 4.0, 6.2, 8.1], "confidence": 0.95}} ] } }

LLM이 한 건씩 산출하면 재현성·신뢰성이 흔들린다. SooTool은 한 호출로 수백 행의 결정적 계산을 즉시 반환한다.

- core.batch— N개 독립 연산을 ThreadPoolExecutor로 병렬 실행. id 중복 거부, per-item 격리(ok|error|timeout|skipped), 최대 500 items, per-item 10s, batch 60s 제한. 결과는 입력 id 순으로 결정적 재정렬된다(ADR-011).
- core.pipelinegraphlib.TopologicalSorter기반 DAG 실행기.${step_id.result.field}참조 문법으로 단계 간 데이터 전달. max_steps=50, max_depth=10, step_timeout_s=2.0, pipeline_timeout_s=30.0(ADR-006).
- core.pipeline_resume— 실패한 스텝을 TTL 10분 in-memory 캐시로부터 부분 재실행.

모든 HTTP 계열 전송은 Bearer 인증,Accept-Language기반 로케일 감지(ko 기본), 전 도구_meta.hints자동 주입, CORS 화이트리스트를 공통 미들웨어로 적용한다(ADR-014).

- 테스트:make test(pytest 1097건, 97% 커버리지)
- 린트:make lint(ruff)
- 타입체크:make typecheck(mypy)
- 포맷:make format
- 전송 스모크:uv run python scripts/mcp_smoke_{stdio,http,sse,ws,unix}.py

새 도메인 도구 추가는src/sootool/modules/<domain>/<tool>.py@REGISTRY.tool(namespace, name, description, version)데코레이터로 구현하고 도메인__init__.py에서 import하면 런타임 자동 등록된다(ADR-004).

설계 결정과 근거는docs/architecture.mdADR-001~017에 기록되어 있다. 핵심 invariant:

- Decimal-only 경계 · 명시적 rounding · 감사 트레이스 · 모듈 stateless / batch-safe
- 자료형 이원화: 회계·세무·금융은 전 구간 Decimal, 통계·기하·확률은 내부 float64 + 경계 Decimal 직렬화(ADR-008)
- 정책 YAML 외부화 + SHA-256 무결성(ADR-009)
- trace_level none·summary·full + SOOTOOL_MAX_PAYLOAD_KB(기본 512KB) 초과 시 trace.steps tail 절단(ADR-010)
- KRWMoney는 Decimal 상속 대신 합성(ADR-013)
- 도메인별*_bulk도구 금지,core.batch일반해로 통일(ADR-006)

에이전트가 언제 어떤 도구를 호출해야 하는지 기술한 트리거 테이블·예시·플레이북은sootool.skill_guideMCP 도구를 호출하여 조회한다. 섹션은triggers | examples | anti_patterns | playbooks | all, 언어는ko | en.

A comprehensive Model Context Protocol (MCP) server for SeaTable that exposes end‑to‑end database capabilities (schema introspection, CRUD, querying, linking, select option management, and file attachment stubs) through 18+ rigorously defined tools.

Honeydew semantic layer provides a governed, business-friendly data model that unifies metrics, dimensions, and relationships across sources, enabling consistent self-service analytics and AI-powered data access

Manage personal finances, track transactions, and create budgets with Budgetsco.

A powerful server for Excel file processing, data analysis, and visualization, leveraging Python and Go for high performance.

Manipulate Excel files (XLSX, XLSM, etc.) without needing Microsoft Excel, featuring an integrated AI assistant.

Integrate with Google Sheets to read, write, and manage spreadsheet data.

Interact with Google Sheets using a Python-based MCP server and Google Apps Script.

Full Google Sheets integration - read, write, format cells, create charts, use formulas, and manage spreadsheets.

Perform advanced CSV analysis and generate insights using Google's Gemini AI. Requires Gemini and Plotly API keys.

Analyze and visualize data from .xlsx and .csv files using matplotlib and plotly.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.