{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jnyue9h2zynm","handle":"soigia-mcp","url":"https://wellknown.network/agents/soigia-mcp","links":{"self":"https://wellknown.network/agents/soigia-mcp/record.json","html":"https://wellknown.network/agents/soigia-mcp","markdown":"https://wellknown.network/agents/soigia-mcp/record.md","api":"https://wellknown.network/api/v1/agents/soigia-mcp","status":"https://wellknown.network/api/v1/agents/soigia-mcp/status","claim":"https://wellknown.network/agents/soigia-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/soigia-mcp/claim.json","badge":"https://wellknown.network/agents/soigia-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/soigia-mcp/history","tools":"https://wellknown.network/api/v1/agents/soigia-mcp/tools"},"ard":{"identifier":"urn:air::server:soigia-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"soigia-mcp","summary":"MCP (Model Context Protocol) server & tools for Soi Gia","description":"# 🛠️ soigia-mcp\n\n[![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/)\n\nMCP (Model Context Protocol) server expose **120+ tools** của soigia SDK cho\nmọi client hỗ trợ MCP. Bản này tập trung **bảo mật**: HTTP transport\n(`sse` / `streamable-http`) giờ **bắt buộc token** (`--require-token` hoặc\nenv `SOIGIA_MCP_TOKEN`) — thiếu token server từ chối chạy ngay (fail-closed);\nmọi request không hợp lệ trả 401 (so sánh constant-time chống timing attack).\nĐồng thời HTTP transport **block toàn bộ tool mutates** (run-python,\nfilesystem, edit-file, execute-sql, process…) — client HTTP chỉ đọc, không\nthay đổi gì trên máy. `stdio` giữ nguyên hành vi cũ (client tự spawn process\nnên đã có quyền tương đương shell). Kèm fix: optional param gửi `null` từ MCP\nclient không còn làm tool vỡ `int(None)`.\n\n## Các bản release\n\n- **0.1.1** — 2026-08-09: Bảo mật HTTP — bắt buộc Bearer token cho\n  `sse` / `streamable-http` (fail-closed, 401 + constant-time compare), block\n  tool mutates khi chạy qua HTTP (chỉ đọc), fix optional param `null`.\n- **0.1.0** — 2026-08-09: Release đầu tiên — expose 120+ tools của soigia qua\n  MCP (manifest-driven discovery, lazy import), 3 transport\n  (`stdio` / `sse` / `streamable-http`), CLI `soigia-mcp` + factory\n  `create_app()`.\n\n## 📄 License\n\n[BSD-3-Clause](LICENSE)","publisher":null,"homepage":null,"repository":null,"version":"0.1.1","license":null,"protocols":["mcp"],"tags":["ai","fastmcp","mcp","model-context-protocol","soigia","tools"],"pricing":null,"endpoints":[{"url":"pypi:soigia-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"dev.filesystem","name":"Filesystem","confidence":0.882,"provenance":"derived"}],"categories":["dev"],"language":"fr"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"soigia-mcp","registry":"pypi","observedAt":"2026-11-04T01:24:46.004Z","publishedAt":"2026-08-08T18:10:29.086874Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"soigia-mcp","url":"https://pypi.org/project/soigia-mcp/","firstSeenAt":"2026-09-10T12:22:50.250Z","fetchedAt":"2026-11-04T01:22:49.803Z","normalizedAt":"2026-11-04T01:22:49.803Z"}]},"firstSeenAt":"2026-09-10T12:22:50.250Z","updatedAt":"2026-11-04T01:24:46.004Z"}