Skip to main content
Glama
VinayakTiwari1103

MCP-Smallest.ai

Bild

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

Ohne Titel-2025-03-21-0340(6)

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│                 │     │                 │     │                 │
│  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 Response

Sicherheitsarchitektur

┌─────────────────┐
│  Client Auth    │
└────────┬────────┘
         │
┌────────▼────────┐
│  MCP Validation │
└────────┬────────┘
         │
┌────────▼────────┐
│  API Auth       │
└────────┬────────┘
         │
┌────────▼────────┐
│  Smallest.ai    │
└─────────────────┘

Related MCP server: Rememberizer MCP Server

Ü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

  1. MCP-Server

    • Bearbeitet Clientanfragen

    • Verwaltet die API-Kommunikation

    • Bietet standardisierte Antworten

    • Implementiert die Fehlerbehandlung

  2. Wissensdatenbank-Tools

    • listKnowledgeBases : Listet alle Wissensdatenbanken auf

    • createKnowledgeBase : Erstellt neue Wissensdatenbanken

    • getKnowledgeBase : Ruft spezifische Wissensdatenbankdetails ab

  3. Dokumentationsressource

    • Verfügbar unter docs://smallest.ai

    • Bietet Nutzungsanweisungen und Beispiele

Voraussetzungen

  • Node.js 18+ oder Bun-Laufzeit

  • Smallest.ai API-Schlüssel

  • TypeScript-Kenntnisse

Installation

  1. Klonen Sie das Repository:

git clone https://github.com/yourusername/MCP-smallest.ai.git
cd MCP-smallest.ai
  1. Installieren Sie Abhängigkeiten:

bun install
  1. Erstellen Sie eine .env Datei im Stammverzeichnis:

SMALLEST_AI_API_KEY=your_api_key_here

Konfiguration

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.ts

Testen des Servers

bun run test-client.ts

Verfügbare Tools

  1. Wissensdatenbanken auflisten

await client.callTool({
  name: "listKnowledgeBases",
  arguments: {}
});
  1. Wissensdatenbank erstellen

await client.callTool({
  name: "createKnowledgeBase",
  arguments: {
    name: "My Knowledge Base",
    description: "Description of the knowledge base"
  }
});
  1. 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 file

Neue Tools hinzufügen

  1. Definieren Sie das Tool in index.ts :

server.tool(
  "toolName",
  {
    param1: z.string(),
    param2: z.number()
  },
  async (args) => {
    // Implementation
  }
);
  1. 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

  1. Forken Sie das Repository

  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )

  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )

  4. Pushen zum Zweig ( git push origin feature/amazing-feature )

  5. Öffnen einer Pull-Anfrage

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

Danksagung

Available Tools

3 tools
createKnowledgeBaseD
ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes
nameYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getKnowledgeBaseD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listKnowledgeBasesD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedcreateKnowledgeBase
    • First observedgetKnowledgeBase
    • First observedlistKnowledgeBases

TDQS

D1.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: create, get, and list operations on knowledge bases. There is no overlap in functionality, and the action verbs (create, get, list) are unambiguous and standard for CRUD operations.

Naming Consistency5/5

All tool names follow a consistent camelCase pattern with a verb-noun structure (createKnowledgeBase, getKnowledgeBase, listKnowledgeBases). The naming is predictable and uniform across all three tools.

Tool Count3/5

With only 3 tools, the set feels thin for a knowledge base management server, as it lacks update and delete operations. However, it covers basic create, retrieve, and list functions, which is minimal but functional for a small scope.

Completeness3/5

The tools provide create, get, and list operations, but there are notable gaps such as update and delete for knowledge bases. This limits full lifecycle management, though core retrieval and creation are covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
    25
    59 npm
    1
    ISC
  • A
    license
    A
    quality
    D
    maintenance
    A comprehensive Model Context Protocol server that integrates Elasticsearch search with file operations, document validation, and version control to transform AI assistants into powerful knowledge management systems.
    27
    93 PyPI
    27
    MIT