Chuyển tới nội dung chính

Cấu hình

Đối tượng cấu hình chính là ServerConfig, được startAdminServer() tiếp nhận. Các kiểu ngữ cảnh liên quan được dùng khi thực thi công cụ.

ServerConfig​

Chỉ port là bắt buộc.

TrườngKiểuMặc địnhMô tả
portnumber— (bắt buộc)Cổng TCP để lắng nghe, số nguyên từ 0 đến 65535.
hoststring"127.0.0.1"Giao diện mạng để lắng nghe; mặc định là loopback để tránh vô tình cho phép truy cập từ bên ngoài.
apiKeystringundefinedBí mật dùng chung mà API quản trị và truyền tải HTTP yêu cầu khi được thiết lập.
specPathstringundefinedĐặc tả được tải một lần khi khởi động.
baseUrlOverridestringundefinedGhi đè URL cơ sở của dịch vụ đích lấy từ servers[0].url.
upstreamHeadersRecord<string, string>undefinedCác tiêu đề được hợp nhất vào mọi yêu cầu tới dịch vụ đích.
requestTimeoutMsnumberundefinedThời gian chờ cho mỗi yêu cầu tới dịch vụ đích, tính bằng mili giây.
persistStatebooleantrueGiữ lại đặc tả đã tải qua các lần khởi động lại.
stateFilePathstringundefinedVị trí tệp lưu trạng thái lâu dài.
allowedOriginsstring[]undefinedNguồn CORS được phép; để trống hoặc bỏ qua sẽ tắt truy cập khác nguồn.
allowedHostsstring[]undefinedCác giá trị tiêu đề Host được phép.
maxLogEntriesnumber200Số mục nhật ký tối đa giữ trong bộ nhớ.
redactSensitiveHeadersbooleantrueChe giá trị tiêu đề nhạy cảm trước khi ghi nhật ký.
redactHeaderNamesstring[]undefinedTên tiêu đề bổ sung cần che ngoài danh sách tích hợp.
securitySecurityContextundefinedThông tin xác thực được chuyển tiếp tới API đích trong mỗi lần gọi công cụ.

SecurityContext​

TrườngKiểuĐược gửi dưới dạng
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>Các cặp tên tiêu đề và giá trị chính xác.

Thông tin xác thực được bộ thực thi chèn vào và không bao giờ được đưa vào đối số công cụ hiển thị cho mô hình.

ExecutionContext​

Ngữ cảnh của mỗi lần gọi được truyền tới executeToolCall và do ContextProvider trả về:

TrườngKiểuMô tả
baseUrlOverridestringGhi đè URL máy chủ trong đặc tả cho lần gọi này.
upstreamHeadersRecord<string, string>Tiêu đề bổ sung cho dịch vụ đích.
requestTimeoutMsnumberThời gian chờ mỗi lần gọi, tối thiểu 1 giây.
securitySecurityContextThông tin xác thực cho từng lần gọi.
correlationIdstringLiên kết các mục nhật ký của cùng một lần gọi.
protocolProtocolHintPhương thức truyền tải đã khởi tạo lần gọi.
onLog(entry) => voidNhận nhật ký yêu cầu/phản hồi; không được ném ngoại lệ.
signalAbortSignalHủy yêu cầu đang thực hiện tới dịch vụ đích.

Kiểu hợp giá trị hằng và hàm kiểm tra kiểu​

Kiểu hợpGiá trịHàm kiểm tra
TransportMode"stdio" | "web"—
SpecSource"startup-file" | "upload" | "paste" | "runtime"isSpecSource()
ServiceStatus"running" | "stopped" | "error"isServiceStatus()
ProtocolHint"streamable-http" | "sse" | "stdio"isProtocolHint()
LogDirection"request" | "response" | "internal"—
LogLevel"debug" | "info" | "warn" | "error"—
ParameterLocation"path" | "query" | "header" | "cookie"isParameterLocation()
BodyEncoding"json" | "form-urlencoded" | "multipart" | "text" | "binary"isBodyEncoding()

BuildMcpServerOptions​

Được truyền làm đối số thứ ba của buildMcpServer():

TrườngKiểuMặc địnhMô tả
protocolProtocolHintundefinedGợi ý giao thức được công bố.
namestring"openapi-mcp"Tên máy chủ được công bố.
versionstring"1.1.0"Phiên bản máy chủ được công bố.
pageSizenumber100Số mục tối đa trong mỗi phản hồi danh sách, giới hạn ở 500.
instructionsstringtích hợpHướng dẫn sử dụng được cung cấp qua MCP instructions.

Tùy chọn lớp truyền tải (AttachMcpRoutesOptions)​

Nhập attachMcpRoutes từ @powerduck/openapi-mcp-server và truyền đối tượng tùy chọn làm đối số thứ hai. Hàm bọc cũ attachSseRoutes() chỉ nhận đối số vị trí (app, specProvider, contextProvider, routeGuard?).

TrườngKiểuMặc địnhMô tả
specProviderSpecProvider— (bắt buộc)Cung cấp tài liệu cho phiên mới.
contextProviderContextProvider— (bắt buộc)Cung cấp ngữ cảnh dịch vụ đích cho mỗi lần gọi.
routeGuardRequestHandlerundefinedMiddleware áp dụng cho mọi tuyến MCP.
maxSessionsnumber64Giới hạn số phiên đồng thời.
sessionIdleMsnumber600000Thời gian chờ khi không hoạt động, tính bằng mili giây; 0 để tắt.
allowedOriginsstring[]undefinedNguồn được phép; danh sách không rỗng sẽ bật bảo vệ chống DNS rebinding.
allowedHostsstring[]undefinedCác giá trị tiêu đề Host được phép.
enableLegacySsebooleantrueGắn phương thức truyền tải HTTP+SSE đã lỗi thời.
onEvent(event: McpSessionEvent) => voidundefinedNhận sự kiện vòng đời; không được ném ngoại lệ.

Đây là tùy chọn của attachMcpRoutes, không phải trường bổ sung của ServerConfig. Máy chủ quản trị chuyển tiếp thiết lập nguồn và host, nhưng dùng giới hạn phiên và thời gian chờ không hoạt động mặc định của lớp truyền tải. Hãy dùng trực tiếp hàm truyền tải công khai nếu cần tùy chỉnh các giới hạn này.

Xem thêm​