
MCP-Smallest.ai
Eine Model Context Protocol (MCP)-Serverimplementierung für die Smallest.ai API-Integration. Dieses Projekt bietet eine standardisierte Schnittstelle für die Interaktion mit dem Wissensdatenbank-Managementsystem von Smallest.ai.
Architektur
Systemübersicht
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Client App │◄────┤ MCP Server │◄────┤ Smallest.ai │
│ │ │ │ │ API │
└─────────────────┘ └─────────────────┘ └─────────────────┘Komponentendetails
1. Client-Anwendungsschicht
Implementiert das MCP-Clientprotokoll
Verarbeitet die Anforderungsformatierung
Verwaltet die Antwortanalyse
Bietet Fehlerbehandlung
2. MCP-Serverschicht
Protokollhandler
Verwaltet die MCP-Protokollkommunikation
Verwaltet Clientverbindungen
Leitet Anfragen an die entsprechenden Tools weiter
Tool-Implementierung
Tools zur Wissensdatenbankverwaltung
Parametervalidierung
Antwortformatierung
Fehlerbehandlung
API-Integration
Smallest.ai API-Kommunikation
Authentifizierungsverwaltung
Anfrage-/Antwortverarbeitung
3. Smallest.ai API-Schicht
Wissensdatenbankverwaltung
Datenspeicherung und -abruf
Authentifizierung und Autorisierung
Datenfluss
1. Client Request
└─► MCP Protocol Validation
└─► Tool Parameter Validation
└─► API Request Formation
└─► Smallest.ai API Call
└─► Response Processing
└─► Client ResponseSicherheitsarchitektur
┌─────────────────┐
│ Client Auth │
└────────┬────────┘
│
┌────────▼────────┐
│ MCP Validation │
└────────┬────────┘
│
┌────────▼────────┐
│ API Auth │
└────────┬────────┘
│
┌────────▼────────┐
│ Smallest.ai │
└─────────────────┘Related MCP server: MCP Boilerplate
Überblick
Dieses Projekt implementiert einen MCP-Server, der als Middleware zwischen Clients und der Smallest.ai-API fungiert. Es bietet eine standardisierte Möglichkeit zur Interaktion mit den Wissensdatenbank-Verwaltungsfunktionen von Smallest.ai über das Model Context Protocol.
Architektur
[Client Application] <---> [MCP Server] <---> [Smallest.ai API]Komponenten
MCP-Server
Bearbeitet Clientanfragen
Verwaltet die API-Kommunikation
Bietet standardisierte Antworten
Implementiert die Fehlerbehandlung
Wissensdatenbank-Tools
listKnowledgeBases: Listet alle Wissensdatenbanken aufcreateKnowledgeBase: Erstellt neue WissensdatenbankengetKnowledgeBase: Ruft spezifische Wissensdatenbankdetails ab
Dokumentationsressource
Verfügbar unter
docs://smallest.aiBietet Nutzungsanweisungen und Beispiele
Voraussetzungen
Node.js 18+ oder Bun-Laufzeit
Smallest.ai API-Schlüssel
TypeScript-Kenntnisse
Installation
Klonen Sie das Repository:
git clone https://github.com/yourusername/MCP-smallest.ai.git
cd MCP-smallest.aiInstallieren Sie Abhängigkeiten:
bun installErstellen Sie eine
.envDatei im Stammverzeichnis:
SMALLEST_AI_API_KEY=your_api_key_hereKonfiguration
Erstellen Sie eine config.ts Datei mit Ihrer Smallest.ai-API-Konfiguration:
export const config = {
API_KEY: process.env.SMALLEST_AI_API_KEY,
BASE_URL: 'https://atoms-api.smallest.ai/api/v1'
};Verwendung
Starten des Servers
bun run index.tsTesten des Servers
bun run test-client.tsVerfügbare Tools
Wissensdatenbanken auflisten
await client.callTool({
name: "listKnowledgeBases",
arguments: {}
});Wissensdatenbank erstellen
await client.callTool({
name: "createKnowledgeBase",
arguments: {
name: "My Knowledge Base",
description: "Description of the knowledge base"
}
});Wissensdatenbank abrufen
await client.callTool({
name: "getKnowledgeBase",
arguments: {
id: "knowledge_base_id"
}
});Antwortformat
Alle Antworten folgen dieser Struktur:
{
content: [{
type: "text",
text: JSON.stringify(data, null, 2)
}]
}Fehlerbehandlung
Der Server implementiert eine umfassende Fehlerbehandlung:
HTTP-Fehler
API-Fehler
Parametervalidierungsfehler
Typsichere Fehlerantworten
Entwicklung
Projektstruktur
MCP-smallest.ai/
├── index.ts # MCP server implementation
├── test-client.ts # Test client implementation
├── config.ts # Configuration file
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # This fileNeue Tools hinzufügen
Definieren Sie das Tool in
index.ts:
server.tool(
"toolName",
{
param1: z.string(),
param2: z.number()
},
async (args) => {
// Implementation
}
);Aktualisieren Sie die Dokumentation in der Ressource:
server.resource(
"documentation",
"docs://smallest.ai",
async (uri) => ({
contents: [{
uri: uri.href,
text: `Updated documentation...`
}]
})
);Sicherheit
API-Schlüssel werden in Umgebungsvariablen gespeichert
Alle Anfragen werden authentifiziert
Parametervalidierung ist implementiert
Fehlermeldungen werden bereinigt
Beitragen
Forken Sie das Repository
Erstellen Sie Ihren Feature-Zweig (
git checkout -b feature/amazing-feature)Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some amazing feature')Pushen zum Zweig (
git push origin feature/amazing-feature)Öffnen einer Pull-Anfrage
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .