Integrations
Integration with Amazon S3 for storing error records, providing cloud-based storage for the knowledge database through the S3Storage implementation
Supports Docker-based deployment using docker-compose for containerized production environments
Provides a REST API interface using FastAPI with endpoints for creating, retrieving, updating, and deleting error records
部族 - 知識サービス
Tribalは、エラーナレッジの追跡と取得のためのMCP(Model Context Protocol)サーバー実装です。Claude CodeやClineなどのツールとの統合のために、REST APIとネイティブMCPインターフェースの両方を提供します。
特徴
- 完全なコンテキストでエラーレコードを保存および取得します
- ChromaDB を使用したベクトル類似性検索
- REST API (FastAPI) とネイティブ MCP インターフェース
- APIキーを使用したJWT認証
- ローカルストレージ(ChromaDB)とAWS統合
- Docker-compose デプロイメント
- CLIクライアント統合
概要
Tribalは、Claudeがプログラミングエラーを記憶し、学習するのに役立ちます。Claude Codeセッションを開始すると、追加のインポートなしでTribalがMCPを通じて自動的に利用可能になります。
クロードは次のことを行います:
- ストアプログラミングエラーと解決策
- 問題が発生した場合に類似のエラーを検索する
- コーディングパターンに特化した知識ベースを構築する
UVを使用したTribalのパッケージ化とインストール
前提条件
- Python 3.12以上
- uv パッケージ マネージャー (推奨)
ビルドとインストールの手順
オプション1:UVによる直接設置
最も簡単な方法は、現在のディレクトリから直接インストールすることです。
オプション2: 開発インストール
変更をすぐに反映させたい開発作業の場合:
オプション3: 最初にパッケージをビルドする
配布可能なパッケージをビルドする場合:
オプション4: uv tool install
コマンドを使用する
ツールのインストール方法を使用することもできます。
検証
インストール後、ツールが正しくインストールされていることを確認します。
クロードとの統合
インストール後、Claude と統合できます。
使用法
利用可能なMCPツール
Tribal は次の MCP ツールを提供します。
add_error
- 新しいエラーレコードを作成する (POST /errors)get_error
- UUIDでエラーを取得する (GET /errors/{id})update_error
- 既存のエラーを変更する (PUT /errors/{id})delete_error
- エラーレコードを削除する (DELETE /errors/{id})search_errors
- 条件でエラーを検索する (GET /errors)find_similar
- 意味的類似性検索 (GET /errors/similar)get_token
- JWTトークンを取得する(POST /token)
クロードとの使用例
クロードがエラーに遭遇した場合:
クロードが解決策を見つけたとき:
クロードへのコマンド
クロードに次のことを依頼できます。
- 「部族の知識ベースで同様のエラーを探してください」
- 「このソリューションをエラーデータベースに保存します」
- 「このエラーが以前に発生したかどうかを確認してください」
サーバーの実行
部族の命令を使う
Pythonモジュールの使用
レガシーエントリポイントの使用
コマンドラインオプション
FastAPIサーバーはhttp://localhost:8000で利用可能で、APIドキュメントは/docsにあります。Claudeやその他のMCP対応LLM用のMCPサーバーはhttp://localhost:5000で利用可能になります。
環境変数
FastAPIサーバー
PERSIST_DIRECTORY
: ChromaDB ストレージパス (デフォルト: "./chroma_db")API_KEY
: 認証キー(デフォルト: "dev-api-key")SECRET_KEY
: JWT署名キー(デフォルト: "insecure-dev-key-change-in-production")REQUIRE_AUTH
: 認証要件(デフォルト: "false")PORT
: サーバーポート(デフォルト: 8000)
MCPサーバー
MCP_API_URL
: FastAPI サーバーの URL (デフォルト: " http://localhost:8000 ")MCP_PORT
: MCPサーバポート(デフォルト: 5000)MCP_HOST
: バインドするホスト(デフォルト: "0.0.0.0")API_KEY
: FastAPI アクセスキー (デフォルト: "dev-api-key")AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_S3_BUCKET
: AWS統合用
APIエンドポイント
POST /errors
: 新しいエラーレコードを作成するGET /errors/{error_id}
: IDでエラーを取得するPUT /errors/{error_id}
: エラーレコードを更新するDELETE /errors/{error_id}
: エラーを削除GET /errors
: 条件でエラーを検索するGET /errors/similar
: 類似のエラーを検索するPOST /token
: 認証トークンを取得する
クライアントの使用
仕組み
- TribalはChromaDBを使用してエラー記録と解決策を保存します
- クロードがエラーに遭遇すると、エラーの詳細をTribalに送信します。
- トライバルはエラーをベクトル化し、類似のエラーを検索します
- クロードは適切な解決策を提案します
- 新しいソリューションは将来の参照用に保存されます
発達
テストの実行
リンティングと型チェック
GitHubワークフロー
このプロジェクトでは、継続的インテグレーションとデプロイメントにGitHub Actionsを使用しています。このワークフローは、メインへのプッシュとプルリクエスト時に、テスト、リンティング、型チェックを自動的に実行します。
ワークフローの手順
- テスト: リンティング、型チェック、ユニットテストを実行します
- Python 3.12 を使用
- uvで依存関係をインストールします
- ruff、black、mypy、pytest を実行
- ビルドと公開: パッケージをビルドしてPyPIに公開します
- メインブランチへのプッシュ時にのみトリガーされます
- Pythonのビルドシステムを使用する
- twineを使用してPyPIに公開する
ローカルテスト
提供されているスクリプトを使用して、GitHub ワークフローをローカルでテストできます。
このスクリプトは、ローカル マシン上で GitHub ワークフロー ステップをシミュレートします。
- Pythonのバージョンをチェックします(3.12を推奨)
- uvを使用して依存関係をインストールします
- 毛羽立ちとひだのある走り
- 黒でフォーマットをチェック
- mypyで型チェックを実行する
- pytestでテストを実行する
- パッケージをビルドする
注: スクリプトは、ローカル テストの公開手順をスキップします。
プロジェクト構造
バージョン管理
Tribalはセマンティックバージョニングに準拠しています。詳細についてはVERSIONING.mdをご覧ください。
- バージョン番号 (MAJOR.MINOR.PATCH)
- データベース互換性のためのスキーマのバージョン管理
- ブランチの命名規則
- リリースとホットフィックスの手順
バージョンを確認するには以下を実行します:
依存関係の管理
展開
Docker デプロイメント
デスクトップ統合のクロード
オプション1: Claude for Desktopでサーバーを起動する
~/Library/Application Support/Claude/claude_desktop_config.json
開きます。- MCP サーバー構成を追加します (Tribal ツールがすでにインストールされていることを前提としています)。Copy
- デスクトップ版のClaudeを再起動する
オプション2: 実行中のDockerコンテナに接続する
- コンテナを起動します。Copy
- Claude をデスクトップ用に設定する:Copy
Claude Code CLI 統合
トラブルシューティング
- 部族のインストールを確認する:
which tribal
- 設定を確認してください:
claude mcp list
- テストサーバーのステータス:
tribal status
- Claudeの出力でエラーメッセージを探す
- データベースディレクトリが存在し、適切な権限があることを確認してください
クラウド展開
このプロジェクトには、AWS サービスのプレースホルダー実装が含まれています。
S3Storage
: Amazon S3にエラーレコードを保存するDynamoDBStorage
: データベースとして DynamoDB を使用する場合
ライセンス
You must be authenticated.
完全なコンテキストで類似のエラーを保存、取得、検索することで、Claude がプログラミング エラーを記憶して学習できるようにする MCP サーバー実装。
- Features
- Overview
- Packaging and Installing Tribal with uv
- Usage
- Development
- Versioning
- Deployment
- Troubleshooting
- Cloud Deployment
- License