Skip to main content
Glama

Tribal Knowledge Service

by agentience

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

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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
    Last updated -
    3
    4
    JavaScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    An MCP server that allows Claude and other LLMs to manage persistent memories across conversations through text file storage, enabling commands to add, search, delete and list memory entries.
    Last updated -
    2
    TypeScript
  • A
    security
    F
    license
    A
    quality
    Model Context Protocol (MCP) server that integrates Redash with AI assistants like Claude, allowing them to query data, manage visualizations, and interact with dashboards through natural language.
    Last updated -
    10
    104
    21
    JavaScript
    • Apple
  • -
    security
    F
    license
    -
    quality
    An MCP server that enables language models to access code intelligence features like completions, definitions, and references across multiple programming languages through the Language Server Protocol.
    Last updated -
    Python

View all related MCP servers

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