Skip to Content
KnowledgeSDKMCP-Server

MCP-Server

Der MCP-Server stellt die Suche als Tools fuer AI-Assistenten bereit (Model Context Protocol).

Verwendung

import { createMcpSearchServer } from '@processcube-io/knowledge-sdk/mcp/server'; const mcp = await createMcpSearchServer(store, { name: 'my-docs', version: '1.0.0', baseUrl: 'https://docs.example.com', collectionDescriptions: { docs: 'Hauptdokumentation', blog: 'Blog-Artikel und Tutorials', }, searchToolDescription: 'Durchsucht die Projekt-Dokumentation.', listCollectionsToolDescription: 'Listet alle verfuegbaren Collections auf.', });

Tools

search_docs

Durchsucht die Dokumentation.

ParameterTypBeschreibung
querystringSuchbegriff
collectionstring (optional)Collection-Filter
limitnumber (1-50)Max. Ergebnisse (Default: 10)

list_collections

Listet alle verfuegbaren Collections mit Dokumentanzahl und Beschreibung auf.

classify_ticket

Klassifiziert ein Ticket und ordnet es der passenden Collection, dem Sub-Thema und dem Quell-Repository zu. Wird nur aktiviert, wenn classifierConfig uebergeben wird.

ParameterTypBeschreibung
correlationIdstringStabiler Schluessel (z.B. “org/repo#123”)
titlestringTicket-Titel
bodystring (optional)Ticket-Beschreibung
tagsstring[] (optional)Tags/Markierungen
repostring (optional)Quell-Repository

classify_ticket_feedback

Gibt Feedback zu einer vorherigen Klassifikation. Verbessert zukuenftige Klassifikationen.

ParameterTypBeschreibung
correlationIdstringcorrelationId aus dem classify_ticket Request
correctCollectionstringDie korrekte Collection
correctSubThemestring (optional)Korrektes Sub-Thema
commentstring (optional)Begruendung der Korrektur

Siehe Ticket-Classifier Dokumentation fuer Details.

Integration

Im Standalone-Server

await startServer(store, { port: 3001, mcp: { name: 'my-docs', baseUrl: 'https://docs.example.com', collectionDescriptions: { docs: 'Dokumentation' }, }, }); // POST /api/mcp → MCP-Endpoint

In Next.js

// app/api/mcp/route.ts import { createMcpSearchServer } from '@processcube-io/knowledge-sdk/mcp/server'; import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js'; export async function POST(req: Request) { const mcp = await createMcpSearchServer(store, { name: 'my-docs' }); const transport = new WebStandardStreamableHTTPServerTransport({ sessionIdGenerator: undefined, enableJsonResponse: true, }); await mcp.connect(transport); try { return await transport.handleRequest(req); } finally { await transport.close(); await mcp.close(); } }

Konfiguration

OptionDefaultBeschreibung
name'knowledge-sdk'Server-Name im MCP-Protokoll
version'1.0.0'Server-Version
baseUrl''Basis-URL fuer absolute Links
collectionDescriptions{}Beschreibungen pro Collection
searchToolDescription(generisch)Beschreibung des search_docs Tools
listCollectionsToolDescription(generisch)Beschreibung des list_collections Tools
classifierConfigundefinedTicket-Classifier-Konfiguration (aktiviert classify_ticket Tools)
feedbackStoreundefinedFeedback-Store fuer Self-Improvement