Tugra について
Tugraは、主張の出典、経過時間、創作を禁じる範囲を記録する、AIエージェント向けのローカルな出典追跡型メモリーサーバーです。事実をファイルとして保存し、関連性、新しさ、確信度に基づいて検索結果を並べます。
主な機能
- 01主張と出典・検証情報を保存
- 02関連性、新しさ、確信度で検索
- 03識別子で事実を読み取り
- 04下書きを提案し境界情報を隔離
- 05テレメトリーをローカルに記録
活用シーン
- 01エージェントに出典を追跡できるローカル情報を提供
- 02退役済みや古い項目を除いて最新情報を検索
- 03エージェントが創作してはならない話題を指定
MCP 対応
ローカルのstdio MCPサーバーとして、`fact_search`、`fact_read`、`fact_propose`、`event_report`を提供します。単一ユーザー構成のほか、共有vaultでエージェントごとのプロファイルによるアクセス制御も可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y tugraTUGRA_KASAVault directory holding the markdown facts.TUGRA_AKISDirectory where audit events are appended.TUGRA_YETKIAuthorization store. When set, every agent needs a profile; unset means single-user mode.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| agent | string | いいえ | 認証 Agent ID(デフォルトは mcp-readonly@tugra) |
| limit | integer | いいえ | |
| query | string | はい | 検索テキスト |
| scope | string | いいえ | evrensel | kurum | dunya (stored scope values) |
| world | string | いいえ | scope が dunya の場合の world ID |
| archive | boolean | いいえ | 退役済みおよび破損したファクトを含めます。デフォルトは有効なファクトのみです |
詳細
tugra
VERAX Teknoloji による VERAX の一部です。VERAX の本体から始めてください:verax-ai/verax。関連プロジェクト:Conarium · Cedulon。
掲載先:npm · Glama · MCP Registry · MCP Market · LobeHub
npx tugra init
これにより、保管庫が作成され、サンプルの事実が書き込まれ、設定ブロックが表示されます。そのブロックを MCP クライアントに貼り付けてください。TTY では、npx tugra はヘルプを表示して終了します。パイプ経由(Claude Desktop、Cursor、Claude Code)では MCP サーバーとして動作します。
AI エージェントのための、出所を考慮したメモリです。すべての主張には出典、経過期間、境界が付随します。クラウドはありません。
概要
出所を示せない事実は、事実ではありません。Tugra は各主張をファイルとして保存し、そのフロントマターには出典、最終確認日、保存期間、そしてトピックが対象外の場合は創作を禁じる境界が記録されます。検索結果はトークンスコア、新しさ、信頼度の順にランク付けされます。廃止された事実や劣化した事実は、デフォルトの結果には含まれません。
ツール
| ツール | 機能 |
|---|---|
fact_search | 保管庫を検索します。archive: true を指定しない限り、廃止・劣化した事実は除外されます。 |
fact_read | uid で1件の事実を読み取ります。モデルに渡される前に本文はエスケープされます。 |
fact_propose | 下書きを書き込みます。書き込み前に秘密情報のパターンを検出し、該当する場合は拒否します。type: "boundary" は常に隔離されます。 |
event_report | ローカルのテレメトリー行を追加します。ネットワークは使用しません。 |
保存されるフィールド名は、保管庫のネイティブな形式(kaynak、guven、raf_omru、sinir)のままです。上記のツール名とパラメーター名が公開インターフェースです。
インストール — 環境変数のパス(任意)
開始するには tugra init だけで十分です。すでに別の場所に保管庫がある場合に限り、2つのパスを上書きしてください。指定しない場合、サーバーはインストール済みパッケージの隣を参照します。これは、init を実行していない状態で npx を直接使う場合には適切ではありません。
TUGRA_VAULT— 保管庫(Markdown 形式の事実)TUGRA_EVENTS— テレメトリディレクトリ
認可:認可ストアが設定されていない場合は、シングルユーザーモードが有効になり、プロファイルなしで検索と提案を利用できます。認可ストア(yetki/ ディレクトリ、または TUGRA_AUTH)が設定されている場合は、各エージェントに JSON プロファイルが必要です。プロファイルがないと検索は未認可として返されます。
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"tugra": {
"command": "npx",
"args": ["-y", "tugra"],
"env": {
"TUGRA_VAULT": "/absolute/path/to/vault",
"TUGRA_EVENTS": "/absolute/path/to/events"
}
}
}
}
Claude Code
プロジェクトルートの .mcp.json、または claude mcp add:
{
"mcpServers": {
"tugra": {
"command": "npx",
"args": ["-y", "tugra"],
"env": {
"TUGRA_VAULT": "/absolute/path/to/vault",
"TUGRA_EVENTS": "/absolute/path/to/events"
}
}
}
}
Cursor
.cursor/mcp.json、または Cursor Settings → MCP:
{
"mcpServers": {
"tugra": {
"command": "npx",
"args": ["-y", "tugra"],
"env": {
"TUGRA_VAULT": "/absolute/path/to/vault",
"TUGRA_EVENTS": "/absolute/path/to/events"
}
}
}
}
Windsurf
mcp_config.json:
{
"mcpServers": {
"tugra": {
"command": "npx",
"args": ["-y", "tugra"],
"env": {
"TUGRA_VAULT": "/absolute/path/to/vault",
"TUGRA_EVENTS": "/absolute/path/to/events"
}
}
}
}
Codex
~/.codex/config.toml:
[mcp_servers.tugra]
command = "npx"
args = ["-y", "tugra"]
[mcp_servers.tugra.env]
TUGRA_VAULT = "/absolute/path/to/vault"
TUGRA_EVENTS = "/absolute/path/to/events"
Windows:絶対パス(C:\\Users\\…\\vault)を使用してください。Node 20 以降が必要です。
その他のクライアントに関する注意事項:docs/install.md。
共有保管庫の認可(任意)
シングルユーザー構成では必要ありません。複数のエージェントで1つの保管庫を共有し、それぞれに独自のプロファイルが必要な場合にのみ TUGRA_AUTH を追加してください(mcp-readonly@tugra などの JSON ファイルをそのディレクトリに配置します)。プロファイルがない場合、未認可として返されます。空の TUGRA_AUTH は未設定として扱われ、シングルユーザーモードが有効なままになります。
ホストライブラリのインターフェース(MCP ワイヤーではありません)
MCP ツール(fact_search、fact_read、fact_propose、event_report)は、呼び出しのたびに認可を適用します。公開パッケージには、ホストアプリケーション(cron、ミラー、コックピット)が JSON-RPC を介さずにテレメトリーを書き込めるよう、dist-paket/akis.js と dist-paket/yetki.js も含まれています。
これらのモジュールは意図的に公開されています。akisBildir({ atlaYetki: true })、eylem: "yetki_talebi"、dosyaYoksaIzin(デフォルトは true)は、チェックを省略または緩和します。harcamaEkle はプロファイルを変更します。これらをインポートするホストが認可を担います。MCP ワイヤーではこれらのフラグを設定できません。ツールのスキーマが受け付けないためです。
スケール用ボルトとターゲットボルト
A0~A5 レベルは、ボルト内のファクト(yonetisim.yetki.a0 … a5)です。stdio サーバーは TUGRA_VAULT から、またはこの変数が設定されていない場合はコックピットの kasa/ から読み込みます。
tugraArac / createTugraMcp は、任意の kasaKok(書き込み/検索のターゲット)を受け取ります。スケールはこのターゲットには従いません。デフォルトでは varsayilanKasa() を使用します。これは stdio サーバーが使うのと同じ中央ボルトです。kasaKok をデータ専用のツリーに指定するホストも、コックピット/TUGRA_VAULT のスケールを引き続き使用します。別のツリーからスケールを読み込むには、明示的に skalaKasa を渡してください。
4 つのツールはすべて、同じリゾルバーを共有します。これが契約です。ターゲットと中央のガバナンスを分離しても、引き続きアクセスできます。YAYIN/12 では一時的にスケールのデフォルトを kasaKok に変更したため、ルートを分けたホストで問題が発生しました。YAYIN/13 で中央をデフォルトに戻しています。
保証しないこと
- クラウド同期はありません。 ボルトは指定したファイルです。何もアップロードされません。
- 自動マージはありません。 2 人の書き込み元、2 つのファイルです。調整はご自身で行ってください。
- このリリースでは削除できません。 廃止は可能ですが、消去は今後の対応です。
- 自動競合検出はありません。 人が判断するまで、矛盾するファクトが並存する場合があります。
- ホステッドサービスはありません。
npx tugraはローカルの stdio プロセスです。
このパッケージは SaaS として公開されていません。ここに料金表はありません。
要件
- Node.js 20 以降。これは技術上の最低要件ではなく、サポート上の判断です。このパッケージは CI で 20 と 22 をテストしており、18 でも動作します。ただし 18 はサポート終了を過ぎているため、サポート対象外です。
- ご自身が所有するボルトディレクトリ
トピックマップ(任意)
<vault>/_konu-haritasi.json — harita、alt_kirilim、stem における { "desen", "bayrak", "konu" } ルールです。ファイルがない場合、マップは空になります。不明なテキストは kurum.genel または dunya.<world>.genel にフォールバックします。無効なパターンや長すぎるパターンはスキップされ、ログに記録されます。このパッケージには会社の分類体系は含まれていません。
ライセンス
Apache-2.0。LICENSE と NOTICE を参照してください。
マーケティングページは ../site/ にあります(そこで npm run preview を実行してください)。このパッケージからはデプロイされません。
互換性:TUGRA_KASA、TUGRA_AKIS、TUGRA_YETKI(および旧名の TALAMUS_* / MULTI_*)は、英語名が設定されていない場合のフォールバックとして引き続き動作します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。