Skip to main content
Glama

Tribal - Servicio de Conocimiento

Tribal es una implementación de servidor MCP (Protocolo de Contexto de Modelo) para el seguimiento y la recuperación de conocimiento de errores. Ofrece API REST e interfaces MCP nativas para la integración con herramientas como Claude Code y Cline.

Características

  • Almacenar y recuperar registros de errores con contexto completo

  • Búsqueda de similitud de vectores usando ChromaDB

  • API REST (FastAPI) e interfaces MCP nativas

  • Autenticación JWT con claves API

  • Almacenamiento local (ChromaDB) e integración con AWS

  • Implementación de Docker-compose

  • Integración del cliente CLI

Related MCP server: MCP Claude Code

Descripción general

Tribal ayuda a Claude a recordar y aprender de los errores de programación. Al iniciar una sesión de Claude Code, Tribal está disponible automáticamente a través de MCP sin necesidad de importaciones adicionales.

Claude querrá:

  1. Errores de programación de la tienda y soluciones

  2. Busque errores similares cuando encuentre problemas

  3. Cree una base de conocimientos específica para sus patrones de codificación

Embalaje e instalación de Tribal con uv

Prerrequisitos

  • Python 3.12+

  • Gestor de paquetes uv (recomendado)

Pasos de construcción e instalación

Opción 1: Instalación directa con uv

El enfoque más simple es instalar directamente desde el directorio actual:

# From the project root directory cd /path/to/tribal # Install using uv uv pip install .

Opción 2: Instalación de desarrollo

Para trabajos de desarrollo donde desea que los cambios se reflejen inmediatamente:

# From the project root directory cd /path/to/tribal # Install in development mode uv pip install -e .

Opción 3: Construya el paquete primero

Si desea crear un paquete distribuible:

# Make sure you're in the project root directory cd /path/to/tribal # Install the build package if needed uv pip install build # Build the package python -m build # This creates distribution files in the dist/ directory # Now install the wheel file uv pip install dist/tribal-0.1.0-py3-none-any.whl

Opción 4: Usar el comando uv tool install

También puede utilizar el método de instalación de herramientas:

# Install as a global tool cd /path/to/tribal uv tool install . # Or install in development mode uv tool install -e .

Verificación

Después de la instalación, verifique que la herramienta esté correctamente instalada:

# Check the installation which tribal # Check the version tribal version

Integración con Claude

Después de la instalación, puedes integrarlo con Claude:

# Add Tribal to Claude Code claude mcp add tribal --launch "tribal" # Verify the configuration claude mcp list # For Docker container claude mcp add tribal http://localhost:5000

Uso

Herramientas MCP disponibles

Tribal proporciona estas herramientas MCP:

  1. add_error - Crea un nuevo registro de error (POST/errors)

  2. get_error - Recuperar error por UUID (GET /errors/{id})

  3. update_error - Modificar el error existente (PUT /errors/{id})

  4. delete_error - Eliminar registro de error (DELETE /errors/{id})

  5. search_errors - Buscar errores por criterios (GET /errors)

  6. find_similar - Búsqueda de similitud semántica (GET /errors/similar)

  7. get_token - Obtener el token JWT (POST /token)

Ejemplo de uso con Claude

Cuando Claude encuentra un error:

I'll track this error and look for similar problems in our knowledge base.

Cuando Claude encuentra una solución:

I've found a solution! I'll store this in our knowledge base for next time.

Órdenes para Claude

Puedes pedirle a Claude que:

  • Busque errores similares en nuestra base de conocimientos tribales.

  • "Guarde esta solución en nuestra base de datos de errores"

  • "Comprobar si hemos visto este error antes"

Ejecución del servidor

Usando el comando tribal

# Run the server tribal # Get help tribal help # Show version tribal version # Run with options tribal server --port 5000 --auto-port

Uso de módulos de Python

# Run the Tribal server python -m mcp_server_tribal.mcp_app # Run the FastAPI backend server python -m mcp_server_tribal.app

Uso de puntos de entrada heredados

# Legacy MCP server mcp-server # Legacy FastAPI server mcp-api

Opciones de la línea de comandos

# Development mode with auto-reload mcp-api --reload mcp-server --reload # Custom port mcp-api --port 8080 mcp-server --port 5000 # Auto port selection mcp-api --auto-port mcp-server --auto-port

El servidor FastAPI estará disponible en http://localhost:8000 con la documentación de la API en /docs. El servidor MCP estará disponible en http://localhost:5000 para Claude y otros LLM compatibles con MCP.

Variables de entorno

Servidor FastAPI

  • PERSIST_DIRECTORY : Ruta de almacenamiento de ChromaDB (predeterminado: "./chroma_db")

  • API_KEY : Clave de autenticación (predeterminada: "dev-api-key")

  • SECRET_KEY : Clave de firma JWT (valor predeterminado: "insecure-dev-key-change-in-production")

  • REQUIRE_AUTH : Requisito de autenticación (predeterminado: "falso")

  • PORT : Puerto del servidor (predeterminado: 8000)

Servidor MCP

  • MCP_API_URL : URL del servidor FastAPI (predeterminado: " http://localhost:8000 ")

  • MCP_PORT : puerto del servidor MCP (predeterminado: 5000)

  • MCP_HOST : Host al que vincular (predeterminado: "0.0.0.0")

  • API_KEY : Clave de acceso de FastAPI (predeterminada: "dev-api-key")

  • AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , AWS_S3_BUCKET : para la integración con AWS

