Ana içeriğe geç

Yapılandırma

Temel yapılandırma nesnesi, startAdminServer() tarafından kabul edilen ServerConfig nesnesidir. İlgili bağlam türleri araç yürütmesinde kullanılır.

ServerConfig​

Yalnızca port zorunludur.

AlanTürVarsayılanAçıklama
portnumber— (zorunlu)Dinlenecek TCP bağlantı noktası; 0–65535 arasında tam sayı.
hoststring"127.0.0.1"Dinlenecek arayüz; yanlışlıkla dış erişime açılmasını önlemek için varsayılan olarak geri döngü kullanılır.
apiKeystringundefinedAyarlandığında yönetim API’si ve HTTP aktarımının gerektirdiği ortak sır.
specPathstringundefinedBaşlangıçta bir kez yüklenen belirtim.
baseUrlOverridestringundefinedservers[0].url üzerinden alınan hedef hizmetin temel URL’sini geçersiz kılar.
upstreamHeadersRecord<string, string>undefinedHer hedef hizmet isteğine eklenen üst bilgiler.
requestTimeoutMsnumberundefinedHedef hizmet isteği başına milisaniye cinsinden zaman aşımı.
persistStatebooleantrueYüklenen belirtimi yeniden başlatmalar arasında korur.
stateFilePathstringundefinedKalıcı durum dosyasının konumu.
allowedOriginsstring[]undefinedİzin verilen CORS kaynakları; boş bırakmak veya belirtmemek kaynaklar arası erişimi devre dışı bırakır.
allowedHostsstring[]undefinedİzin verilen Host üst bilgisi değerleri.
maxLogEntriesnumber200Bellekte tutulan en fazla günlük kaydı sayısı.
redactSensitiveHeadersbooleantrueGünlüğe yazmadan önce hassas üst bilgi değerlerini maskeler.
redactHeaderNamesstring[]undefinedYerleşik listeye ek olarak maskelenecek üst bilgi adları.
securitySecurityContextundefinedHer araç çağrısında hedef API’ye iletilen kimlik bilgileri.

SecurityContext​

AlanTürGönderim biçimi
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>Tam üst bilgi adı ve değer çiftleri.

Kimlik bilgileri yürütücü tarafından eklenir ve modele sunulan araç argümanları olarak asla açığa çıkarılmaz.

ExecutionContext​

executeToolCall işlevine iletilen ve ContextProvider tarafından döndürülen çağrı başına bağlam:

AlanTürAçıklama
baseUrlOverridestringBu çağrı için belirtimdeki sunucu URL’sini geçersiz kılar.
upstreamHeadersRecord<string, string>Ek hedef hizmet üst bilgileri.
requestTimeoutMsnumberÇağrı başına zaman aşımı; en az 1 saniyedir.
securitySecurityContextÇağrı başına kimlik bilgileri.
correlationIdstringAynı çağrının günlük kayıtlarını ilişkilendirir.
protocolProtocolHintÇağrıyı başlatan aktarım yöntemi.
onLog(entry) => voidİstek/yanıt günlük kayıtlarını alır; istisna fırlatmamalıdır.
signalAbortSignalDevam eden hedef hizmet isteğini iptal eder.

Değişmez değer birleşimleri ve tür koruyucuları​

BirleşimDeğerlerKoruyucu işlev
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​

buildMcpServer() işlevine üçüncü argüman olarak iletilir:

AlanTürVarsayılanAçıklama
protocolProtocolHintundefinedDuyurulan protokol ipucu.
namestring"openapi-mcp"Duyurulan sunucu adı.
versionstring"1.1.0"Duyurulan sunucu sürümü.
pageSizenumber100Liste yanıtı başına en fazla kayıt sayısı; üst sınır 500’dür.
instructionsstringyerleşikMCP instructions üzerinden sunulan kullanım bilgisi.

Aktarım katmanı seçenekleri (AttachMcpRoutesOptions)​

attachMcpRoutes işlevini @powerduck/openapi-mcp-server paketinden içe aktarın ve seçenek nesnesini ikinci argüman olarak geçirin. Eski attachSseRoutes() sarmalayıcısı yalnızca (app, specProvider, contextProvider, routeGuard?) konumsal argümanlarını kabul eder.

AlanTürVarsayılanAçıklama
specProviderSpecProvider— (zorunlu)Yeni oturumlar için belgeyi sağlar.
contextProviderContextProvider— (zorunlu)Her çağrı için hedef hizmet bağlamını sağlar.
routeGuardRequestHandlerundefinedHer MCP rotasına uygulanan ara yazılım.
maxSessionsnumber64Eşzamanlı oturum üst sınırı.
sessionIdleMsnumber600000Milisaniye cinsinden boşta kalma zaman aşımı; 0 devre dışı bırakır.
allowedOriginsstring[]undefinedİzin verilen kaynaklar; boş olmayan liste DNS rebinding korumasını etkinleştirir.
allowedHostsstring[]undefinedİzin verilen Host üst bilgisi değerleri.
enableLegacySsebooleantrueKullanımdan kaldırılmış HTTP+SSE aktarımını bağlar.
onEvent(event: McpSessionEvent) => voidundefinedYaşam döngüsü olaylarını alır; istisna fırlatmamalıdır.

Bunlar attachMcpRoutes seçenekleridir; ek ServerConfig alanları değildir. Yönetim sunucusu kaynak ve host ayarlarını iletir, ancak aktarımın varsayılan oturum sınırını ve boşta kalma zaman aşımını kullanır. Bu sınırları özelleştirmek için genel aktarım işlevini doğrudan kullanın.

Ayrıca bakınız​