Metadata-Version: 2.4
Name: soigia-mcp
Version: 0.1.1
Summary: MCP (Model Context Protocol) server & tools for Soi Gia
Author-email: Soi Gia <sojgja@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: ai,fastmcp,mcp,model-context-protocol,soigia,tools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: mcp<2,>=1.2
Requires-Dist: soigia>=1.0.0
Description-Content-Type: text/markdown

# 🛠️ soigia-mcp

[![PyPI - soigia-mcp](https://img.shields.io/pypi/v/soigia-mcp.svg?style=flat-square&logo=pypi&logoColor=white&label=soigia-mcp)](https://pypi.org/project/soigia-mcp/)

MCP (Model Context Protocol) server expose **120+ tools** của soigia SDK cho
mọi client hỗ trợ MCP. Bản này tập trung **bảo mật**: HTTP transport
(`sse` / `streamable-http`) giờ **bắt buộc token** (`--require-token` hoặc
env `SOIGIA_MCP_TOKEN`) — thiếu token server từ chối chạy ngay (fail-closed);
mọi request không hợp lệ trả 401 (so sánh constant-time chống timing attack).
Đồng thời HTTP transport **block toàn bộ tool mutates** (run-python,
filesystem, edit-file, execute-sql, process…) — client HTTP chỉ đọc, không
thay đổi gì trên máy. `stdio` giữ nguyên hành vi cũ (client tự spawn process
nên đã có quyền tương đương shell). Kèm fix: optional param gửi `null` từ MCP
client không còn làm tool vỡ `int(None)`.

## Các bản release

- **0.1.1** — 2026-08-09: Bảo mật HTTP — bắt buộc Bearer token cho
  `sse` / `streamable-http` (fail-closed, 401 + constant-time compare), block
  tool mutates khi chạy qua HTTP (chỉ đọc), fix optional param `null`.
- **0.1.0** — 2026-08-09: Release đầu tiên — expose 120+ tools của soigia qua
  MCP (manifest-driven discovery, lazy import), 3 transport
  (`stdio` / `sse` / `streamable-http`), CLI `soigia-mcp` + factory
  `create_app()`.

## 📄 License

[BSD-3-Clause](LICENSE)
