MCP-smallest-ai

VinayakTiwari1103/MCP-smallest-ai

3.3

If you are the rightful owner of MCP-smallest-ai and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server implementation for Smallest.ai API integration.

image

MCP-Smallest.ai

A Model Context Protocol (MCP) server implementation for Smallest.ai API integration. This project provides a standardized interface for interacting with Smallest.ai's knowledge base management system.

Architecture

System Overview

Untitled-2025-03-21-0340(6)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚     β”‚                 β”‚     β”‚                 β”‚
β”‚  Client App     │◄─────   MCP Server    │◄─────  Smallest.ai    β”‚
β”‚                 β”‚     β”‚                 β”‚     β”‚    API          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Component Details

1. Client Application Layer
  • Implements MCP client protocol
  • Handles request formatting
  • Manages response parsing
  • Provides error handling
2. MCP Server Layer
  • Protocol Handler

    • Manages MCP protocol communication
    • Handles client connections
    • Routes requests to appropriate tools
  • Tool Implementation

    • Knowledge base management tools
    • Parameter validation
    • Response formatting
    • Error handling
  • API Integration

    • Smallest.ai API communication
    • Authentication management
    • Request/response handling
3. Smallest.ai API Layer
  • Knowledge base management
  • Data storage and retrieval
  • Authentication and authorization

Data Flow

1. Client Request
   └─► MCP Protocol Validation
       └─► Tool Parameter Validation
           └─► API Request Formation
               └─► Smallest.ai API Call
                   └─► Response Processing
                       └─► Client Response

Security Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Client Auth    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MCP Validation β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  API Auth       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Smallest.ai    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Overview

This project implements an MCP server that acts as a middleware between clients and the Smallest.ai API. It provides a standardized way to interact with Smallest.ai's knowledge base management features through the Model Context Protocol.

Architecture

[Client Application] <---> [MCP Server] <---> [Smallest.ai API]

Components

  1. MCP Server

    • Handles client requests
    • Manages API communication
    • Provides standardized responses
    • Implements error handling
  2. Knowledge Base Tools

    • listKnowledgeBases: Lists all knowledge bases
    • createKnowledgeBase: Creates new knowledge bases
    • getKnowledgeBase: Retrieves specific knowledge base details
  3. Documentation Resource

    • Available at docs://smallest.ai
    • Provides usage instructions and examples

Prerequisites

  • Node.js 18+ or Bun runtime
  • Smallest.ai API key
  • TypeScript knowledge

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/MCP-smallest.ai.git
cd MCP-smallest.ai
  1. Install dependencies:
bun install
  1. Create a .env file in the root directory:
SMALLEST_AI_API_KEY=your_api_key_here

Configuration

Create a config.ts file with your Smallest.ai API configuration:

export const config = {
    API_KEY: process.env.SMALLEST_AI_API_KEY,
    BASE_URL: 'https://atoms-api.smallest.ai/api/v1'
};

Usage

Starting the Server

bun run index.ts

Testing the Server

bun run test-client.ts

Available Tools

  1. List Knowledge Bases
await client.callTool({
  name: "listKnowledgeBases",
  arguments: {}
});
  1. Create Knowledge Base
await client.callTool({
  name: "createKnowledgeBase",
  arguments: {
    name: "My Knowledge Base",
    description: "Description of the knowledge base"
  }
});
  1. Get Knowledge Base
await client.callTool({
  name: "getKnowledgeBase",
  arguments: {
    id: "knowledge_base_id"
  }
});

Response Format

All responses follow this structure:

{
  content: [{
    type: "text",
    text: JSON.stringify(data, null, 2)
  }]
}

Error Handling

The server implements comprehensive error handling:

  • HTTP errors
  • API errors
  • Parameter validation errors
  • Type-safe error responses

Development

Project Structure

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

Adding New Tools

  1. Define the tool in index.ts:
server.tool(
  "toolName",
  {
    param1: z.string(),
    param2: z.number()
  },
  async (args) => {
    // Implementation
  }
);
  1. Update documentation in the resource:
server.resource(
  "documentation",
  "docs://smallest.ai",
  async (uri) => ({
    contents: [{
      uri: uri.href,
      text: `Updated documentation...`
    }]
  })
);

Security

  • API keys are stored in environment variables
  • All requests are authenticated
  • Parameter validation is implemented
  • Error messages are sanitized

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the file for details.

Acknowledgments

MseeP.ai Security Assessment Badge