MCP-Smallest.ai

MCP-Smallest.ai
Implementación de un servidor del Protocolo de Contexto de Modelo (MCP) para la integración de la API de Smallest.ai. Este proyecto proporciona una interfaz estandarizada para interactuar con el sistema de gestión de la base de conocimientos de Smallest.ai.
Arquitectura
Descripción general del sistema
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Client App │◄────┤ MCP Server │◄────┤ Smallest.ai │
│ │ │ │ │ API │
└─────────────────┘ └─────────────────┘ └─────────────────┘Detalles del componente
1. Capa de aplicación del cliente
Implementa el protocolo de cliente MCP
Maneja el formato de la solicitud
Gestiona el análisis de respuestas
Proporciona manejo de errores
2. Capa de servidor MCP
Manejador de protocolo
Gestiona la comunicación del protocolo MCP
Maneja las conexiones del cliente
Envía solicitudes a las herramientas adecuadas
Implementación de herramientas
Herramientas de gestión de bases de conocimientos
Validación de parámetros
Formato de respuesta
Manejo de errores
Integración de API
Comunicación API de Smallest.ai
Gestión de autenticación
Manejo de solicitudes/respuestas
3. Capa de API de Smallest.ai
Gestión de la base de conocimientos
Almacenamiento y recuperación de datos
Autenticación y autorización
Flujo de datos
1. Client Request
└─► MCP Protocol Validation
└─► Tool Parameter Validation
└─► API Request Formation
└─► Smallest.ai API Call
└─► Response Processing
└─► Client ResponseArquitectura de seguridad
┌─────────────────┐
│ Client Auth │
└────────┬────────┘
│
┌────────▼────────┐
│ MCP Validation │
└────────┬────────┘
│
┌────────▼────────┐
│ API Auth │
└────────┬────────┘
│
┌────────▼────────┐
│ Smallest.ai │
└─────────────────┘Related MCP server: Rememberizer MCP Server
Descripción general
Este proyecto implementa un servidor MCP que actúa como middleware entre los clientes y la API de Smallest.ai. Proporciona una forma estandarizada de interactuar con las funciones de gestión de la base de conocimiento de Smallest.ai mediante el Protocolo de Contexto de Modelo.
Arquitectura
[Client Application] <---> [MCP Server] <---> [Smallest.ai API]Componentes
Servidor MCP
Maneja las solicitudes de los clientes
Gestiona la comunicación API
Proporciona respuestas estandarizadas
Implementa el manejo de errores
Herramientas de la base de conocimientos
listKnowledgeBases: enumera todas las bases de conocimientocreateKnowledgeBase: Crea nuevas bases de conocimientogetKnowledgeBase: recupera detalles específicos de la base de conocimientos
Recurso de documentación
Disponible en
docs://smallest.aiProporciona instrucciones de uso y ejemplos.
Prerrequisitos
Node.js 18+ o entorno de ejecución de Bun
Clave API de Smallest.ai
Conocimiento de TypeScript
Instalación
Clonar el repositorio:
git clone https://github.com/yourusername/MCP-smallest.ai.git
cd MCP-smallest.aiInstalar dependencias:
bun installCree un archivo
.enven el directorio raíz:
SMALLEST_AI_API_KEY=your_api_key_hereConfiguración
Cree un archivo config.ts con la configuración de su API de Smallest.ai:
export const config = {
API_KEY: process.env.SMALLEST_AI_API_KEY,
BASE_URL: 'https://atoms-api.smallest.ai/api/v1'
};Uso
Iniciando el servidor
bun run index.tsProbando el servidor
bun run test-client.tsHerramientas disponibles
Lista de bases de conocimiento
await client.callTool({
name: "listKnowledgeBases",
arguments: {}
});Crear una base de conocimientos
await client.callTool({
name: "createKnowledgeBase",
arguments: {
name: "My Knowledge Base",
description: "Description of the knowledge base"
}
});Obtener base de conocimientos
await client.callTool({
name: "getKnowledgeBase",
arguments: {
id: "knowledge_base_id"
}
});Formato de respuesta
Todas las respuestas siguen esta estructura:
{
content: [{
type: "text",
text: JSON.stringify(data, null, 2)
}]
}Manejo de errores
El servidor implementa un manejo integral de errores:
Errores HTTP
Errores de API
Errores de validación de parámetros
Respuestas de error de tipo seguro
Desarrollo
Estructura del proyecto
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 fileAgregar nuevas herramientas
Define la herramienta en
index.ts:
server.tool(
"toolName",
{
param1: z.string(),
param2: z.number()
},
async (args) => {
// Implementation
}
);Actualizar la documentación en el recurso:
server.resource(
"documentation",
"docs://smallest.ai",
async (uri) => ({
contents: [{
uri: uri.href,
text: `Updated documentation...`
}]
})
);Seguridad
Las claves API se almacenan en variables de entorno
Todas las solicitudes están autenticadas
Se implementa la validación de parámetros
Los mensajes de error se desinfectan
Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Expresiones de gratitud
Available Tools
3 toolscreateKnowledgeBaseD
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | ||
| name | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.0- First observed
createKnowledgeBase - First observed
getKnowledgeBase - First observed
listKnowledgeBases
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
DocBase MCP server for AI agents
Related MCP Servers
- AlicenseBqualityDmaintenanceA 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.2559 npm1ISC
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.36Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server implementation that provides a standardized interface for applications to interact with OpenRouter's language models through a unified conversation management system.5 npm2MIT
- AlicenseAqualityDmaintenanceA 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.2793 PyPI27MIT