Tham khảo công cụ MCP
Cấu trúc tham số nghiêm ngặt và quy chuẩn phản hồi có phiên bản cho từng công cụ MCP của Signalint.
Tham số công cụ từ chối các thuộc tính không xác định. Mảng đường dẫn chấp nhận tối đa 512 chuỗi tương đối theo dự án; các đường dẫn tuyệt đối, thoát ra ngoài (escaping), chứa ký tự NUL và bắt đầu bằng dấu gạch ngang đều bị từ chối.
ping
Xác nhận rằng server stdio cục bộ đã hoàn tất thủ tục bắt tay (handshake) MCP.
| Tham số | Kết quả |
|---|---|
{} | pong |
check_project
Kiểm tra các đường dẫn tương đối dự án được cung cấp qua tất cả các engine đã cấu hình. Trường paths tùy chọn là một mảng chuỗi tối đa 512 mục và mặc định là ["."].
{
"paths": ["."]
}Trả về cấu trúc CheckResponse. Các lỗi tiến trình của engine tích hợp được giữ lại dưới trạng thái engines tương ứng để các chẩn đoán đã hoàn thành khác vẫn tồn tại.
check_files
Kiểm tra danh sách các file tương đối dự án (bắt buộc). Các engine kiểm tra theo từng file nhận các trường hợp cache miss; tsc chỉ được gọi với toàn bộ chương trình khi các snapshot liên quan tới TypeScript có sự thay đổi.
{
"files": ["src/index.ts", "src/config.ts"]
}Mảng files là bắt buộc và chấp nhận tối đa 512 chuỗi.
get_issue_detail
Mở rộng chi tiết của một issue hoặc cluster từ lần kiểm tra thành công mới nhất. Cung cấp chính xác một tham chiếu không rỗng:
// Chọn đúng một trong hai dạng sau
{ "clusterId": "c1" }
{ "issueId": "d7f6..." }Kết quả thành công là một mảng các đối tượng NormalizedIssue. Một tham chiếu cũ (stale) sẽ trả về:
{
"status": "stale",
"message": "Cluster/issue này không còn tồn tại; hãy chạy lại check_project."
}get_loop_status
Chấp nhận {} và báo cáo các chữ ký lỗi hiện đang được phân loại là lặp đi lặp lại (oscillating):
{
"looping": true,
"signatures": [{
"signature": "no-unused-vars:<identifier> is unused",
"occurrences": 3,
"hint": "Lỗi này đã được sửa và xuất hiện lại 3 lần — nên xem xét phương pháp khác"
}]
}CheckResponse · schema 1.1
{
"schemaVersion": "1.1",
"status": "issues_found",
"engines": {
"oxlint": { "status": "ok" },
"tsc": { "status": "ok" },
"biome": { "status": "disabled" }
},
"totalIssues": 10,
"clusters": [{
"clusterId": "c1",
"rootCauseSummary": "10 lỗi TS2322 trên 10 file",
"ruleIds": ["TS2322"],
"issueCount": 10,
"fileCount": 10,
"priority": 1,
"suggestedAction": "Xem xét nguyên nhân chung của TS2322 trên 10 file",
"sampleIssueIds": ["ts-01", "ts-02"]
}],
"truncated": false,
"loopWarning": null
}| Trường | Kiểu | Quy chuẩn |
|---|---|---|
schemaVersion | "1.1" | Phiên bản quy chuẩn phản hồi hiện tại. |
status | "clean" | "issues_found" | Cho biết liệu các issue đã chuẩn hóa có còn lại sau khi lọc hay không. |
engines | record | Bao gồm chính xác oxlint, tsc và biome; mỗi mục là ok, error hoặc disabled, kèm thông điệp tùy chọn. |
totalIssues | integer | Tổng số issue chuẩn hóa thô trước khi cắt giảm cluster. |
clusters | Cluster[] | Các cụm lỗi sắp xếp theo thứ tự ưu tiên tăng dần; ưu tiên 1 là cao nhất. Mặc định trả về 10 cụm. |
truncated | boolean | Bằng true khi số cụm tồn tại vượt quá giới hạn phản hồi. |
loopWarning | LoopWarning | null | Cảnh báo vòng lặp hiện tại, nếu có. |
Cluster
| Trường | Kiểu |
|---|---|
clusterId | string |
rootCauseSummary | string |
ruleIds | string[] |
issueCount | integer |
fileCount | integer |
priority | integer |
suggestedAction | string |
sampleIssueIds | string[] |
NormalizedIssue
{
"issueId": "d7f6...",
"file": "src/index.ts",
"line": 12,
"col": 7,
"engine": "tsc",
"rule": "TS2322",
"severity": "error",
"message": "Type 'string' is not assignable to type 'number'.",
"fixable": false,
"clusterId": "c1"
}engine là oxlint | tsc | biome; severity là error | warning; thông điệp được chuẩn hóa tối đa 120 ký tự. clusterId là tùy chọn ở ranh giới adapter và xuất hiện sau khi gom cụm. fixable bằng true chỉ khi engine cung cấp bản sửa lỗi có cấu trúc.
Các phản hồi ngoại lệ
Các quy chuẩn cấu trúc cấp thấp này áp dụng khi lỗi quá thời gian (timeout) hoặc vượt giới hạn đầu ra chạm tới MCP handler trực tiếp. Luồng fan-out tích hợp bình thường sẽ ghi cùng thông điệp trong mục status: "error" của engine đó.
Engine timeout
{
"status": "timeout",
"engine": "tsc",
"message": "tsc không hoàn thành trong vòng 120s"
}Engine vượt giới hạn đầu ra
{
"status": "error",
"code": "engine_output_exceeded",
"engine": "oxlint",
"message": "đầu ra của oxlint vượt quá giới hạn 10 MiB"
}