Puntos finales de API

  • POST /errors : Crear nuevo registro de errores

  • GET /errors/{error_id} : Obtener el error por ID

  • PUT /errors/{error_id} : Actualizar registro de errores

  • DELETE /errors/{error_id} : Eliminar error

  • GET /errors : Buscar errores por criterios

  • GET /errors/similar : Encuentra errores similares

  • POST /token : Obtener el token de autenticación

Uso del cliente

# Add a new error record mcp-client --action add --error-type ImportError --language python --error-message "No module named 'requests'" --solution-description "Install requests" --solution-explanation "You need to install the requests package" # Get an error by ID mcp-client --action get --id <error-id> # Search for errors mcp-client --action search --error-type ImportError --language python # Find similar errors mcp-client --action similar --query "ModuleNotFoundError: No module named 'pandas'"

Cómo funciona

  1. Tribal utiliza ChromaDB para almacenar registros de errores y soluciones

  2. Cuando Claude encuentra un error, envía los detalles del error a Tribal.

  3. Tribal vectoriza el error y busca otros similares

  4. Claude recupera soluciones relevantes para sugerir

  5. Las nuevas soluciones se almacenan para futuras referencias.

Desarrollo

Ejecución de pruebas

pytest pytest tests/path_to_test.py::test_name # For specific tests

Comprobación de tipo y desbastado

ruff check . mypy . black .

Flujo de trabajo de GitHub

Este proyecto utiliza GitHub Actions para la integración y el despliegue continuos. El flujo de trabajo ejecuta automáticamente pruebas, análisis de errores y verificación de tipos en las solicitudes de inserción y extracción.

Pasos del flujo de trabajo

  1. Prueba : ejecuta pelusa, verificación de tipos y pruebas unitarias

    • Utiliza Python 3.12

    • Instala dependencias con uv

    • Ejecuta ruff, black, mypy y pytest

  2. Construir y publicar : construye y publica el paquete en PyPI

    • Se activa solo al enviar a la rama principal

    • Utiliza el sistema de compilación de Python

    • Publica en PyPI usando twine

Pruebas locales

Puede probar el flujo de trabajo de GitHub localmente utilizando el script proporcionado:

# Make the script executable chmod +x scripts/test-workflow.sh # Run the workflow locally ./scripts/test-workflow.sh

Este script simula los pasos del flujo de trabajo de GitHub en su máquina local:

  • Comprueba la versión de Python (se recomienda 3.12)

  • Instala dependencias usando uv

  • Se corre con pelusa

  • Comprueba el formato con negro

  • Ejecuta la verificación de tipos con mypy

  • Ejecuta pruebas con pytest

  • Construye el paquete

Nota: el script omite el paso de publicación para las pruebas locales.

Estructura del proyecto

tribal/ ├── src/ │ ├── mcp_server_tribal/ # Core package │ │ ├── api/ # FastAPI endpoints │ │ ├── cli/ # Command-line interface │ │ ├── models/ # Pydantic models │ │ ├── services/ # Service layer │ │ │ ├── aws/ # AWS integrations │ │ │ └── chroma_storage.py # ChromaDB implementation │ │ └── utils/ # Utility functions │ └── examples/ # Example usage code ├── tests/ # pytest test suite ├── docker-compose.yml # Docker production setup ├── pyproject.toml # Project configuration ├── VERSIONING.md # Versioning strategy documentation ├── CHANGELOG.md # Version history ├── .bumpversion.cfg # Version bumping configuration └── README.md # Project documentation

Control de versiones

Tribal sigue el control de versiones semántico . Consulte VERSIONING.md para obtener más información sobre:

  • Numeración de versiones (MAYOR.MINOR.PATCH)

  • Control de versiones del esquema para compatibilidad con bases de datos

  • Convenciones de nombres de ramas

  • Procedimientos de lanzamiento y revisión

Compruebe la versión con:

# Display version information tribal version

Gestión de dependencias

# Add a dependency uv pip add <package-name> # Add a development dependency uv pip add <package-name> # Update dependencies uv pip sync requirements.txt requirements-dev.txt

Despliegue

Implementación de Docker

# Build and start containers docker-compose up -d --build # View logs docker-compose logs -f # Stop containers docker-compose down # With custom environment variables API_PORT=8080 MCP_PORT=5000 REQUIRE_AUTH=true API_KEY=your-secret-key docker-start

Claude para integración de escritorio

Opción 1: Dejar que Claude for Desktop inicie el servidor

  1. Abra ~/Library/Application Support/Claude/claude_desktop_config.json

  2. Agregue la configuración del servidor MCP (supone que la herramienta Tribal ya está instalada):

    { "mcpServers": [ { "name": "tribal", "launchCommand": "tribal" } ] }
  3. Reiniciar Claude para escritorio

Opción 2: Conectarse al contenedor Docker en ejecución

  1. Iniciar el contenedor:

    cd /path/to/tribal docker-start
  2. Configurar Claude para escritorio:

    { "mcpServers": [ { "name": "tribal", "url": "http://localhost:5000" } ] }

Integración CLI de Claude Code

# For Docker container claude mcp add tribal http://localhost:5000 # For directly launched server claude mcp add tribal --launch "tribal" # Test the connection claude mcp list claude mcp test tribal

Solución de problemas

  1. Verificar la instalación tribal: which tribal

  2. Comprobar configuración: claude mcp list

  3. Estado del servidor de prueba: tribal status

  4. Busque mensajes de error en la salida de Claude

  5. Verifique que el directorio de la base de datos exista y tenga los permisos adecuados

Implementación en la nube

El proyecto incluye implementaciones de marcador de posición para los servicios de AWS:

  • S3Storage : para almacenar registros de errores en Amazon S3

  • DynamoDBStorage : para utilizar DynamoDB como base de datos

Licencia

Licencia MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/agentience/tribal_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server